Skip to content

release-engineering/pubtools-pulplib

Repository files navigation

pubtools-pulplib

A Python client for Pulp 2.x, used by release-engineering publishing tools.

Build Status

Installation

Install the pubtools-pulplib package from PyPI.

pip install pubtools-pulplib

Usage Example

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()

Development

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

License

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.