Skip to main content

jrl_release.py

Version management script for multi-format projects. Keeps version strings in sync across all tracked files and automates the release process.

Usage

The tool can be invoked two equivalent ways:

# Installed console command — after `pip install .` / `uv tool install .`, or inside `uv run`
jrl-release [OPTIONS]

# Standalone, no install — runs the script directly via uv (PEP 723 inline deps)
uv run --no-project jrl_release.py [OPTIONS]

The standalone form requires uv; it auto-installs dependencies from the script's inline metadata.

The examples below use the installed jrl-release form. If you haven't installed it, prefix-swap jrl-release → uv run --no-project jrl_release.py.

Common Commands

# Check that all files agree on the current version
jrl-release --check-version

# Bump version
jrl-release --bump patch       # 1.0.0 -> 1.0.1
jrl-release --bump minor       # 1.0.0 -> 1.1.0
jrl-release --bump major       # 1.0.0 -> 2.0.0

# Set a specific version
jrl-release --update-version 1.2.3

# Bump, commit and tag in one step
jrl-release --bump patch --git-commit --git-tag

Options

Option Description
--root <PATH> Project root (default: cwd).
--bump <major|minor|patch> Bump version component.
--update-version <X.Y.Z> Set a specific version.
--dry-run Show changes without writing files.
--short Print only the version string.
--output-format <text|json> Output format (default: text).
--confirm Skip interactive prompts.
--list-files List tracked files.
--git-commit [MSG] Commit changes. Optional message ({version} placeholder).
--git-tag [NAME] Create a tag. Optional name ({version} placeholder).
--git-tag-message <MSG> Tag annotation ({version} placeholder).

Git defaults: commit chore: bump version to {version}, tag v{version}, tag message Release version {version}.

Supported Files

File Key
package.xml <version> tag
pyproject.toml project.version
CHANGELOG.md First ## [X.Y.Z] section (not Unreleased)
pixi.toml [workspace] version
pixi.lock Regenerated via pixi list
CITATION.cff version key
CMakeLists.txt project(... VERSION X.Y.Z ...)

Requires pixi CLI if pixi.lock exists in the project root.

Testing

The unit tests live in test_jrl_release.py and can be run two ways:

# Standalone (PEP 723 inline metadata, no install needed)
uv run --no-project test_jrl_release.py

# Via the project's test extra (from the repo root)
uv run --extra test pytest

Metadata

Release files for jrl-cmakemodules-scripts 2.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for jrl-cmakemodules-scripts 2.3.0
File Size Uploaded
jrl_cmakemodules_scripts-2.3.0.tar.gz 19.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for jrl-cmakemodules-scripts 2.3.0
File Interpreter ABI Platform
jrl_cmakemodules_scripts-2.3.0-py3-none-any.whl Python 3 none any Details

Total release size: 39.6 kB

Release files / jrl_cmakemodules_scripts-2.3.0.tar.gz

Download URL jrl_cmakemodules_scripts-2.3.0.tar.gz
Size 19.3 kB
Tags Source
SHA-256 checksum
How to use checksums
813f49d8ce8955d44366f821a74b1a84811eba92c4a6a1e841debd18a92c3531
BLAKE2b-256 checksum
How to use checksums
143684f576156f659f42888683ba8e2d6cbc4a7cb7414fc50fd2aad06777cb14
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 21, 2026.

Transparency log

Release files / jrl_cmakemodules_scripts-2.3.0-py3-none-any.whl

Download URL jrl_cmakemodules_scripts-2.3.0-py3-none-any.whl
Size 20.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b1f96a073030526c7cee3e7db6337f3bc7443f58c156868b99e8940992a24359
BLAKE2b-256 checksum
How to use checksums
9b8513a1a58dfbbed888ec8d0894a2436fb74becfaa76d7f94124e90696bb979
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 21, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

2.3.0 This release

2 release files

2.2.4

2 release files

2.1.0

2 release files

2.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page