Metadata-Version: 2.4
Name: pushsource
Version: 2.52.2
Summary: A library to load push items from a variety of sources
Home-page: https://github.com/release-engineering/pushsource
License: GNU General Public License
Project-URL: Documentation, https://release-engineering.github.io/pushsource/
Project-URL: Changelog, https://github.com/release-engineering/pushsource/blob/master/CHANGELOG.md
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.6
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: attrs
Requires-Dist: cryptography
Requires-Dist: frozendict; python_version >= "3.6"
Requires-Dist: frozenlist2
Requires-Dist: kobo
Requires-Dist: koji>=1.18
Requires-Dist: more-executors>=2.7.0
Requires-Dist: pushcollector
Requires-Dist: pyasn1
Requires-Dist: python-dateutil
Requires-Dist: pytz; python_version < "3.9"
Requires-Dist: PyYAML
Requires-Dist: requests
Requires-Dist: importlib-metadata; python_version < "3.10"
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: license
Dynamic: license-file
Dynamic: project-url
Dynamic: requires-dist
Dynamic: requires-python
Dynamic: summary



A Python library for collecting content from various sources, used by
[release-engineering](https://github.com/release-engineering) publishing tools.

[![PyPI](https://img.shields.io/pypi/v/pushsource)](https://pypi.org/project/pushsource/)
![Build Status](https://github.com/release-engineering/pushsource/actions/workflows/tox-test.yml/badge.svg)

- [Source](https://github.com/release-engineering/pushsource)
- [Documentation](https://release-engineering.github.io/pushsource/)


Installation
------------

Install the `pushsource` package from PyPI.

```
pip install pushsource
```


Usage Example
-------------

```python
from pushsource import Source

# Get a source of content; sources and their parameters can be
# specified by URL. This source will use a couple of RPMs from
# Fedora koji as the content source.
with Source.get('koji:https://koji.fedoraproject.org/kojihub?rpm=python3-3.7.5-2.fc31.x86_64.rpm,python3-3.7.5-2.fc31.src.rpm') as source:
  # Iterate over the content and do something with it:
  for push_item in source:
    publish(push_item)
```

Development
-----------

Patches may be contributed via pull requests to
https://github.com/release-engineering/pushsource.

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.
