hatch-vcs
Hatch plugin for versioning with your preferred VCS
Install
hatch-vcs on PyPI
pip
pip install hatch-vcsuv
uv add hatch-vcspoetry
poetry add hatch-vcsPackage facts
| License | MIT (permissive) |
| Python support | supports the current Python release (>=3.9) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 2 — hatchling, setuptools-scm |
| Maintenance | aging — 443 days since the last release |
| First released | |
| Popularity | one of the top 1,000 most-downloaded packages on PyPI (30-day window, as of 2026-08-13) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-13) |
Evidence: hatch_vcs-0.5.0-py3-none-any.whl
Keywords: git, hatch, mercurial, plugin, scm, vcs, version
About hatch-vcs
from the package's own PyPI description — quoted content, verbatim
hatch-vcs
AI interpretation — verify before relying
AI-generated interpretation of the package facts above; every digit, version, license, or vulnerability id it cites is grounded in the facts already shown on this page
A Hatch plugin that automatically determines your project's version from version control system tags (Git, Mercurial) and can inject that version into build artifacts and metadata.
Low friction: pure Python wheel with only two runtime dependencies (hatchling and setuptools-scm). Last release was 443 days ago and maintenance status is aging, so expect slower response to issues.
MIT license is permissive; you may use, modify, and distribute this package freely with minimal restrictions, though you must include the license notice.
Usage
# In pyproject.toml:
[build-system]
requires = ["hatchling", "hatch-vcs"]
build-backend = "hatchling.build"
[tool.hatch.version]
source = "vcs"
[tool.hatch.build.hooks.vcs]
version-file = "_version.py"
# Then: hatch build or hatch version
Requires Python ≥3.9 and a Git or Mercurial repository with version tags in your project directory.
Verdict: A stable, low-friction plugin for teams already using Hatch who want version numbers driven by VCS tags. No known vulnerabilities and permissive licensing make it safe to adopt. Aging maintenance (443 days since last release) is typical for mature build tools but means slower bug fixes if issues arise.
Needs verification
- Whether the 443-day gap reflects stable maturity or reduced active development/support.
- Real-world compatibility with PyPy implementations listed in classifiers.
- Performance impact when used in large monorepos or with many tags.
Similar packages
permissive · top 100 on PyPI
setuptools-scmpermissive · top 1,000 on PyPI
vcs-versioningpermissive · top 1,000 on PyPI
flit-corepermissive · top 1,000 on PyPI
hatchpermissive · top 1,000 on PyPI
userpathpermissive · top 1,000 on PyPI
pytest-envpermissive · top 1,000 on PyPI
setuptoolspermissive · top 100 on PyPI
buildpermissive · top 1,000 on PyPI
tomlkitpermissive · top 1,000 on PyPI