Metadata-Version: 2.5
Name: pyiv-common
Version: 0.2.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>=1.0.0
Requires-Dist: pyyaml
Requires-Dist: requests
Description-Content-Type: text/markdown

# pyiv-common

Ubiquitous-library integrations for [pyiv](https://github.com/rl337/pyiv):
PyYAML (`YAMLSerDe`) and requests (`RequestsHttpClient`). Core `pyiv` stays
stdlib-only (including urllib HTTP clients).

## Install

```bash
pip install pyiv-common
# or
pip install pyiv[common]
```

Unreleased from git:

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

Requires `pyiv>=1.0`.

## Quick start

```python
from pyiv import Config, get_injector
from pyiv.http import HttpClient
from pyiv_common.network import RequestsHttpClient

class MyConfig(Config):
    def configure(self):
        self.register(HttpClient, RequestsHttpClient)

injector = get_injector(MyConfig)
client = injector.inject(HttpClient)
```

Docs: https://rl337.org/pyiv/
