versioneer-518
Just the vendored file
What it is and what it does
versioneer-518 is a tool that automatically manages version strings in Python projects by querying your version-control system at build and import time. Instead of manually updating a version string before each release, you tag your repository and the tool derives the version from that tag, generating version strings that comply with PEP 440 by default. It works by injecting a `_version.py` module into your source tree that dynamically queries the VCS for tag information, and a top-level `versioneer.py` that integrates with setuptools to compute versions during builds.
The tool supports two installation modes: vendored mode (copies the tool into your repository) and build-time dependency mode (treats it as a build requirement). It provides multiple pieces of version information—condensed version string, full revision ID, commit date, and dirty-tree status—allowing projects to embed rich version metadata. It is designed for setuptools-based projects and requires configuration in either `pyproject.toml` or `setup.cfg`. It has no runtime dependencies and installs as a pure Python wheel.
Use it for:
- Eliminate manual version-string updates in setup.py or pyproject.toml by deriving versions automatically from version-control tags.
- Generate version strings that reflect both release tags and development commits without manual intervention.
- Embed version information in module `__version__` attributes and tarball names automatically.
- Provide developers and bug reporters with full revision IDs and commit dates to reconstruct exact code states.
- Simplify release workflows by making version management a pure version-control operation—tag, build, release.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Automates version management in setuptools-based Python projects by deriving version strings from version-control tags at build and runtime, eliminating manual version-string updates.
Yes, if you maintain a setuptools-based Python project with version control and want to eliminate manual version-string management. The tool is permissively licensed, has no runtime dependencies, and is actively maintained. However, the latest PyPI release is from 2021-04-01; verify current compatibility with your Python version and build toolchain before adopting.
Install
versioneer-518 on PyPI
pip
pip install versioneer-518uv
uv add versioneer-518poetry
poetry add versioneer-518Installing versioneer-518
Before you install
Low install friction with no runtime dependencies. Actively maintained with recent commits (last commit 2026-06-01) and 1092 repository stars, though the latest PyPI release dates to 2021-04-01.
License in practice
Released under public domain (Unlicense), permissive license treatment with no restrictions on use, modification, or redistribution.
Quickstart
pip install versioneer-518
versioneer install --vendor
# Then in your project's __init__.py:
from ._version import get_versions
__version__ = get_versions()['version']
Requires a setuptools-based project with version control initialized; configuration via pyproject.toml or setup.cfg required.
Verify before relying
- Whether the package still receives active maintenance on PyPI despite the 2021-04-01 latest release date.
- Current compatibility with Python versions beyond the stated 3.9+ support.
- Whether build-time dependency mode is production-ready or still experimental as described.
- Specific VCS systems supported beyond git.
Package facts
| License | public domain (permissive) |
| Python support | not specified |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | none |
| Maintenance | actively maintained — 1,961 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 208,168/month — #9,534 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: versioneer_518-0.19-py2.py3-none-any.whl
Tags
More Build Tools packages
Provides reusable utilities for Python…
permissive · top 100 on PyPI
tqdmWraps any iterable to display a real-time…
copyleft · top 100 on PyPI
pippip is the standard installer for Python…
permissive · top 100 on PyPI
hatchlingHatchling is a standards-compliant Python build…
permissive · top 100 on PyPI
grpcio-toolsGenerates Python gRPC service stubs and message…
permissive · top 1,000 on PyPI
pre-commitpre-commit is a framework for installing and…
permissive · top 1,000 on PyPI
versioneerVersioneer automates version management in…
permissive · top 5,000 on PyPI
versioningitAutomatically determines your Python package's…
permissive · top 5,000 on PyPI
setuptools-git-versioningAutomatically generates PEP 440-compliant…
permissive · top 5,000 on PyPI
setupmetaReduces boilerplate in setup.py by…
permissive · top 5,000 on PyPI
poetry-dynamic-versioningA Poetry plugin that automatically derives and…
permissive · top 5,000 on PyPI
hatch-vcsA Hatch plugin that automatically determines…
permissive · top 1,000 on PyPI
dunamaiDunamai generates dynamic, standards-compliant…
permissive · top 5,000 on PyPI
setuptools-scmAutomatically extracts and manages Python…
permissive · top 1,000 on PyPI
setuptools-scm-git-archiveA setuptools_scm plugin that extracts version…
permissive · top 5,000 on PyPI
vcs-versioningManages Python package versions automatically…
permissive · top 1,000 on PyPI