Cookiecutter template for a cutting-edge Python package: pdm, ruff, mypy, GitHub Actions and more!
- Lightweight starter
- PDM package management
- Linting and formatting with
ruff - Type checking with
mypy - Check unused, missing and transitive dependencies with
deptry - Unit tests with
pytestwith optional asyncio setup. - Automate and standardize testing with
tox - Documentation with Material for MkDocs and docstring reference support with mkdocstrings.
- Ready-to-use GitHub Actions pipelines
Generate the project:
cookiecutter https://github.com/Aviksaikat/cookiecutter-pdm-pypackageThe generator will automatically call pdm install 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.
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/Aviksaikat/cookiecutter-pdm-pypackageThis project is licensed under the terms of the MIT license.
