vcs-versioning
the blessed package to manage your versions by vcs metadata
Decision gist · record as of 2026-08-14
Yes, if you manage Python packages and want to eliminate manual version synchronization. Low install friction, active maintenance, MIT license, no known vulnerabilities, and top-1000 popularity suggest it is a stable choice. Verify integration requirements with your build system before adopting.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires a version control repository with tags or commit history to extract version metadata from
- Low friction installation with three lightweight runtime dependencies (packaging, tomli, typing-extensions).
- Active maintenance with a recent release and 951 repository stars.
License · maintenance · safety
MIT (permissive) — MIT license permits unrestricted use, modification, and distribution with minimal legal constraints.
last release 2026-08-07 (7 days) · last repo commit 2026-08-13 · 951 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 123,571,313 downloads/mo, #299 on PyPI
Alternatives
Verify before relying
pip install vcs-versioning
import vcs_versioning
# Version is derived from VCS metadata at build time- Whether vcs-versioning integrates with setuptools or works as a standalone tool
- What VCS systems beyond git are supported
- How version schemes are configured and customized
What it is and what it does
vcs-versioning automates version management by deriving package versions directly from version control metadata—typically git tags and commit history—rather than requiring manual version strings in source files. This eliminates the common friction point of keeping version numbers synchronized across setup files and documentation.
The package depends on packaging, tomli, and typing-extensions to parse version information and configuration. It supports Python 3.8 through 3.14 and is actively maintained, with a recent release and moderate adoption in the Python ecosystem.
Use it for
- Automatically increment package version on each git tag without editing source files
- Generate consistent version strings across build artifacts and documentation from a single VCS source
- Reduce merge conflicts caused by manual version bumping in multiple files
- Integrate version management into CI/CD pipelines that tag releases
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you manage Python packages and want to eliminate manual version synchronization.
Low install friction, active maintenance, MIT license, no known vulnerabilities, and top-1000 popularity suggest it is a stable choice. Verify integration requirements with your build system before adopting.
Install
vcs-versioning on PyPI
Before you install
Low friction installation with three lightweight runtime dependencies (packaging, tomli, typing-extensions). Active maintenance with a recent release and 951 repository stars.
Requires a version control repository with tags or commit history to extract version metadata from
License in practice
MIT license permits unrestricted use, modification, and distribution with minimal legal constraints.
Quickstart
pip install vcs-versioning
import vcs_versioning
# Version is derived from VCS metadata at build time
Verify before relying
- Whether vcs-versioning integrates with setuptools or works as a standalone tool
- What VCS systems beyond git are supported
- How version schemes are configured and customized
Package facts
| License | MIT permissive |
| Python support | Supports the current Python release >=3.8 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 3 packagespackagingtomlityping-extensions |
| Maintenance | Actively maintained 7 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 123,571,313 / month, #299 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 4 - BetaProgramming Language :: PythonProgramming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9 |
Evidence: vcs_versioning-2.2.4-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “automatic version management from git”
- vcs-versioningManages Python package versions automatically by extracting metadata…
- setuptools-scmAutomatically extracts and manages Python package versions from git…
- versioneerVersioneer automates version management in setuptools-based Python…
Give your agent the search over MCP, or paste the wish link into any chat.
More Build Tools packages
Provides reusable utilities for Python packaging interoperability, including version handling, specifiers, markers, requirements, tags, and metadata parsing according to standards like PEP 440 and PEP 425.
Wraps any iterable to display a real-time progress bar in the terminal or Jupyter notebook, showing iteration count, elapsed time, and estimated time remaining.
pip is the standard installer for Python packages, enabling you to download and install packages from the Python Package Index and other indexes into your Python environment.
Hatchling is a standards-compliant Python build backend that handles packaging, metadata, and distribution of Python projects when configured in a project's pyproject.toml file.
Generates Python gRPC service stubs and message classes from Protocol Buffer definitions, enabling developers to build gRPC clients and servers.
pre-commit is a framework for installing and running git hooks written in any language before commits are made, automating code quality and validation checks across multi-language projects.
Install it if your team needs consistent, automated validation at commit time.
See also hatch-vcs · source-distribution · vcver · versioneer · versioningit · versioneer-518 · hatch-regex-commit · dunamai · vcstool · setuptools-scm