{"library":"pulp-glue-deb","title":"Pulp Glue DEB","description":"pulp-glue-deb is a Python glue library designed to provide a version-agnostic interface for interacting with the Pulpcore REST API, specifically for managing Debian (DEB) content. It abstracts away version-specific API changes, allowing developers to write more resilient code. The current version is 0.4.3, and it receives regular updates, typically a few releases per year, indicating active maintenance.","language":"python","status":"active","last_verified":"Mon May 18","install":{"commands":["pip install pulp-glue-deb"],"cli":null},"imports":["from pulp_glue_core.connection import PulpConnection","from pulp_glue_deb.app.deb import api as deb_api","from pulp_glue_deb.app.deb.api import DebClient"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"import os\nfrom pulp_glue_core.connection import PulpConnection\nfrom pulp_glue_deb.app.deb import api as deb_api\n\n# Get Pulp API URL and credentials from environment variables\nPULP_API_URL = os.environ.get('PULP_API_URL', 'http://localhost:8080/pulp/api/v3/')\nPULP_USERNAME = os.environ.get('PULP_USERNAME', 'admin')\nPULP_PASSWORD = os.environ.get('PULP_PASSWORD', 'password')\n\ntry:\n    # 1. Establish connection to Pulp\n    # Set verify_ssl=True in production and ensure valid certificates\n    connection = PulpConnection(\n        PULP_API_URL,\n        username=PULP_USERNAME,\n        password=PULP_PASSWORD,\n        verify_ssl=False # WARNING: Do not use False in production with untrusted CAs\n    )\n    print(f\"Connected to Pulp at {PULP_API_URL}\")\n\n    # 2. Get the DEB API client\n    deb_client = deb_api.DebClient(connection)\n\n    # 3. Create a DEB repository\n    repo_name = \"my-test-deb-repo\"\n    repo_description = \"A test Debian repository created via pulp-glue-deb.\"\n\n    # Check if repository already exists to avoid creation error\n    existing_repos = deb_client.list_repositories(name=repo_name)\n    if existing_repos:\n        repo = existing_repos[0]\n        print(f\"Repository '{repo_name}' already exists (Pulp Href: {repo['pulp_href']}).\")\n    else:\n        repo = deb_client.create_repository(\n            name=repo_name,\n            description=repo_description\n        )\n        print(f\"Successfully created DEB repository: {repo['name']} (Pulp Href: {repo['pulp_href']})\")\n\n    # Optional: Delete the created repository\n    # deb_client.delete_repository(repo['pulp_href'])\n    # print(f\"Deleted repository '{repo_name}'.\")\n\nexcept Exception as e:\n    print(f\"An error occurred: {e}\")\n    print(\"Ensure Pulpcore with the 'deb' plugin is running and accessible. Also verify environment variables PULP_API_URL, PULP_USERNAME, PULP_PASSWORD are set correctly.\")\n","lang":"python","description":"This quickstart demonstrates how to establish a connection to a Pulpcore server and create a new Debian repository using `pulp-glue-deb`. It uses environment variables for Pulp API credentials and gracefully handles pre-existing repositories.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":{"tag":null,"tag_description":null,"last_tested":"2026-05-18","installed_version":"0.4.4","pypi_latest":"0.4.4","is_stale":false,"summary":{"python_range":"3.10–3.9","success_rate":100,"avg_install_s":4,"avg_import_s":null,"wheel_type":"wheel"},"results":[{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"pulp-glue-deb","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":"33.3M"},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"pulp-glue-deb","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":5.5,"import_time_s":null,"mem_mb":null,"disk_size":"33M"},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"pulp-glue-deb","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":"36.3M"},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"pulp-glue-deb","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":4.2,"import_time_s":null,"mem_mb":null,"disk_size":"36M"},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"pulp-glue-deb","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":"27.9M"},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"pulp-glue-deb","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":3.5,"import_time_s":null,"mem_mb":null,"disk_size":"28M"},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"pulp-glue-deb","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":"27.7M"},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"pulp-glue-deb","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":3.6,"import_time_s":null,"mem_mb":null,"disk_size":"28M"},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"pulp-glue-deb","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":"22.9M"},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"pulp-glue-deb","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":3.4,"import_time_s":null,"mem_mb":null,"disk_size":"24M"}]}}