Metadata-Version: 2.5
Name: pyiv-common
Version: 0.1.0
Summary: Ubiquitous-library integrations for pyiv (PyYAML, requests)
Project-URL: Homepage, https://github.com/rl337/pyiv
Project-URL: Documentation, https://rl337.org/pyiv/
Project-URL: Repository, https://github.com/rl337/pyiv
Project-URL: Issues, https://github.com/rl337/pyiv/issues
Project-URL: Changelog, https://rl337.org/pyiv/changelog.html
Author-email: Richard Lee <rlee@tokyo3.com>
License: MIT
Keywords: dependency-injection,di,pyiv,requests,yaml
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Typing :: Typed
Requires-Python: >=3.8
Requires-Dist: pyiv>=0.3.0
Requires-Dist: pyyaml
Requires-Dist: requests
Description-Content-Type: text/markdown

# pyiv-common

Ubiquitous-library integrations for [pyiv](https://pypi.org/project/pyiv/):
PyYAML (`YAMLSerDe`) and requests (`RequestsClient`). Core `pyiv` stays
stdlib-only.

**Docs:** [https://rl337.org/pyiv/](https://rl337.org/pyiv/guide/packages.html)

## Install

```bash
pip install pyiv-common
```

Or `pip install pyiv[common]`. Requires Python 3.8+. Unreleased `main`:

```bash
pip install "pyiv-common @ git+https://github.com/rl337/pyiv.git#subdirectory=extras/pyiv-common"
```

## Quick start

```python
from pyiv import Config, get_injector
from pyiv_common.serde import YAMLSerDe
from pyiv_common.network import RequestsClient

class MyConfig(Config):
    def configure(self):
        self.register(YAMLSerDe, YAMLSerDe)
        self.register(RequestsClient, RequestsClient)

injector = get_injector(MyConfig)
serde = injector.inject(YAMLSerDe)
client = injector.inject(RequestsClient)
```

## License

MIT — same as pyiv.
