Development tools: maintenance

Most of the development tools used internally by the OME project are Python-based and hosted on PyPI. Their source code is on GitHub.

Maintainer prerequisites

To be able to maintain a Python development tool, a developer must:

  • have a GitHub account and have push rights to the GitHub source code repository
  • have a PyPI account and be registered as a maintainer of the PyPI repository
  • have a valid PGP key for signing the tags

For uploading your package to PyPI, you will also need to create a ~/.pypirc file.

Release process

The first operation to perform while releasing a project is to create a signed tag locally:

$ cd <project>
$ scc tag-release -s x.y.z

The last command will create a tag with the default v prefix, i.e. vx.y.z. The distribution can then be created and uploaded to PyPI via:

$ git clean -dfx
$ python setup.py sdist upload

The upload command should update the PyPI record.

Finally, the signed tag needs to be pushed to the source code repository:

$ git push origin vx.y.z