Skip to main content

The CLI for adopting the python3-pip-skeleton framework

Project description

Code CI Docs CI Test Coverage Latest PyPI version Apache License

This skeleton module (inspired by jaraco/skeleton) is a generic Python project structure which provides a means to keep tools and techniques in sync between multiple Python projects.

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

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

The the related skeleton repo for this module 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.

This python3-pip-skeleton-cli repo contains the docs and a command line tool to ease the adoption of this skeleton into a new project like this:

python3-pip-skeleton new /path/to/be/created --org my_github_user_or_org

and 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.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page