Skip to content

Releases

Instant Python is made available through both GitHub releases and PyPI. The GitHub releases also come with a summary of changes through a CHANGELOG file, which is automatically generated based on the commit history.

The entire process is automated through the release and publish GitHub Actions.

Versioning

Instant Python version is managed automatically through the commitizen tool, which enforces conventional commit messages. This tool generates the version number based on the commit history and sets the new version following semantic versioning.

Publishing & Release Process

In Instant Python, we work following trunk base development, trying to work always on the main branch. To generate a new version and release of the project, the release workflow has te be triggered manually.

When this workflow is finished, it will trigger the publish pipeline, which is responsible for publishing the new version to PyPI.

Release step

When a new version is ready to be released, the release step is triggered manually through the GitHub Actions interface. This step is responsible for:

  • Bumping the version number using commitizen.
  • Generating a changelog based on the conventional commits since the last release.
  • Creating a new GitHub release with the changelog associated with the new version.

Publish step

When a new version is released, the publish step is triggered automatically. This step is responsible for:

  • Building the package using uv.
  • Publishing the package to PyPI.