Skip to content

packit/rpm-shim

Folders and files

NameName
Last commit message
Last commit date

Latest commit

dc6f7eb · Nov 7, 2024

History

41 Commits
Oct 25, 2024
Oct 31, 2024
Aug 12, 2024
Feb 7, 2023
Feb 7, 2023
Feb 9, 2023
Nov 7, 2024
Feb 7, 2023
Feb 14, 2023
Oct 25, 2024
Feb 9, 2023
Feb 20, 2023
Aug 12, 2024

Repository files navigation

rpm-shim

Python RPM shim module for use in virtalenvs.

Purpose

RPM Python bindings are tied to system RPM installation and are not available as a Python package (on PyPI or elsewhere). This shim module makes it possible to import and use the bindings in a virtualenv.

There is no point installing this shim module on a bare system, outside of a virtualenv. It should still work, but there is no benefit. If you want to do that anyway, pay attention not to overwrite installed RPM Python bindings.

Example

Here is a scenario of how this module enables usage of RPM Python bindings in a newly created virtualenv. First commands are run on a host system.

# make sure RPM Python bindings are installed and functional
$ rpm -q python3-rpm
python3-rpm-4.18.0-1.fc37.x86_64

$ pip list
Package    Version
---------- -------
rpm        4.18.0

$ python -c "import rpm; print(rpm.__version__)"
4.18.0

# let's create a virtualenv
$ python -m venv env
$ source env/bin/activate

# the bindings are not accessible there
(env) $ python -c "import rpm; print(rpm.__version__)"
Traceback (most recent call last):
  File "<string>", line 1, in <module>
ModuleNotFoundError: No module named 'rpm'

# install the shim module from PyPI
(env) $ pip install rpm
...
Successfully installed rpm-0.1.0

# now we can import the bindings
(env) $ python -c "import rpm; print(rpm.__version__)"
4.18.0