--- id: versions version: "2.1.2" license: MIT license_treatment: permissive maintenance: dormant --- # versions — Parsing, inspecting and specifying versions. License: permissive · Maintenance: dormant · Downloads: 98.6K/mo ## What it is and what it does versions is a semantic version parser and matcher for Python. It parses version strings into structured objects with named segments (release, pre-release, dev, local), supports total ordering for comparison, and can match versions against specification sets or individual specifiers. The package also provides utilities to extract version attributes from Python modules. The library is built on a stack of utility dependencies and is fully typed. It's useful when you need to programmatically work with version constraints—parsing user input, comparing releases, or checking whether a given version satisfies a requirement—rather than relying on string comparison or external tools. Use it for: - Parse and compare semantic versions in dependency resolution or package management workflows. - Match a given version against a version set or specifier to validate compatibility. - Extract and inspect version components from version strings programmatically. - Programmatically check version requirements in build scripts or runtime version guards. - Access the __version__ attribute of installed packages for logging or compatibility checks. ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. Parses, compares, and validates semantic versions and version specifications, supporting version strings with pre-release, dev, and local segments. Yes, if you need robust version parsing and matching in your application. The package is production-stable, permissively licensed, has zero known vulnerabilities, and carries low install friction. The main caveat is dormant maintenance—last release was 900 days ago—so if you encounter a bug or need a feature, expect slow or no response. For straightforward version handling, it's a solid choice; for active development requiring rapid fixes, consider the maintenance lag. ## Install pip install versions uv add versions poetry add versions ## Installing versions Before you install: Low install friction; pure Python wheel. Maintenance is dormant—last release was 900 days ago, though the repository remains active with a recent commit. The package is marked production/stable and supports Python 3.8 through 3.12. License in practice: MIT license is permissive; you can use this package freely in commercial and private projects with minimal restrictions, provided you retain the license notice. Quickstart: from versions import parse_version, parse_version_set version = parse_version("1.3.0") version_set = parse_version_set("^1.0.0") print(version.matches(version_set)) # True Requires Python 3.8 or above. Verify before relying: - Whether the package handles all version specification edge cases or has known limitations. - Performance characteristics when parsing or comparing large numbers of versions. - Whether dormant status means the package will receive security updates if vulnerabilities are discovered. ## Package facts - License: MIT (permissive) - Python support: supports_current - Install friction: low - Maintenance: dormant - Downloads: 98.6K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags semantic version parsing, version comparison and matching, version handling library, version specification matching, semver parsing library, version requirement validation, parse version strings, version-management, semver [View on SkillFed](https://skillfed.io/packages/versions) · [View on PyPI](https://pypi.org/project/versions/)