pulp-cli @ develop
Pulp command line interface
This is a command line interface for Pulp 3.
This software is in beta and future releases may include backwards incompatible changes.
General command syntax
pulp [<global_options>] <plugin> <resource_class> [--type <resource_type>] <action> [<action_options>]
Global options include:
The pulp-cli package can be installed from a variety of sources. After installing, see the next section on how to configure pulp-cli.
pip install pulp-cli
From a source checkout
git clone <your_fork_url> cd pulp-cli pip install -e .
The CLI can be configured by using a toml file.
By default the location of this file is
However, this can be customized by using the
Any settings supplied as options to a command will override these settings.
[cli] base_url = "https://pulp.dev" verify_ssl = false format = "json"
If no user/pass is supplied either in the config file or as an option,
then the CLI will attempt to use
Here is a
.netrc example for localhost:
machine localhost login admin password password
- Redirecting from
https, as done by a typical Pulp installation, does not work properly with
PUTrequests. Please use
https://in the base url. Note that the attempt to use
httpleaks sensitive data over an unencrypted connection.
pulp file repository list
pulp file repository create --name file_repo1
pulp file repository update --name file_repo1 --description "Contains plain files"
pulp file repository destroy --name file_repo1
Tests are run using
Tests are shell scripts in
tests/scripts with names like
The CLI uses the click package which supports shell completion.
To configure this, check out click's
As an example, here is what to add to your
~/.bashrc file if you're using bash:
eval "$(_PULP_COMPLETE=source_bash pulp)"
pulp-cli comes with python type annotations and black code formatting.
To verify your code please run
This cli for Pulp 3 will be versioned indedendently of any version of the server components. It is supposed to be able to communicate with different combinations of server component versions at the same time. So it might be needed to guard certain features / workaround by the available server plugin version.
- Generate the changelog (eg
towncrier --yes --version 0.1.0)
- Commit your local changes, open a PR, and get it merged.
- After your PR is merged, pull the latest changes from develop
- Now tag your release (e.g.
git tag 0.1.0) and push to pulp/pulp-cli
- Monitor the build job and then check PyPI to make sure the package has been uploaded
- Go into plan.io and set CLI issues to
CLOSED - CURRENT RELEASE
- Send an email to pulp-list and pulp-dev to announce the release
bumpversion patchand get the changes merged to develop
Also available in: Atom