API version management — semantic versioning, deprecation tracking, migration guides, and version-aware routing. Pure Python, zero dependencies.
- Semantic version parsing — parse, compare, bump, and check compatibility
- Versioned endpoints — track which API versions expose which endpoints
- Deprecation management — sunset dates, migration paths, and deprecation notices
- Version-aware routing — route requests to the correct handler by API version
- Migration guides — auto-generate migration documentation between versions
pip install api-versionerfrom api_versioner import APIVersion, Endpoint, DeprecationManager, VersionRouter
from datetime import date
# Parse and compare versions
v1 = APIVersion.parse("1.2.3")
v2 = APIVersion.parse("2.0.0-beta.1")
assert v1 < v2
assert v1.is_compatible(APIVersion.parse("1.9.0"))
# Deprecation tracking
dm = DeprecationManager()
dm.deprecate(APIVersion.parse("1.0.0"), sunset_date=date(2025, 6, 1), reason="Upgrade to v2")
# Version-aware routing
router = VersionRouter()
router.add_route(APIVersion.parse("1.0.0"), handler_v1)
router.add_route(APIVersion.parse("2.0.0"), handler_v2)
handler = router.resolve(APIVersion.parse("2.1.0"))pip install -e .
pytestMIT