--- id: awesomeversion version: "25.8.0" license: MIT license_treatment: permissive maintenance: active --- # awesomeversion — One version package to rule them all, One version package to find them, One version package to bring them all, and in the darkness bind them. License: permissive · Maintenance: active · Downloads: 990.7K/mo ## What it is and what it does AwesomeVersion is a Python library that converts version strings into comparable objects, supporting a wide range of version schemes including semantic versioning, calendar versioning, PEP 440, and container tags. It abstracts away the differences between these formats so you can compare versions from different sources without manual normalization. The package detects the version format automatically and exposes properties like `major`, `minor`, `patch`, and modifier type (alpha, beta, dev, release candidate). It handles edge cases such as versions with prefixes (e.g., 'v1.2.3'), container special versions ('dev', 'latest', 'beta', 'stable'), and pre-release ordering where versions without modifiers rank higher than their pre-release counterparts. Use it for: - Check if an installed package version is within a required range using the `in_range()` method - Determine what changed between two versions (major, minor, patch, modifier) via the `diff()` method - Compare version strings from different sources (e.g., GitHub releases, PyPI, Docker tags) directly without conversion - Detect pre-release or development versions to decide whether to warn users or skip upgrades - Extract specific version components (major, minor, patch) for conditional logic or reporting ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. Parse and compare version strings across multiple formats (semantic versioning, calendar versioning, PEP 440, and others), returning comparable version objects with support for pre-release modifiers and container tags. Yes. Low install friction, no dependencies, permissive license, active maintenance, and no known vulnerabilities make it a safe choice. Install if you need to parse or compare versions across multiple formats in a single codebase; skip if you only work with strict semantic versioning and don't need format detection. ## Install pip install awesomeversion uv add awesomeversion poetry add awesomeversion ## Installing awesomeversion Before you install: Low friction: pure Python wheel with no runtime dependencies. Actively maintained as of 2026-08-10 with a recent release cycle. License in practice: MIT license permits unrestricted use, modification, and distribution in both open and closed projects. Quickstart: pip install awesomeversion from awesomeversion import AwesomeVersion current = AwesomeVersion("1.2.2") upstream = AwesomeVersion("1.2.3") print(upstream > current) # True print(AwesomeVersion("1.2.2").in_range("1.2.1", "1.3")) # True Requires Python 3.9 or later. Verify before relying: - Whether the package handles all claimed version formats (0ver, buildver, calver, pep440, semver) with equal fidelity - Performance characteristics when comparing large numbers of versions or parsing malformed input ## Package facts - License: MIT (permissive) - Python support: supports_current - Install friction: low - Maintenance: active - Downloads: 990.7K/month (top 5,000 on PyPI) - Known vulnerabilities: none known ## Tags version comparison library, semantic version parser, calver semver pep440, version string normalization, multi-format version handling, version range checking, pre-release version detection, version-management, semver-calver [View on SkillFed](https://skillfed.io/packages/awesomeversion) · [View on PyPI](https://pypi.org/project/awesomeversion/)