How to release podpac
- Ensure your local main branch is synced to upstream:
$ git pull upstream main # or just git pull-
Create a release branch:
release/4.x.y -
Update
version.pyMAJOR,MINOR, andHOTFIXto the right semantic version -
Run unit tests
$ # Activate Python environment
$ pytest podpac - Review the CHANGELOG and update
- Prefix should be a numpy commit prefix
- Convention:
- <prefix>: <short description> ([<github issue>](https://github.com/creare-com/podpac/issues/<issue#>))-
Merge changes into main
-
On the main branch, Tag the release:
$ git tag -a X.Y.Z -m 'X.Y.Z'- Push your changes to main:
$ git push upstream main
$ git push upstream --tags- Build source and binary wheels for pypi (you have to have the
wheelspackage installed):
$ git clean -xdf # this deletes all uncommited changes!
$ python setup.py bdist_wheel sdist- Upload package to TestPypi. You will need to be listed as a package owner at https://pypi.python.org/pypi/podpac for this to work. You now need to use a pypi generated token, can no longer use your password.
First create a ${HOME}/.pypirc file with the below contents, replacing YOUR_API_TOKEN with your valid pypi token (file template taken from here https://stackoverflow.com/questions/69065069/http-403-error-while-uploading-python-package-to-pypi):
[distutils]
index-servers =
pypi
podpac
[pypi]
username = __token__
password = YOUR_API_TOKEN
[YOUR_PROJECT_NAME]
repository = https://upload.pypi.org/legacy/
username = __token__
password = YOUR_API_TOKEN
Then run the upload command from your podpac directory
$ twine upload dist/podpac-X.Y.Z*- Issue the release announcement (via github)