{"library":"rpm","title":"RPM Shim for Virtualenvs","description":"The `rpm-shim` library (available on PyPI as `rpm`) provides a shim module to enable the use of system RPM Python bindings within Python virtual environments. This is necessary because native RPM Python bindings are typically tied to the system's RPM installation and are not distributed as standard Python packages. The library is currently at version 0.4.0 and releases are made on an as-needed basis to improve compatibility and search heuristics.","language":"python","status":"active","last_verified":"Sun May 17","install":{"commands":["pip install rpm"],"cli":null},"imports":["import rpm"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"import venv\nimport subprocess\nimport sys\nimport os\n\n# Create a dummy virtual environment for demonstration\nvenv_path = './my_rpm_venv'\nif not os.path.exists(venv_path):\n    venv.create(venv_path, with_pip=True)\n\n# Activate the virtual environment and install rpm-shim\n# In a real scenario, you'd activate the venv and then `pip install rpm`\nprint(f\"Installing rpm-shim in {venv_path}...\")\npython_executable = os.path.join(venv_path, 'bin', 'python')\nsubprocess.run([python_executable, '-m', 'pip', 'install', 'rpm'], check=True, capture_output=True)\nprint(\"Installation complete.\")\n\n# Now demonstrate importing and using rpm inside the virtual environment\n# (simulating execution within the venv)\npython_code = \"\"\"\nimport sys\nimport os\n\ntry:\n    import rpm\n    print(f\"Successfully imported rpm from: {rpm.__file__}\")\n    # Example of using rpm (check version as a simple call)\n    print(f\"RPM library version: {rpm.expand_macro('%{_rpm_version}')}\")\nexcept ImportError as e:\n    print(f\"Failed to import rpm: {e}\")\n    print(\"Make sure system RPM Python bindings are installed on your system (e.g., python3-rpm).\")\n\"\"\"\n\nprint(\"\\nRunning rpm import test within the virtual environment...\")\nresult = subprocess.run([python_executable, '-c', python_code], capture_output=True, text=True, check=True)\nprint(result.stdout)\nif result.stderr:\n    print(\"Stderr:\", result.stderr)\n\n# Clean up (optional)\n# import shutil\n# shutil.rmtree(venv_path)\n","lang":"python","description":"This quickstart demonstrates installing `rpm-shim` (as `rpm`) into a virtual environment and then importing and using the `rpm` module. The core idea is that once `rpm-shim` is installed, a simple `import rpm` will make the system's RPM bindings available within your virtual environment. Ensure that your system has the native RPM Python bindings installed (e.g., `python3-rpm` package on RPM-based systems).","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":{"tag":null,"tag_description":null,"last_tested":"2026-05-17","installed_version":"0.4.0","pypi_latest":"0.4.0","is_stale":false,"summary":{"python_range":"3.10–3.9","success_rate":100,"avg_install_s":1.5,"avg_import_s":null,"wheel_type":"wheel"},"results":[{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"rpm","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":"17.8M"},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"rpm","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":1.5,"import_time_s":null,"mem_mb":null,"disk_size":"18M"},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"rpm","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":"19.6M"},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"rpm","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":1.5,"import_time_s":null,"mem_mb":null,"disk_size":"20M"},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"rpm","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":"11.5M"},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"rpm","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":1.4,"import_time_s":null,"mem_mb":null,"disk_size":"12M"},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"rpm","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":"11.3M"},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"rpm","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":1.4,"import_time_s":null,"mem_mb":null,"disk_size":"12M"},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"rpm","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":"17.3M"},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"rpm","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":1.7,"import_time_s":null,"mem_mb":null,"disk_size":"18M"}]}}