skillfed

hatch-vcs

Hatch plugin for versioning with your preferred VCS

hatch-vcs Permissive license MIT AGING v0.5.0 released

Install

hatch-vcs on PyPI

pip

pip install hatch-vcs

uv

uv add hatch-vcs

poetry

poetry add hatch-vcs

Package 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

Development Status :: 4 - BetaProgramming Language :: PythonProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.9Programming Language :: Python :: Implementation :: CPythonProgramming Language :: Python :: Implementation :: PyPy

About hatch-vcs

from the package's own PyPI description — quoted content, verbatim

Read as markdown · JSON record · Source repository

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.
hatch version control pluginautomatic version from git tagsvcs-based project versioninghatch build hook versionsetuptools-scm integration hatchgit tag version detectiondynamic versioning hatch

Similar packages