python3-pip-skeleton-cli#

Code CI Docs CI Test Coverage Latest PyPI version Apache License

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

DiamondLightSource/python3-pip-skeleton-cli

Documentation

https://DiamondLightSource.github.io/python3-pip-skeleton-cli

Releases

DiamondLightSource/python3-pip-skeleton-cli

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

Quick start#

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

How the documentation is structured#

The documentation is split into 2 sections:

The User Guide contains documentation on how to install and use python3-pip-skeleton-cli.

The Developer Guide contains documentation on how to develop and contribute changes back to python3-pip-skeleton-cli.