Planet maintainers only
Releasing is a two-step process: (1) releasing on GitHub and test.pypi and (2) releasing to PyPI. Releasing on GitHub will automatically trigger a release on test.pypi via a GitHub Action. Following manual confirmation of a successful and satisfactory release on test.pypi, release on PyPI is triggered manually with the Github Action Autopublish to TestPyPI. There is also an option to publish to test.pypi and PyPI from your local machine.
NOTE: the version is detected from git using the tag name. There is no need to modify a version file.
If the repository is not on tag, the version will be computed using the default versioning scheme of setuptools_scm.
The SDK follows Semantic Versioning and therefore only major releases should break compatibility. Minor versions may include new functionality and patch versions address bugs or trivial changes (like documentation).
- Create a new GitHub release:
- From the GitHub UI:
- Navigate to the releases UI
- Set tag to release version
- Set target to
main - Set title to tag release version
- Describe the change(s) that are shipping with this version in the release description
- Alternatively, create a release from the GitHub CLI:
- Make sure the pre-requisite gh CLI is installed, and optionally review the docs for CLI command gh release create
- By default,
gh release createwill automatically tag releases from the latest state of the default branch - Run CLI command
gh release create {VERSION} --notes "{RELEASE NOTES}"whereVERSIONis the release version andRELEASE NOTESis the description of changes
- From the GitHub UI:
- Verify the successful run of the Github Action
Autopublish to TestPyPIand validate the test release on test.pypi.org - Run the Github Action
Publish on PyPI - Verify the successful run of the Github Action
Publish on PyPIand validate the release on pypi.org
Publishing to testpypi and pypi can also be performed locally with:
$ nox -s build publish-testpypithen
$ nox -s publish-pypiThis approach requires specifying the pypi/testpypi api token as the password at the prompt.
When stable, not pre-release, files are uploaded to PyPI, a bot will detect them and make an automated PR to https://github.com/conda-forge/planet-feedstock/pulls. When a Conda-forge maintainer merges that PR, a package will be built for the new version and will be published to https://anaconda.org/conda-forge/planet/files.