A tool for creating skeleton python project, built with popular develop tools and conform to best practice.
This tool will create Python project with the following features:
- Poetry: Manage version, dependancy, build and release
- Mkdocs: Writting your docs in markdown style
- Testing with Pytest (unittest is still supported out of the box)
- Code coverage report and endorsed by Codecov
- Tox: Test your code against environment matrix, lint and artifact check.
- Format with Black and Isort
- Lint code with Flake8 and Flake8-docstrings
- Pre-commit hooks: Formatting/linting anytime when commit/run local tox/CI
- Mkdocstrings: Auto API doc generation
- Command line interface using Python Fire (optional)
- Continuouse Integration/Deployment by github actions, includes:
- publish dev build/official release to TestPyPI/PyPI automatically when CI success
- publish documents automatically when CI success
- extract change log from github and integrate with release notes automatically
- Host your documentation from Git Pages with zero-config
Install ppw if you haven't install it yet:
pip install -U ppw
Generate a Python package project by simple run:
ppw
Then follow Tutorial to finish other configurations.
This repo is forked from audreyr/cookiecutter-pypackage, and borrowed some ideas from briggySmalls