Python packages

A lot of our code is published as Python packages on PyPI.


Make changes to the repository that contains the Python package using the normal GitHub flow.

Bump the version in the repository. You might have to look in:

  • package/
  • docs/


Use git flow release to publish a new release to GitHub. This will create a new tag which will cause Travis to build.

The .travis.yml file will deploy the package to PyPI as the user.

For many package repositories, there’s another repo prefixed with docker-. For example, junebug and docker-junebug. will make an automatic pull request to the docker- repo to increment the requirements.txt file.

When that pull request is merged, Travis will build a container image and deploy it to Docker Hub as the praekeltorgdeploy user to the praekeltfoundation namespace.


Use Mission Control to deploy the Docker Hub image to QA and production.