Dynamic versioning from git. Every commit gets its version. Generate semantic versions from
any commit across all branches, or a dirty working directory, with pre-release handling and
format support for any CI/CD workflow.
Why zerv?
- Runs next to semantic-release - semantic-release decides releases on main; zerv versions every other build: any commit on any branch, even with uncommitted changes. No build is ever unversioned.
- Two modes -
zerv flowautomates pre-release management from Git branch patterns;zerv versiongives full manual control with schemas, overrides, and templates. - Any output format - SemVer, PEP440, CalVer, or Tera templates. Generate every format your pipelines need from a single ZERV RON payload.
A taste
Installation
Install from PyPI, crates.io, or a pre-built binary.
Quickstart
Run zerv flow, then fan one ZERV RON payload out to every format you need.
Flow
How branch patterns become pre-release versions.
Schema system
Presets, custom RON schemas, and how versions are assembled.