A Python client for Pulp 2.x, used by release-engineering publishing tools.
Install the pubtools-pulplib
package from PyPI.
pip install pubtools-pulplib
from pubtools.pulplib import Client
# Make a client pointing at this Pulp server
with Client(url='https://pulp.example.com/', auth=('admin', 'some-password')) as client:
# Get a particular repo by ID.
# All methods return Future instances; .result() blocks
repo = client.get_repository('zoo').result()
# Pulp objects have relevant methods, e.g. publish().
# Returned future may encapsulate one or more Pulp tasks.
publish = repo.publish().result()
Patches may be contributed via pull requests to https://github.com/release-engineering/pubtools-pulplib.
All changes must pass the automated test suite, along with various static checks.
The Black code style is enforced. Enabling autoformatting via a pre-commit hook is recommended:
pip install -r requirements-dev.txt
pre-commit install
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.