Skip to main content

Hatch plugin for versioning with your preferred VCS

Project description


CI/CD CI - Test CD - Build
Package PyPI - Version PyPI - Python Version
Meta code style - black types - Mypy imports - isort License - MIT GitHub Sponsors

This provides a plugin for Hatch that uses your preferred version control system (like Git) to determine project versions.

Table of Contents

Global dependency

Ensure hatch-vcs is defined within the build-system.requires field in your pyproject.toml file.

requires = ["hatchling", "hatch-vcs"]
build-backend = ""

Version source

The version source plugin name is vcs.

  • pyproject.toml

    source = "vcs"
  • hatch.toml

    source = "vcs"

Version source options

Option Type Default Description
tag-pattern str see code A regular expression used to extract the version part from VCS tags. The pattern needs to contain either a single match group, or a group named version, that captures the actual version information.
fallback-version str The version that will be used if no other method for detecting the version is successful. If not specified, unsuccessful version detection will raise an error.
raw-options dict A table of setuptools-scm parameters that will override any of the options listed above. The write_to and write_to_template parameters are ignored.

Build hook

The build hook plugin name is vcs.

  • pyproject.toml

  • hatch.toml


Build hook options

Option Type Default Description
version-file str REQUIRED The relative path to the file that gets updated with the current version.
template str The template used to overwrite the version-file. See the code for the default template for each file extension.


hatch-vcs is distributed under the terms of the MIT license.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

hatch_vcs-0.2.0.tar.gz (9.3 kB view hashes)

Uploaded Source

Built Distribution

hatch_vcs-0.2.0-py2.py3-none-any.whl (6.1 kB view hashes)

Uploaded Python 2 Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page