Development¶
Features¶
Fully typed with annotations
Checked with mypy
Packaging PEP561 compatible
Tools¶
Python Packages¶
pypi.org Python Package Index
pythonrepo.com Popular Python Libraries
Style and type annotations¶
Testing¶
pytest test framework
The Magic Tricks of Testing by Sandi Metz (Talk) on what to test, and what not
Continuous Testing & Integration (CT & CI)¶
Integration as in: Deployment and Integration testing.
-
pytest & coverage (yml) pytest @ python-version: [‘3.7’, ‘3.8’, ‘3.9’, ‘3.10’]
Alternatives to github actions
tox test and deploy, w/yaml (py version centric)
nox test and deploy, w/ python (more general)
travis test and deploy
coveralls.io coverage
Possible alternatives to make / Makefile?
Build and publish to pypi¶
make Makefile automate above
poetry version bump bump version
poetry build wheel
poetry publish to pypi
Following Semantic Versioning¶
-
semver Python Package
Development Environment¶
poetry python packaging and dependency management
cookiecutter creates projects from project templates
Version and Issue Management¶
IDE¶
If needed¶
jupyter for rapid prototyping only
Shell¶
Documentation¶
Markdown lightweight markup language
sphinx Python documentation Generator
doc8 opinionated style checker for rst
readthedocs document style and service
Metric¶
shields for Shields and Badges
issuehub.pro Label Guide
cloc for SLOC