rpm-vercmp
Pure Python implementation of rpmvercmp
What it is and what it does
rpm-vercmp is a pure-Python implementation of the RPM Package Manager's version comparison algorithm. It provides a single function to compare two version strings and return their ordering, matching the behavior of RPM's C library without requiring that library to be installed. This is useful on systems where RPM is not available or where the C library does not support the Python interpreter in use.
The package has no runtime dependencies and implements the comparison logic entirely in Python. However, it has been abandoned since its initial release in October 2018, with no updates to support newer Python versions or address any potential issues discovered since then.
Use it for:
- Compare RPM package versions on non-RPM-based systems where rpm-python is unavailable.
- Sort a list of RPM version strings using the official RPM comparison rules without installing system packages.
- Validate or parse version strings in build tools or package managers that need RPM-compatible version ordering.
- Test or verify RPM version comparison logic in pure Python environments without C library dependencies.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Compares RPM package version strings using the same algorithm as the RPM Package Manager, without requiring the C library.
No. The package is abandoned (last release 2018-10-30) and declares support only for Python 2.6, 2.7, 3.4, 3.6, and 3.7, all end-of-life versions. While it has no known vulnerabilities and no runtime dependencies, the lack of maintenance means it has not been tested or updated for modern Python versions. Use only if locked into one of the declared Python versions with no alternative.
Install
rpm-vercmp on PyPI
pip
pip install rpm-vercmpuv
uv add rpm-vercmppoetry
poetry add rpm-vercmpInstalling rpm-vercmp
Before you install
High install friction: the package has been abandoned since its only release on 2018-10-30, with no maintenance activity or updates. Declared support for Python 2.6, 2.7, 3.4, 3.6, and 3.7 is likely outdated for modern environments.
License in practice
Licensed under Apache Software License (permissive), which allows commercial use, modification, and distribution with minimal restrictions.
Quickstart
import rpm_vercmp
assert rpm_vercmp.vercmp("1.0", "1.0") == 0
assert rpm_vercmp.vercmp("1.0", "1.1") == -1
Verify before relying
- Whether the package works on Python versions released after 3.7 despite being last released in 2018.
- Whether the pure-Python implementation correctly handles all edge cases in RPM's version comparison algorithm.
- Current compatibility with non-RPM-based systems where the C library is unavailable.
Package facts
| License | not declared (permissive) |
| Python support | not specified |
| Install friction | high — source build required |
| Runtime dependencies | none |
| Maintenance | abandoned — 2,845 days since the last release |
| First released | |
| Downloads | 99,486/month — #13,017 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: rpm_vercmp-0.1.2.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
version-utilsParses and compares package version strings in…
copyleft · top 15,000 on PyPI
kojiKoji is a command-line client and library for…
copyleft · top 15,000 on PyPI
fastdiffFastdiff provides a fast diff algorithm…
permissive · top 15,000 on PyPI
rpmProvides access to system RPM Python bindings…
permissive · top 15,000 on PyPI
rpmfileInspect and extract files from RPM archive…
permissive · top 5,000 on PyPI
cdifflibcdifflib provides a C-accelerated…
permissive · top 15,000 on PyPI
verspecverspec parses and compares software version…
permissive · top 5,000 on PyPI
ps-memps_mem reports the actual core memory usage…
copyleft · top 5,000 on PyPI
pyjarowinklerComputes Jaro and Jaro-Winkler similarity and…
permissive · top 15,000 on PyPI
xmldiffxmldiff compares two XML files or trees and…
permissive · top 15,000 on PyPI