Skip to content

Latest commit

 

History

History
55 lines (35 loc) · 883 Bytes

README.md

File metadata and controls

55 lines (35 loc) · 883 Bytes

Git Versioning for Python Project

An opinionated git versioning tool. It versions as following:

  • On v* tag: version as tag if not sticky

    i.e. 0.1.0

  • On main or master branch: version as rc

    i.e. 0.1.0-rc{BUILD_NUMBER}+{GIT_COMMIT_SHORT_SHA}

  • Others: version as dev

    i.e. 0.1.0-dev{BUILD_NUMBER}+{GIT_COMMIT_SHORT_SHA}

If env VERSIONING_GIT_BRANCH is set, it will be used instead of git branch --show-current.

Usage

It currently support setuptools, hatch and poetry.

setuptools

setuptools.setup(
  version="0.1.0",
  setup_requires=["gitv"]
)

hatch

[build-system]
requires = ["hatchling", "gitv"]

[project]
dynamic = ["version"]

[tool.hatch.version]
version = "0.1.0"
source = "vcs"

poetry

[build-system]
requires = ["poetry-core", "gitv"]

[tool.poetry]
version = "0.1.0"