| Details | |
| Features |
- Lightweight starter
-
Hatchpackage management -
uvpackage lock, install and resolving - Linting and formatting with
ruff - Type checking with
mypy - Unit tests with
pytestwith optional asyncio setup. - Automate and standardize testing with Hatch-env-matrices
- Documentation with Material for MkDocs and docstring reference support with mkdocstrings.
- Ready-to-use GitHub Actions pipelines with
dependabot,release-drafter,labeler,publish to PYPI workflows,publish to test PYPI workflows& more. - hatch-pip-compile: experimental support for lock-files,
- pyproject.toml: all package, build and tool configuration in one file,
- coverage: tool for measuring code coverage of Python programs with pytest integration,
- pre-commit: pre-commit git hooks that make your life easier,
- Markdown: instead of reStructuredText, Markdown is used consistently for all text files,
- src-layout: the actual Python package is kept under a
srcfolder avoiding many common errors.
Generate the project:
cookiecutter https://github.com/KingMichaelPark/cookiecutter-pypackageThe generator will automatically call hatch env create & git init at the end.
Then, for the GitHub Actions pipelines to work correctly, you should:
- Enable the GitHub repository in
Codecov. - Set
CODECOV_TOKENin your GitHub repository secrets. You can find in the Codecov settings of the corresponding project. - Enable
GitHub Pagesusing theGitHub Actionssource. - Option to publish to Test
PyPIfor testing. - Configure the Trusted Publisher method on PyPI: it's a modern and secure method to push your package to PyPI.
This project is licensed under the terms of the MIT license.