dls-python3-skeleton
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 |
|
Source code |
|
Documentation |
|
Releases |
https://github.com/dls-controls/dls-python3-skeleton/releases |
It integrates the following tools:
Pipenv for version management
Pre-commit with black, flake8, isort and mypy 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
If you use VSCode, it will run black, flake8, isort and mypy on save
The skeleton
branch of 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.
The master
branch contains the
docs and a command line tool to ease the adoption of this skeleton into new:
dls-python3-skeleton new /path/to/be/created
and existing projects:
dls-python3-skeleton existing /path/to/existing/repo
How the documentation is structured
Documentation is split into four categories, also accessible from links in the side-bar.
Tutorials
Tutorials for installation, library and commandline usage. New users start here.
How-to Guides
Practical step-by-step guides for the more experienced user.
Explanations
Explanation of how the library works and why it works that way.
Reference
Practical step-by-step guides for the more experienced user.