A modern Python project template with batteries included.
- uv – Fast dependency manager and build system
- ruff – Linting and formatting in one tool
- pytest – Testing framework
- pre-commit – Git hooks for automatic code quality checks
- commitizen – Conventional commits and automated changelogs
- Python 3.13 or later
uv
Install uv with:
curl -Ls https://astral.sh/uv/install.sh | bashOr follow the official installation guide for your platform.
- Create a virtual environment and install development dependencies:
uv venv
source .venv/bin/activate
uv sync --group dev- Install the pre-commit hooks:
pre-commit install- Run checks to verify your environment is properly set up:
ruff check .
pre-commit run --all-files
pytestThe changelog is autogenerated based on commit messages.
To enable this, all commits must follow the Conventional Commits format.
To release a new version:
- Set up your project on PyPI and link it to your GitHub repository.
- Use the
releaseGitHub Action to trigger a version bump and publish the package.