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
See also
- https://packaging.python.org/tutorials/packaging-projects/#uploading-the-distribution-archives
- Instructions about uploading a project to PyPi