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-scaffolding
orpy_scaffolding
references 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
make
command. - Docker. For macOS users, colima is strongly suggested.
- uv.
Then, to set everything up on macOS:
brew install uv
make install
make
Version bump and changelog update:
make bump-patch
make bump-minor
make bump-major
For full details see commitizen.
The main command that runs the most common checks (lint, test):
make dev
When ready, just run make
to validate everything.
Then, to execute the main entry point with the local Python environment:
make run-locally
or, to execute the main entry point from Docker using the production image:
make run
or, to open a shell in the testing Docker image:
make run-shell-testing
To keep the packages updated, run make upgrade
.
make help