Skip to main content

verkit

Polyglot project version inspector, promoter, tagger, and release workflow engine.

verkit provides a unified Python API and CLI tool to manage version releases across multi-language projects (pyproject.toml, package.json, Cargo.toml, *.csproj, pom.xml, build.gradle).


Supported Ecosystems

Project Type Version File Parser / Bump Engine
Python pyproject.toml Regex & bump-my-version
Node.js package.json JSON parser & npm version
Rust Cargo.toml Regex (^version = "...")
.NET *.csproj XML Regex (<Version>...</Version>)
Java (Maven) pom.xml XML Regex (<version>...</version>)
Java (Gradle) build.gradle / .kts Regex (version = "...")

Installation

pip install verkit
# or using uv
uv add verkit

CLI Usage

Inspect version info

Inspect current working tree and HEAD committed versions:

verkit inspect

Promote version

Bump version (major, minor, or patch) and automatically commit or amend local release commit:

verkit promote minor

Tag and push release

Verify HEAD is in sync, create vX.Y.Z git tag, and push branch + tag:

verkit tag

One-shot atomic release

Combine promote, tag, and push in a single step:

verkit release patch

Python API Usage

import verkit

# 1. Inspect version info
info = verkit.inspect_project()
print(f"Working version: {info.version} (from {info.source})")

committed = verkit.inspect_committed()
print(f"HEAD committed version: {committed.version}")

# 2. Promote version
new_version = verkit.promote_version("minor")

# 3. Tag and push release
tag_name = verkit.tag_version(push=True)

# 4. Atomic release
verkit.release_version("patch", push=True)

Shared Terminal Theme

verkit publishes the canonical Rich theme used across this developer's CLIs (task-agent, multi-agent-registry, ...). It is opt-in — verkit never applies the theme for you; consumers import it and apply it to their own Table/Panel objects:

from rich.console import Console
from rich.table import Table
from verkit.theme import DEFAULT as theme

console = Console()
table = Table(
    title="Portfolio",
    box=theme.table_box,          # borderless
    header_style=theme.header_style,  # "on grey23"
    padding=theme.table_padding,  # (0, 2, 0, 0)
)
console.print(table)

The theme is a frozen dataclass (verkit.theme.Theme); DEFAULT is the canonical instance. Non-Python consumers (e.g. PowerShell scripts) read the machine-readable mirror, which stays in sync via tests/test_theme.py:

$theme = Invoke-RestMethod `
  https://raw.githubusercontent.com/bizkite-co/verkit/main/src/verkit/theme.json
# $theme.theme.header_style               -> "on grey23"
# $theme.theme.header_background_ansi     -> ANSI 256 index 237 background escape
# $theme.theme.header_background_rgb_hex  -> "#3a3a3a"

Metadata

Release files for verkit 0.2.1

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

Source distribution (sdist)

Source distribution for verkit 0.2.1
File Size Uploaded
verkit-0.2.1.tar.gz 11.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for verkit 0.2.1
File Interpreter ABI Platform
verkit-0.2.1-py3-none-any.whl Python 3 none any Details

Total release size: 23.4 kB

Release files / verkit-0.2.1.tar.gz

Download URL verkit-0.2.1.tar.gz
Size 11.3 kB
Tags Source
SHA-256 checksum
How to use checksums
9f11e341a0f22cf961b3ec75f82b3a2bc4b9883ddd000f3dd0198bb46eb6102a
BLAKE2b-256 checksum
How to use checksums
b8428074f60fdf5b0026cf414dc76f4a12fe7581fbe41a115127e1f89590ea6e
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 Sep 15, 2026.

Transparency log

Release files / verkit-0.2.1-py3-none-any.whl

Download URL verkit-0.2.1-py3-none-any.whl
Size 12.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
54482e6b20c8646aba4a4271696dff5a9a39eb883db8719ddd75643b34754c3c
BLAKE2b-256 checksum
How to use checksums
3a261042329f9a9933447906a288527b640bfaab7369059b27a037c6786a8325
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 Sep 15, 2026.

Transparency log

Release history Release notifications | RSS feed

0.3.1

2 release files

0.3.0

2 release files

This release

0.2.1 This release

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

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