This document explains the release process for the Python SDK. You can find the most recent version under Github Releases.
- Before releasing a new SDK version, make sure to update all references from the old version to the new one. For example,
the version in the root
pyproject.toml
should be updated (for reference)- The version in the root
pyproject.toml
can be updated by runningpoetry version <version-bump-rule | PEP440-string>
. The version bump rules that can be provided and their corresponding effects can be found here, in thePoetry
documentation. A version number can also be directly specified instead, but it must follow the PEP 440 specification
- The version in the root
- If the version to be released has backwards incompatible changes, i.e. it does not support older versions of the Numaflow platform,
you must update the
MINIMUM_NUMAFLOW_VERSION
constant in thepynumaflow/info/types.py
file to the minimum Numaflow version that is supported by your new SDK version - After making these changes, create a PR. Once merged, it will trigger the
Docker Publish
workflow, and should be included in the release. As a result, the correct SDK version will always be printed in the server information logs, and the example images will always be using the latest changes (due to referencing the local SDK tarball that is built)
This can be done via the Github UI.
- In the
Releases
section of the Python SDK repo, clickDraft a new release
- Create a tag that has the same name as the version that you specified in the root
pyproject.toml
, prefix it with a'v'
, and select it - Make the title the same as the tag
- Click
Generate release notes
so that all the changes made since the last release are documented. If there are any major features or breaking changes that you would like to highlight as part of the release, add those to the description as well - Select
Set as the latest release
orSet as a pre-release
, depending on your situation - Finally, click
Publish release
, and your version tag will be the newest release on the repository