Metadata-Version: 2.4
Name: base-client
Version: 0.1.0
Summary: Implementation of base client
Project-URL: Repository, https://github.com/community-of-python/base-client
Project-URL: Issues, https://github.com/community-of-python/base-client/issues
Project-URL: Changelogs, https://github.com/community-of-python/base-client/releases
Author: community-of-python
Keywords: python
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: <4,>=3.10
Requires-Dist: circuit-breaker-box
Requires-Dist: httpx
Requires-Dist: multidict
Requires-Dist: pydantic
Provides-Extra: redis
Requires-Dist: redis; extra == 'redis'
Description-Content-Type: text/markdown

# HTTP Client with Circuit Breaker Integration

Asynchronous HTTP client with Circuit Breaker integration for failure handling and retries.

## Features

- 🚀 **Asynchronous client** based on `httpx.AsyncClient`
- ⚡ **Circuit Breaker integration** [circuit-breaker-box](https://github.com/community-of-python/circuit-breaker-box)
- 🔄 **Automatic retries** [tenacity](https://tenacity.readthedocs.io/en/latest/)
- 📝 **Detailed logging**
- 🛡️ **Flexible response validation**
- 🔧 **Flexible request preparation** supporting all `httpx` parameters
- 🧩 **Customizable response handlers** via inheritance

## Installation

```bash
pip install base-client
```

## Usage
See -> [Examples](examples/example_client.py)

## Development
### Commands
Use -> [Justfile](Justfile)

