Packaging in python is a complex topic. In this talk I will be doing an opinionated live demo of developing a pure python package. We will most likely not be able cover everything so I will defer to the audience for what they would like covered. I will also discuss the future of packaging that I heard from the PyPi developers at pycon.
A git repository [1] is provided with all the steps along with documentation [2].
Python packages used:
- twine (pypi package deployment)
- conda (anaconda package deployment)
- pytest, pytest-cov (testing and coverage)
- sphinx, sphinx_rtd_theme (for documentation)
- argparse (for cli)
Non-python tools used:
- gitlab (repository, continuous integration, continuous deployment, and job pipeline)
- readthedocs.org (for hosting documentation)
- docker hub (for hosting docker images)
- sheilds.io (for project badges)
- pypi.org (for pypi repository)
- anaconda.org (for python conda package repository)
[1] https://gitlab.com/costrouc/python-package-template
[2] https://costrouc-python-package-template.readthedocs.io/en/latest/