wallrj/python-versioneer — explained in plain English
Analysis updated 2026-08-12 · repo last pushed 2014-05-23
Automatically set your Python package's version number from a Git tag instead of editing files manually.
Identify exactly which revision and uncommitted changes a user is running when they report a bug.
Package your project for distribution with a static version number baked in so users do not need Git installed.
Embed version management code directly into your own project without worrying about license conflicts.
| wallrj/python-versioneer | 0verflowme/learnings | 0verflowme/r2ai | |
|---|---|---|---|
| Language | Python | Python | Python |
| Last pushed | 2014-05-23 | 2022-06-18 | 2025-11-19 |
| Maintenance | Dormant | Dormant | Quiet |
| Setup difficulty | moderate | easy | moderate |
| Complexity | 2/5 | 1/5 | 3/5 |
| Audience | developer | researcher | developer |
Figures from each repo's GitHub metadata at analysis time.
Requires copying Versioneer files into your project and configuring setup.py to integrate with Git tags.
Versioneer is a tool for Python developers that automatically manages version numbers for software projects. Instead of manually editing a version string every time you release an update, you just create a tag in your version control system (like Git). Versioneer handles the rest, eliminating the tedious and error-prone step of updating version numbers across your project files. When a developer is working directly with a project's source code, Versioneer asks the version control system for the current version at runtime. It can tell exactly where the code stands, even if it is between official releases. For example, it can report that the code is two revisions past version 0.7 and has uncommitted changes. When the project is packaged for distribution, the tool replaces this dynamic check with a static, pre-calculated version number. This means people who download the packaged software get the correct version without needing their own version control system. This tool is designed for Python developers who manage their code with Git and regularly distribute their projects. Imagine a developer preparing a new release. With Versioneer, they simply tag the code as version 1.0 in Git, then package and upload it. When users install the software, it can correctly identify itself as version 1.0. If a user reports a bug, the developer can ask them to check the version, which might reveal they are running an unreleased snapshot with uncommitted changes. One notable aspect of the project is its focus on extensibility. The tool is designed so that the code specific to each version control system is kept in separate directories. While it currently supports Git, this structure is intended to make it easier to add support for other version control systems in the future. The code is also released into the public domain, which makes it easy for developers to embed directly into their own projects without worrying about license conflicts.
Versioneer automatically manages version numbers for Python projects by reading Git tags, so developers never have to manually update version strings across files when releasing updates.
Mainly Python. The stack also includes Python, Git.
Dormant — no commits in 2+ years (last push 2014-05-23).
This is public domain software, so you can use, modify, and embed it freely in any project without any license restrictions.
Setup difficulty is rated moderate, with roughly 30min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Don't trust strangers blindly. Verify against the repo.