Skip to content
This repository has been archived by the owner on Mar 13, 2024. It is now read-only.

DiamondLightSource/python3-pip-skeleton-cli

Repository files navigation

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

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

See https://DiamondLightSource.github.io/python3-pip-skeleton-cli for more detailed documentation.