Python Whiteprint, generate easily Python projects with (opinionated) best practices.
Documentation: https://python-whiteprint.readthedocs.io/en/latest/
Source Code: https://github.com/RomainBrault/python-whiteprint
Ensure that you have git and python3 installed.
Then install the required Python tools:
$ python3 -m pip install --user --upgrade pipx
$ pipx install poetry
$ pipx install nox
$ pipx inject nox nox-poetry rich
Eventually install Python Whiteprint:
$ pipx install python-whiteprint
Create a local project
$ whiteprint init <my_project>
Create a GitHub project
$ whiteprint init <my_project> --github-token <my_github_token>
Note that the GitHub token must have repository, workflows and packages permissions.
Yes.
This project build upon the excellents cookiecutter-hypermodern-python by @cjolowicz as well as python-blueprint by @johnthagen.
You might want to check these projects as they might be more suited to your needs.
The documentation of this project is heavily inspired from @cjolowicz's work. We also recommend readings @cjolowicz's guide on modern Python tooling.
Differences compared to cookiecutter-hypermodern-python
- Use copier instead of the cookiecutter project,
- tweaks in the generated project (non exhaustively: CLI with Typer instead of Click, dynamic type checking with beartype, auto-API documentation),
- manage licenses with Reuse,
- more Github Actions and Community Standards and Community Standards,
- Ruff instead of Flake8 to auto-fix a maximum of code smells,
- strict linting with pylint,
- OCI Container images,
- localization with Babel.