This is a CookieCutter template directory for Fedora Infrastructure Python apps.
Use it with:
cookiecutter gh:fedora-infra/cookiecutter-python-app
It will ask you for the application name and some other variables, and will create the package structure for you.
Here are the libraries and services that are integrated:
- Dependency management with Poetry
- OpenShift support with S2I
- Formatting with Black
- Various checks like ruff, liccheck, rstcheck, and reuse
- Unit tests with Pytest, Coverage & Tox
- Documentation with Sphinx
- Changelog generation with Towncrier
- CI with Github Actions
- Renovate
- Pre-Commit
- Publication to PyPI with PyPI Trusted Publishing
- Creation of Github Releases with Github Actions
- Optionaly, CLI with Click
- Optionaly, database support with SQLAlchemy & Alembic
- Optionaly, Flask security with Flask-Talisman
You need to have these tools installed:
- CookieCutter >= 2.2.0
- Git
- Poetry >= 1.2
- Pre-Commit
There are some checks to make sure the templated app pass its own unit tests. You can run those checks with:
pytest -s tests