Skip to content

RomainBrault/python-whiteprint

Repository files navigation

python whiteprint

Python Whiteprint, generate easily Python projects with (opinionated) best practices.

PyPI PyPI pypi pypi pypi pypi pypi pypi


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.