Introducing bulletproof-python
I owe a debt of gratitude to Claudio Jolowicz for introducing me to modern python tooling. His Hypermodern Python template and associated blog series are a great resource.
The Hypermodern system is built around nox and poetry.
- nox is similar in spirit to tox but uses python scripts instead of configuration files.
- It’s very powerful, but since I’m not particularly clever, I find the hypermodern stack difficult to understand.
I decided to throw together a simple template that uses tox and pip-tools. The template uses:
- pytest and coverage.py for testing,
- black for formatting, and
- ruff for linting.
It strives to be clean, simple and hard to break, albeit incomplete and likely suitable only for small libraries without broad distribution.
🌱 The template is available here: bulletproof-python.
Note: The original version of this post incorrectly stated that
Poetry does not play nice with pip-installs from git source. This
is not the case; I simply had my pyproject.toml
file
incorrectly configured to use setuptools instead of poetry-core as
the build backend.