$npx skillfedfor your agent

versioneer

Easy VCS-based management of project version strings

Worth itPyPI Build ToolsReleased Jul 20234.8M downloads / mopermissive licensePure Python

Decision gist · record as of 2026-08-14

pure-Python wheel — versioneer-0.29-py3-none-any.whl
v0.29 · released 2023-07-07 · Python >=3.7

Yes. Versioneer is actively maintained, has no runtime dependencies, and solves a genuine release-process pain point. Use it if you manage a setuptools-based project with git tags and want to eliminate manual version-string updates. The vendored mode is stable; the build-time dependency mode is marked experimental, so prefer vendored for production projects unless you have a specific reason to avoid vendoring.AI-flagged interpretation of the facts on this page — verify before relying

Before you install

  • Requires a git repository and setuptools-based project structure; versioneer must be run in your source tree and results committed.
  • Low friction: pure Python wheel with no runtime dependencies.
  • Actively maintained with recent commits; last release was 2023-07-07 but repo shows ongoing activity as of 2026-06-01.

License · maintenance · safety

permissive license (permissive) — Released into the public domain under the Unlicense (permissive). No restrictions on use, modification, or distribution for any purpose, commercial or otherwise.

last release 2023-07-07 (1134 days) · last repo commit 2026-06-01 · 1,092 stars

0 known vulnerabilities (OSV.dev, 2026-08-14) · 4,837,449 downloads/mo, #2,218 on PyPI

Verify before relying

pip install versioneer
versioneer install --vendor
# In your project's __init__.py:
from ._version import get_versions
__version__ = get_versions()['version']
  • Whether the build-time dependency mode is production-ready or still experimental
  • Performance impact of dynamic version lookup at import time in large projects
  • Compatibility with non-setuptools build systems (e.g., hatch, flit, poetry)
Same gist for agents: .md · .json

What it is and what it does

Versioneer is a build-time tool that automatically manages version strings in Python projects by querying your version-control system instead of requiring manual edits. It installs files into your project that dynamically compute version information from git tags and commit metadata at import time, and handles version computation during setup and distribution.

The tool supports two installation modes: vendored (copies versioneer into your repo) and build-time dependency (declares versioneer as a build requirement). It generates version strings in PEP 440 format by default, including tag name for releases and additional metadata (commit distance, commit hash, dirty state) for development builds. This eliminates the error-prone step of manually updating version strings before each release—you only need to tag your repository.

Use it for

  • Automatically derive a package's version from the latest git tag without manual edits
  • Generate version strings for sdist tarballs that reflect the exact commit they were built from
  • Provide developers with version info that includes commit hash and dirty state for debugging
  • Simplify release workflows by removing the 'update version string' step from your checklist
  • Support multiple version-string styles via configuration

Worth the install?

AI-flagged interpretation of the facts on this page. Verify before relying on it.

Worth it

Yes.

Versioneer is actively maintained, has no runtime dependencies, and solves a genuine release-process pain point. Use it if you manage a setuptools-based project with git tags and want to eliminate manual version-string updates. The vendored mode is stable; the build-time dependency mode is marked experimental, so prefer vendored for production projects unless you have a specific reason to avoid vendoring.

Install

versioneer on PyPI

Before you install

Low friction: pure Python wheel with no runtime dependencies. Actively maintained with recent commits; last release was 2023-07-07 but repo shows ongoing activity as of 2026-06-01.

Requires a git repository and setuptools-based project structure; versioneer must be run in your source tree and results committed.

License in practice

Released into the public domain under the Unlicense (permissive). No restrictions on use, modification, or distribution for any purpose, commercial or otherwise.

Quickstart

pip install versioneer
versioneer install --vendor
# In your project's __init__.py:
from ._version import get_versions
__version__ = get_versions()['version']

Verify before relying

  • Whether the build-time dependency mode is production-ready or still experimental
  • Performance impact of dynamic version lookup at import time in large projects
  • Compatibility with non-setuptools build systems (e.g., hatch, flit, poetry)

Package facts

Licensepermissive license permissive
Python supportSupports the current Python release >=3.7
Install frictionLow. Pure-Python wheel
Runtime dependenciesNone
MaintenanceActively maintained 1,134 days since the last release
Last repo commit
First released
Downloads4,837,449 / month, #2,218 on PyPI 30-day window, as of 2026-08-14
Known vulnerabilitiesNone known OSV.dev, checked 2026-08-14
Classifiers
License :: OSI Approved :: The Unlicense (Unlicense)Programming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9

Evidence: versioneer-0.29-py3-none-any.whl

Tags

Capabilities
version management from git tagsautomatic version string generationsetuptools version automationvcs-based versioningrelease version trackingpython package versioning toolgit tag to version string
Topics
version-managementrelease-automationgit-integration

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 string generation”

  • versioneerVersioneer automates version management in setuptools-based Python…
  • autosemverAutomatically generates semantic versions for Python packages by…
  • dunamaiDunamai generates dynamic, standards-compliant version strings from…

Give your agent the search over MCP, or paste the wish link into any chat.

More Build Tools packages

packaging Worth it
PyPI · Build Tools · released Aug 2026

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.

Apache-2.0 OR BSD-2-Clausepure Python · 3.9+
2.2Bdownloads / mo
tqdm Worth it
PyPI · Libraries · released Jul 2026

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.

copyleftpure Python · 3.8+
648.6Mdownloads / mo
pip Worth it
PyPI · Build Tools · released Aug 2026

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.

MITpure Python · 3.10+
617.5Mdownloads / mo
hatchling Worth it
PyPI · Python Modules · released Aug 2026

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.

MITpure Python · 3.10+
484.2Mdownloads / mo
grpcio-tools Worth it
PyPI · Build Tools · released Jul 2026

Generates Python gRPC service stubs and message classes from Protocol Buffer definitions, enabling developers to build gRPC clients and servers.

Apache-2.0compiled wheel · 3.10+
278.2Mdownloads / mo
pre-commit Worth it
PyPI · Build Tools · released Aug 2026

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.

permissive licensepure Python · 3.10+
179.9Mdownloads / mo

See also versioneer-518 · charm-refresh-build-version · versioningit · vcs-versioning · setuptools-git-versioning · hatch-vcs · dunamai · setupmeta · towncrier · read-version