python3-pip-skeleton-cli
provides the documentation
and a command line tool to enable the adoption of python3-pip-skeleton
into a new or existing Python project.
PyPI | pip install python3-pip-skeleton |
Source code | https://github.com/DiamondLightSource/python3-pip-skeleton-cli |
Documentation | https://DiamondLightSource.github.io/python3-pip-skeleton-cli |
Releases | https://github.com/DiamondLightSource/python3-pip-skeleton-cli/releases |
The related python3-pip-skeleton repository contains the source code that can be merged into new or existing projects, and pulled from to keep them up to date. It can also serve as a working example for those who would prefer to cherry-pick.
python3-pip-skeleton is inspired by jaraco/skeleton. It provides a generic Python project structure and allows developers to keep tools and techniques in sync between multiple Python projects. It integrates the following tools:
- pip and setuptools_scm for version management
- Pre-commit with black, flake8 and isort for static analysis
- Pytest for code and coverage
- Sphinx for tutorials, how-to guides, explanations and reference documentation
- GitHub Actions for code and docs CI and deployment to PyPI and GitHub Pages
- tox -p: runs pre-commit, pytest, mypy and make docs - which verifies all the things that CI does
- If you use VSCode, it will run black, flake8, isort and mypy on save
To create a new project based on skeleton:
python3-pip-skeleton new /path/to/be/created --org my_github_user_or_org
or to adopt skeleton into existing projects:
python3-pip-skeleton existing /path/to/existing/repo --org my_github_user_or_org
See https://DiamondLightSource.github.io/python3-pip-skeleton-cli for more detailed documentation.