rpm
Shim RPM module for use in virtualenvs.
What it is and what it does
rpm is a shim module that bridges the gap between system-installed RPM Python bindings and Python virtualenvs. RPM's official Python bindings are tied to the system RPM installation and are not packaged on PyPI, making them inaccessible inside isolated environments. This shim allows you to import and use those system bindings from within a virtualenv without modifying the system installation.
The package is designed specifically for Linux systems running RPM-based distributions. It has no runtime dependencies and installs as a pure Python wheel. The shim works by making the system's rpm module available to the virtualenv's Python interpreter, enabling workflows that need both isolation and access to system package management APIs.
Use it for:
- Build tools or CI/CD scripts running in virtualenvs that need to query or manipulate system RPM packages
- Container image builders or deployment tools that must inspect installed RPM packages from within an isolated Python environment
- Package management utilities that need to integrate system RPM operations with Python code running in a venv
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Provides access to system RPM Python bindings inside a virtualenv by shimming the system-installed rpm module, making it importable in isolated Python environments.
Yes, if you need RPM bindings in a virtualenv on a Linux system with system RPM installed. The shim is lightweight, has no dependencies, and solves a specific problem that has no other workaround. However, maintenance is aging (last release 493 days ago), so verify compatibility with your specific RPM and Python versions before relying on it in production.
Install
rpm on PyPI
pip
pip install rpmuv
uv add rpmpoetry
poetry add rpmInstalling rpm
Before you install
Low install friction with no runtime dependencies. Maintenance is aging—last release was 493 days ago and the repository has minimal activity (3 stars), though it remains unarchived and the last commit is recent.
License in practice
MIT license is permissive; you can use, modify, and distribute this package freely with minimal restrictions.
Quickstart
# On host system with rpm bindings installed:
$ pip install rpm
# In virtualenv:
$ python -c "import rpm; print(rpm.__version__)"
System must have RPM Python bindings installed (python3-rpm or equivalent) outside the virtualenv; the shim only makes them accessible within the virtualenv, it does not provide the bindings themselves.
Verify before relying
- Whether the shim works correctly with all system RPM versions and Python versions listed in classifiers
- Whether virtualenv isolation is preserved when using the shim
- Current test coverage and whether the package is actively tested against modern RPM releases
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (>=3.6) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | none |
| Maintenance | aging — 493 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 230,368/month — #9,112 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: rpm-0.4.0-py3-none-any.whl
Keywords: rpm, virtualenv
Tags
More Software Development packages
Provides backported and experimental type hints…
permissive · top 100 on PyPI
numpyNumPy provides an N-dimensional array object…
permissive · top 100 on PyPI
fastapiFastAPI is a Python web framework for building…
permissive · top 100 on PyPI
annotated-docProvides a way to document function parameters,…
permissive · top 100 on PyPI
typerTyper builds command-line applications from…
permissive · top 1,000 on PyPI
distlibDistlib provides low-level packaging utilities…
permissive · top 1,000 on PyPI
selinuxProvides a pure-Python shim for the selinux…
permissive · top 5,000 on PyPI
rpmfileInspect and extract files from RPM archive…
permissive · top 5,000 on PyPI
virtualenv-cloneClones an existing Python virtualenv to a new…
permissive · top 5,000 on PyPI
rpm-vercmpCompares RPM package version strings using the…
permissive · top 15,000 on PyPI
virtualenvvirtualenv creates isolated Python environments…
permissive · top 100 on PyPI
version-utilsParses and compares package version strings in…
copyleft · top 15,000 on PyPI
notebook-shimProvides a compatibility layer that allows…
permissive · top 1,000 on PyPI
pipenvPipenv automates Python virtual environment…
permissive · top 1,000 on PyPI
nodeenvnodeenv creates isolated Node.js environments…
permissive · top 1,000 on PyPI
kojiKoji is a command-line client and library for…
copyleft · top 15,000 on PyPI