Generating Python projects using best practices
Project description
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
Installation
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
Example
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.
Yet another Python Project scaffold/cookiecutter/generator?
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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for python_whiteprint-0.10.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ff015319f071fa78c7df1a77e10a0b64cb3c0c947e73e3735abbe8ed913d2882 |
|
MD5 | 2d3f9d121fa31cc6814fea58d826ccc7 |
|
BLAKE2b-256 | db975816778678676dd615b13fbc334b0e71865c593585ba7d4e9d9fc32aa345 |