Skip to content

Instantly share code, notes, and snippets.

@costrouc
Last active May 17, 2018 15:41
Show Gist options
  • Save costrouc/bf9e10bff2f902a9501eda8cb530e52e to your computer and use it in GitHub Desktop.
Save costrouc/bf9e10bff2f902a9501eda8cb530e52e to your computer and use it in GitHub Desktop.
Creating your First Python Package with Testing, Documentation, and Continuous Integration

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/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment