Install & Compatibility
Where this runs
tested against v0.40.1 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
muslpy 3.10–3.920 runs
installs and imports cleanly · install 0.0s · import 0.000s · 33.3MB
glibcpy 3.10–3.920 runs
installs and imports cleanly · install 3.9s · import 0.000s · 33MB
30MB installed
● package 30MB
Code
Verified usage
Verified import paths — ran on the pinned version, not inferred.
PulpConnection
✓ from pulp_glue import PulpConnection
✗ from pulp_glue import PulpConnection
This example demonstrates how to connect to a Pulp server using `PulpConnection` and `PulpAPI`, authenticate with basic credentials (from environment variables), and then list available core repositories. Adjust `PULP_BASE_URL`, `PULP_USERNAME`, and `PULP_PASSWORD` for your Pulp instance. Set `verify_ssl=True` in production if your server has a trusted certificate.
import os
from pulp_glue.common.connection import PulpConnection
from pulp_glue.common.api import PulpAPI
import httpx # For error handling
# Configuration (replace with your Pulp server details or environment variables)
PULP_BASE_URL = os.environ.get('PULP_BASE_URL', 'https://localhost:8080/pulp/api/v3/')
PULP_USERNAME = os.environ.get('PULP_USERNAME', 'admin')
PULP_PASSWORD = os.environ.get('PULP_PASSWORD', 'password')
try:
# 1. Establish a connection
# In production, ensure verify_ssl=True with valid certs
connection = PulpConnection(
base_url=PULP_BASE_URL,
basic_auth=(PULP_USERNAME, PULP_PASSWORD),
verify_ssl=False
)
# 2. Initialize the API client
api = PulpAPI(connection)
# 3. Perform a basic operation (e.g., list repositories)
print(f"Connecting to Pulp at: {PULP_BASE_URL}")
print(f"Listing core repositories:")
repositories = api.repositories_core.list()
for repo in repositories.results:
print(f" - {repo.name} (Pulp HREF: {repo.pulp_href})")
except httpx.HTTPStatusError as e:
print(f"HTTP Error: {e.response.status_code} - {e.response.text}")
print("Please check your Pulp URL, username, and password.")
except httpx.RequestError as e:
print(f"Request Error: {e}")
print("Could not connect to the Pulp server. Check the URL and server status.")
except Exception as e:
print(f"An unexpected error occurred: {e}")
Debug
Known issues
breakingSupport for Python 3.6 was dropped in version 0.28.0, and Python 3.7 was dropped in version 0.33.0.fixEnsure your environment uses Python 3.10 or newer (currently up to 3.14 is supported).
affects: >=0.28.0, >=0.33.0
deprecatedThe `PulpAPI.get_client()` method was deprecated in version 0.34.0.fixFor specific client access (e.g., `pulpcore`), import `get_client` directly from `pulp_glue.pulpcore.client`. For general API interaction, access resources directly via the `PulpAPI` object (e.g., `api.repositories_core`).
affects: >=0.34.0
gotchaThe `verify_ssl` argument in `PulpConnection` now defaults to `True` since version 0.27.0. If you are using self-signed certificates or a development environment, you might need to set `verify_ssl=False` explicitly.fixWhen initializing `PulpConnection`, add `verify_ssl=False` for untrusted certificates, or ensure your server uses valid, trusted SSL certificates.
affects: >=0.27.0
Upgrade
Version history
0.40.1latest on PyPI · released Jun 8, 2026
Audit
Dependencies
No dependency data recorded yet.