{"id":9196,"library":"pulp-cli-deb","title":"Pulp CLI Debian Plugin","description":"pulp-cli-deb is a command-line interface plugin for pulp-cli, designed to manage Debian repositories by interacting with pulpcore's REST API. It allows system administrators to perform various operations on Debian content within a Pulp instance. The library is actively maintained as part of the broader Pulp Project ecosystem, with the current version being 0.4.3, released on February 16, 2026.","status":"active","version":"0.4.3","language":"en","source_language":"en","source_url":"https://github.com/pulp/pulp-cli-deb","tags":["cli","pulp","debian","apt","repository management","devops"],"install":[{"cmd":"pip install pulp-cli-deb","lang":"bash","label":"Install pulp-cli-deb"}],"dependencies":[{"reason":"This is a plugin for pulp-cli; installing pulp-cli-deb will automatically pull in the core pulp-cli package.","package":"pulp-cli","optional":false},{"reason":"Provides the 'glue' code for interacting with the Pulp Deb API. While often pulled in as a transitive dependency, explicit awareness can help troubleshoot installation issues.","package":"pulp-glue-deb"}],"imports":[{"note":"For programmatic interaction with the Pulp Deb REST API, use the `pulp-deb-client` library.","symbol":"NotApplicable","correct":"This library is primarily a command-line interface (CLI) plugin and is not typically imported for direct Python programmatic use of its commands. Instead, it extends the `pulp` CLI tool."}],"quickstart":{"code":"# Install the CLI plugin\npip install pulp-cli-deb\n\n# Configure Pulp CLI to connect to your Pulp instance\n# Replace <PULP_BASE_URL>, <PULP_API_ROOT>, <USERNAME>, <PASSWORD> with your details\n# It's recommended to set these via environment variables or a configuration file\n# For example, create ~/.config/pulp/cli.toml or use `pulp config create -e`\n# For demonstration, assuming a local Pulp instance and default credentials:\n# export PULP_BASE_URL=\"https://localhost\"\n# export PULP_API_ROOT=\"/api/v3\"\n# export PULP_USERNAME=\"admin\"\n# export PULP_PASSWORD=\"password\"\n\n# Test connectivity to the Pulp API\npulp status\n\n# List available Debian repositories\npulp deb repository list\n\n# Get help for Debian commands\npulp deb --help\npulp deb repository --help","lang":"bash","description":"The quickstart involves installing the `pulp-cli-deb` package, which will also install `pulp-cli`. After installation, configure the Pulp CLI to connect to your Pulp instance by setting environment variables or creating a configuration file. Then, you can use `pulp` commands, particularly the `pulp deb` subcommand group, to manage Debian content."},"warnings":[{"fix":"Upgrade to the latest `pulp-cli-deb` (0.4.3 or newer) and ensure `pulp-glue-deb` is also installed and up-to-date. `pip install --upgrade pulp-cli-deb pulp-glue-deb`","message":"Older versions of `pulp-cli-deb` (including some 0.4.x releases) were yanked from PyPI due to insufficient `pulp-glue-deb` dependency handling, leading to broken installations. While 0.4.3 aims to resolve this, ensure a clean installation.","severity":"breaking","affected_versions":"<0.4.3"},{"fix":"For write operations (add, update, delete) on certain content, consider using other Pulp management tools like the Pulp management UI, Hammer CLI, or Foreman Ansible Modules, as recommended by the documentation.","message":"The `pulp` CLI is primarily designed for reading information about synchronized content. Attempts to add, update, or delete certain content types directly via `pulp-cli` might result in 'Error: Call aborted due to safe mode'.","severity":"gotcha","affected_versions":"All versions"},{"fix":"Update your Pulp instance's `pulp_deb` plugin to the latest version and adjust any automation or configurations that rely on these removed fields.","message":"The underlying `pulp_deb` plugin, which `pulp-cli-deb` interacts with, removed deprecated release file fields such as `PUBLISH_RELEASE_FILE_LABEL` and `PUBLISH_RELEASE_FILE_VERSION` in `pulp_deb` 3.3.0. Using these fields in older configurations might lead to unexpected behavior or errors.","severity":"deprecated","affected_versions":"pulp_deb <3.3.0 interactions"}],"env_vars":null,"last_verified":"2026-04-16T00:00:00.000Z","next_check":"2026-07-15T00:00:00.000Z","problems":[{"fix":"Use alternative tools like the Pulp UI, Hammer CLI, or Foreman Ansible Modules for content modification tasks. Consult the Pulp documentation for specific content type limitations.","cause":"Attempting to perform write operations (add, update, delete content) directly through the Pulp CLI when it's configured in a 'read-only' mode for certain operations or content types.","error":"Error: Call aborted due to safe mode"},{"fix":"For programmatic interaction with the Pulp Deb REST API, install and use `pulp-deb-client` (`pip install pulp-deb-client`). This package provides Python API bindings. `pulp-cli-deb` is for command-line usage.","cause":"Attempting to import Python classes from `pulp-cli-deb` or related `pulp_deb` packages directly, assuming it's a programmatic API client, when the package is primarily a CLI extension. You might also be trying to use an outdated client import path.","error":"ImportError: cannot import name 'PulpDebClient' from 'pulp_deb.client'"},{"fix":"Try `pip install --no-cache-dir pulp-cli-deb pulp-glue-deb` to force a fresh download and ensure both are explicitly installed. Verify your `pip` is up-to-date. If issues persist, check PyPI for the latest compatible versions of both packages.","cause":"An older or corrupted pip cache, or an issue with dependency resolution for `pulp-glue-deb`, which is a critical dependency. This was a known issue with earlier 0.4.x releases of `pulp-cli-deb`.","error":"pip install pulp-cli-deb fails with 'ERROR: Could not find a version that satisfies the requirement pulp-glue-deb'"}]}