Developer Notes

Last updated: 3 November 2021

Creating a new release of pyCSEP

These are the steps required to create a new release of pyCSEP. This requires a combination of updates to the repository and Github. You will need to build the wheels for distribution on PyPI and upload them to GitHub to issue a release. The final step involves uploading the tar-ball of the release to PyPI. CI tools provided by conda-forge will automatically bump the version on conda-forge. Note: permissions are required to push new versions to PyPI.

1. Code changes

  1. Bump the version number in _version.py

  2. Update codemeta.json

  3. Update CHANGELOG.md. Include links to Github pull requests if possible.

  4. Update CREDITS.md if required.

  5. Update the version in conf.py.

  6. Issue a pull request that contains these changes.

  7. Merge pull request when all changes are merged into master and versions are correct.

2. Creating source distribution

Issue these commands from the top-level directory of the project:

python setup.py check

If that executes with no warnings or failures build the source distribution using the command:

python setup.py sdist

This creates a folder called dist that contains a file called pycsep-X.Y.Z.tar.gz. This is the distribution that will be uploaded to PyPI, conda-forge, and Github.

Upload to PyPI using twine. This requires permissions to push to the PyPI account.

3. Create release on Github

  1. Create a new release on GitHub. This can be saved as a draft until it’s ready.

  2. Copy new updates information from CHANGELOG.md.

  3. Upload tar-ball created from setup.py.

  4. Publish release.