autosemver
Tools to handle automatic semantic versioning in python
What it is and what it does
Autosemver is a setup.py integration tool that automatically derives semantic versions for Python packages by reading git repository metadata—tags, commit messages, and special markers like 'Sem-Ver:' or '* Incompatible'. You add a single line (autosemver=True) to your setup.py, and the tool generates version strings compliant with the semantic versioning standard without requiring manual version bumps in code.
The package has no runtime dependencies and is designed to run at build time. However, it is no longer maintained: the last commit was 2022-07-09 and the final release was 2020-11-13. For projects starting now, this represents a significant risk—there is no active support for compatibility with modern Python or build workflows, and any bugs or breaking changes in the ecosystem will not be addressed.
Use it for:
- Eliminate manual version string edits in setup.py by deriving versions automatically from git history.
- Enforce semantic versioning discipline by parsing commit messages for breaking-change markers during the build process.
- Streamline build pipelines that need consistent, git-derived version numbers without extra configuration steps.
- Maintain existing projects already using autosemver when migration to other tools is not feasible.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Automatically generates semantic versions for Python packages by parsing git tags and commit messages, integrating directly into setup.py to eliminate manual version management.
No. The package is abandoned (no maintenance since 2020-11-13, last commit 2022-07-09) and carries copyleft licensing. For new projects, consider actively maintained alternatives. Only install autosemver if you are maintaining an existing codebase already using it and cannot migrate.
Install
autosemver on PyPI
pip
pip install autosemveruv
uv add autosemverpoetry
poetry add autosemverInstalling autosemver
Before you install
High install friction: the package is abandoned (last commit 2022-07-09, no releases since 2020-11-13) and has not been maintained for over 2100 days. No runtime dependencies, but the stalled maintenance status makes it a risky choice for new projects.
License in practice
Licensed under GPLv3 (copyleft). Any project that bundles or distributes this package must also release its source code under a compatible open-source license.
Quickstart
pip install autosemver
# In setup.py:
setup(
name='some-package',
install_requires=['autosemver'],
setup_requires=['autosemver'],
autosemver=True,
)
Requires git repository with semantic version tags and/or commit messages containing 'Sem-Ver:' or '* Incompatible' markers to function; git must be installed and the package must be run from within a git repository.
Verify before relying
- Whether the package works with modern Python versions (python_support unspecified in metadata)
- Current compatibility with recent build tools and git workflows
- Whether the package's git-based version extraction still functions reliably in contemporary CI/CD environments
Package facts
| License | GPLv3 (copyleft) |
| Python support | not specified |
| Install friction | high — source build required |
| Runtime dependencies | none |
| Maintenance | abandoned — 2,100 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 99,013/month — #13,043 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: autosemver-1.0.0.tar.gz
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
release-tagAutomatically creates and optionally pushes…
permissive · top 15,000 on PyPI
vcvervcver generates version strings for Python…
permissive · top 15,000 on PyPI
semantic-versionParses, validates, and compares semantic…
permissive · top 1,000 on PyPI
semverParse, compare, and manipulate semantic version…
permissive · top 1,000 on PyPI
renoReno manages release notes by storing…
permissive · top 15,000 on PyPI
python-semantic-releaseAutomates semantic versioning and release…
permissive · top 5,000 on PyPI
setuptools-git-versioningAutomatically generates PEP 440-compliant…
permissive · top 5,000 on PyPI
setuptools-scm-git-archiveA setuptools_scm plugin that extracts version…
permissive · top 5,000 on PyPI
bump-my-versionAutomates version number management in projects…
permissive · top 5,000 on PyPI
semver4Parses and manipulates semantic versions with…
permissive · top 15,000 on PyPI