My custom Python project scaffolding repository: https://github.com/lordgordon/py-scaffolding.
Docker images published at https://hub.docker.com/repository/docker/lordgordon/py-scaffolding.
👉 Note: to release the project as a Python library, you need to run uv build and add the proper ci/cd
to publish the library.
After creating a new GitHub repository from this template:
- Create a new branch to scaffold the project.
- Find and replace all
py-scaffoldingorpy_scaffoldingreferences with the new repository name. - Review and update:
pyproject.toml. In particular items in the[project]section. Update your license.src/<your_project>/__init__.py. Align description and license with the project's TOML.CODEOWNERS.CONTRIBUTING.md.LICENSE.README.md.RELEASE.md.
- In
pyproject.toml/[tool.commitizen]andMakefile/bump-patch/minor/major, review the configuration and commands for commitizen to align them with your requirements. - Review and modify ci/cd accordingly. You may need to remove unnecessary steps.
- Run the steps described in the "Requirements and setup" section.
- brew.
- Linux/UNIX compatible system with
makecommand. - Docker. For macOS users, colima is strongly suggested.
- uv.
Then, to set everything up on macOS:
brew install uv
make install
makeVersion bump and changelog update:
make bump-patchmake bump-minormake bump-major
For full details see commitizen.
The main command that runs the most common checks (lint, test):
make devWhen ready, just run make to validate everything.
Then, to execute the main entry point with the local Python environment:
make run-locallyor, to execute the main entry point from Docker using the production image:
make runor, to open a shell in the testing Docker image:
make run-shell-testingTo keep the packages updated, run make upgrade.
make help