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 GitHub Action.

Versioning

Instant Python version is managed automatically through the python-semantic-release 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.

Release step

When a new version is ready to be released, the release workflow is triggered manually through the GitHub Actions interface. The very first step of this workflow is responsible for:

  • Bumping the version number using python-semantic-versioning.
  • 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

Once the release step has been completed successfully, the workflow proceeds:

  • Build the package using uv.
  • Publish the package to PyPI.