cookiecutter-hipster-pypackage
cookiecutter-hipster-pypackage copied to clipboard
Cookiecutter template for a cutting-edge Python package: Hatch, ruff, mypy, GitHub Actions and more!
Cookiecutter Hipster PyPackage
Cookiecutter template for a cutting-edge Python package: Hatch, ruff, mypy, GitHub Actions and more!
Features
- [X] Lightweight starter
- [X] Hatch package management
- [X] Linting and formatting with
ruff
- [X] Type checking with
mypy
- [X] Unit tests with
pytest
with optional asyncio setup. - [X] Documentation with Material for MkDocs and docstring reference support with mkdocstrings.
- [X] Ready-to-use GitHub Actions pipelines
Quickstart
Generate the project:
cookiecutter https://github.com/frankie567/cookiecutter-hipster-pypackage
The generator will automatically call hatch env create
at the end.
Then, for the GitHub Actions pipelines to work correctly, you should:
- Enable the GitHub repository in Codecov.
- Set
CODECOV_TOKEN
in your GitHub repository secrets. You can find in the Codecov settings of the corresponding project. - Enable GitHub Pages using the GitHub Actions source.
- Configure the Trusted Publisher method on PyPI: it's a modern and secure method to push your package to PyPI.
With cruft
cruft is a layer above Cookiecutter allowing you to update your project from the template after it has been generated.
cruft create https://github.com/frankie567/cookiecutter-hipster-pypackage
License
This project is licensed under the terms of the MIT license.