Developer Notes
Last updated: 25 January 2022
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
Bump the version number in _version.py
Update codemeta.json
Update CHANGELOG.md. Include links to Github pull requests if possible.
Update CREDITS.md if required.
Update the version in conf.py.
Issue a pull request that contains these changes.
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:
twine upload dist/pycsep-X.Y.Z.tar.gz
3. Create release on Github
Create a new release on GitHub. This can be saved as a draft until it’s ready.
Copy new updates information from CHANGELOG.md.
Upload tar-ball created from setup.py.
Publish release.