Metadata-Version: 2.4
Name: yotel
Version: 0.2.1
Summary: Official Python client for the Yotel API (Zetta Dialer).
Author-email: Zetta AI <support@yotel.in>
License: Apache-2.0
Project-URL: Homepage, https://yotel.in
Project-URL: Documentation, https://docs.yotel.in
Project-URL: Repository, https://github.com/kamal-zetta/dialer
Project-URL: Issues, https://github.com/kamal-zetta/dialer/issues
Keywords: yotel,zetta,dialer,telephony,webhooks
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Communications :: Telephony
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: httpx>=0.24
Requires-Dist: pydantic>=2.0
Provides-Extra: oauth
Requires-Dist: python-jose[cryptography]>=3.3; extra == "oauth"
Provides-Extra: dev
Requires-Dist: pytest>=7.0; extra == "dev"
Requires-Dist: pytest-asyncio>=0.21; extra == "dev"
Requires-Dist: pytest-httpx>=0.26; extra == "dev"
Requires-Dist: python-jose[cryptography]>=3.3; extra == "dev"
Requires-Dist: cryptography>=41.0; extra == "dev"
Dynamic: license-file

# yotel

Official Python client for the [Yotel API](https://docs.yotel.in).

```bash
pip install yotel
```

## Quickstart

```python
import yotel

client = yotel.Client(api_key="yt_test_...")
campaign = client.campaigns.create(name="Demo", dial_mode="predictive")
lead = client.leads.create(campaign_id=campaign.id, phone="9876543210")
```

## Verifying webhooks

```python
from yotel.webhook import verify_and_parse, InvalidSignature

event = verify_and_parse(
    raw_body,
    headers=request_headers,
    signing_secret="your-webhook-secret",
)
# event.event_type, event.data
```

See the full docs at [docs.yotel.in](https://docs.yotel.in).

## Features

- Sync + async clients
- Automatic 429 retries with `Retry-After` respect
- Typed request / response models via Pydantic
- Timing-safe webhook signature verification
- Zero extra deps besides `httpx` and `pydantic`

## License

Apache-2.0
