https://github.com/release-engineering/pubtools-pulplib
A Pulp library for publishing tools
https://github.com/release-engineering/pubtools-pulplib
Last synced: about 1 year ago
JSON representation
A Pulp library for publishing tools
- Host: GitHub
- URL: https://github.com/release-engineering/pubtools-pulplib
- Owner: release-engineering
- License: gpl-3.0
- Created: 2019-06-10T23:53:40.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2024-04-23T14:26:35.000Z (about 2 years ago)
- Last Synced: 2024-04-24T12:09:55.508Z (about 2 years ago)
- Language: Python
- Size: 2.49 MB
- Stars: 2
- Watchers: 11
- Forks: 24
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
pubtools-pulplib
================
A Python client for [Pulp 2.x](https://pulpproject.org/), used by
[release-engineering](https://github.com/release-engineering) publishing tools.
[](https://github.com/release-engineering/pubtools-pulplib/actions/workflows/tox-test.yml)
- [Source](https://github.com/release-engineering/pubtools-pulplib)
- [Documentation](https://release-engineering.github.io/pubtools-pulplib/)
- [PyPI](https://pypi.org/project/pubtools-pulplib)
Installation
------------
Install the `pubtools-pulplib` package from PyPI.
```
pip install pubtools-pulplib
```
Usage Example
-------------
```python
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](https://black.readthedocs.io/) 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.