--- id: version-utils version: "0.3.2" license: License :: OSI Approved :: GNU General Public License v3 (GPLv3) license_treatment: copyleft maintenance: abandoned --- # version-utils — Library for parsing system package strings and comparing package versions License: copyleft · Maintenance: abandoned · Downloads: 77.4K/mo ## What it is and what it does version_utils is a pure-Python library for parsing and comparing package version strings, currently supporting RPM/Yum format. It provides functions to extract package metadata (name, epoch, version, release, architecture) and compare versions using the same logic as the rpm command-line tool, without requiring the rpm tool or any system dependencies to be installed. The library is designed for scenarios where you need version comparison in unit tests, deployment scripts, or environments without access to system package managers. It offers a Package class for structured access to parsed package information and comparison functions that work identically to their command-line equivalents, making results predictable and portable across systems. Use it for: - Compare installed RPM package versions against requirements in a deployment script without calling rpm command-line tools - Parse and extract metadata from RPM package strings in a cross-platform Python application or test suite - Validate package version constraints in CI/CD pipelines running on systems without rpm or yum installed - Build package management logic that works consistently across different Linux distributions without distro-specific tools ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. Parses and compares package version strings in RPM/Yum format using pure Python, without requiring system tools or external dependencies. No. The project is abandoned (last commit 2022-05-05) with no maintenance signal. While it has no dependencies and the GPLv3 license is clear, the lack of updates means it will not receive bug fixes, security patches, or compatibility updates for modern Python versions. Use only if locked into an older codebase that already depends on it; for new projects, consider actively maintained alternatives. ## Install pip install version-utils uv add version-utils poetry add version-utils ## Installing version-utils Before you install: Installation is frictionless—the package has no runtime dependencies and ships as a wheel. However, maintenance is a concern: the last commit was 2022-05-05 and the project is marked abandoned, meaning bug fixes and compatibility updates are unlikely. License in practice: Licensed under GPLv3 (copyleft). Any code that imports this package must also be GPLv3-compatible or dual-licensed; proprietary or permissive-licensed projects may face licensing conflicts. Quickstart: from version_utils import rpm # Parse an RPM package string pkg = rpm.package('perl-Compress-Raw-Zlib-2.021-136.el6_6.1.x86_64') print(pkg.name, pkg.version, pkg.release) # Compare two versions result = rpm.compare_versions('2.021-136', '2.021-138') if result < 0: print('First version is older') Verify before relying: - Whether the package remains compatible with modern Python versions beyond 3.5, given classifiers list only up to 3.5 - Whether Debian/dpkg support mentioned as 'in the near future' was ever implemented in later releases - Real-world reliability of RPM version comparison logic against current RPM standards ## Package facts - License: License :: OSI Approved :: GNU General Public License v3 (GPLv3) (copyleft) - Python support: unspecified - Install friction: low - Maintenance: abandoned - Downloads: 77.4K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags rpm version comparison, parse package version strings, version parsing library, rpm package parsing, compare rpm versions, yum package version, pure python version utils, version-parsing, rpm-yum, abandoned [View on SkillFed](https://skillfed.io/packages/version-utils) · [View on PyPI](https://pypi.org/project/version-utils/)