Metadata-Version: 2.4
Name: apollo-deploy-signal-sdk
Version: 4.0.0
Summary: Python SDK for Apollo Signal API
Author: Apollo Deploy
License-Expression: MIT
Project-URL: Homepage, https://github.com/Apollo-Deploy/signal-sdks
Project-URL: Repository, https://github.com/Apollo-Deploy/signal-sdks
Project-URL: Issues, https://github.com/Apollo-Deploy/signal-sdks/issues
Keywords: apollo,signal,email,sdk
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: httpx>=0.27.0
Requires-Dist: pydantic>=2.0.0
Requires-Dist: python-dateutil>=2.8.0
Provides-Extra: dev
Requires-Dist: pytest>=8.0; extra == "dev"
Requires-Dist: pytest-asyncio>=0.24.0; extra == "dev"
Requires-Dist: mypy>=1.0; extra == "dev"
Dynamic: license-file

# Apollo Signal API Python SDK

Python client for the Apollo Signal API API.

> Generated by Tesseract. Generated source files should not be edited manually.

## Installation

```bash
pip install apollo-deploy-signal-sdk
```

## Quick start

```python
from apollo_deploy_signal_sdk import create_apollo_signal_api_client

client = create_apollo_signal_api_client(
    base_url="https://signal.apollodeploy.com",
    timeout_ms=15_000,
)

api = client.emails
```

The client owns an `httpx.Client`. Close it when the application shuts down, or use it as a context manager.

## Configuration and reliability

- Bounded request timeouts
- Exponential-backoff retries for transient failures
- `Retry-After` support for rate limits
- Default and per-request headers
- Structured `SDKError` values containing status, code, and request ID
- Request, response, and error hooks

```python
client = create_apollo_signal_api_client(
    timeout_ms=30_000,
    retries=3,
    default_headers={"X-Application": "my-service"},
)
```

Unsafe HTTP methods are not retried unless an idempotency key is present or unsafe retries are explicitly enabled.

## Documentation

- [Documentation index](./docs/README.md)
- [Generated types](./docs/types.md)

| Domain | Description |
|---|---|
| [EmailsAPI](./docs/domains/emails.md) | emails operations |
| [MetricsAPI](./docs/domains/metrics.md) | metrics operations |
| [SuppressionsAPI](./docs/domains/suppressions.md) | suppressions operations |
| [SegmentsAPI](./docs/domains/segments.md) | segments operations |
| [TopicsAPI](./docs/domains/topics.md) | topics operations |
| [ContactPropertiesAPI](./docs/domains/contact-properties.md) | contactProperties operations |
| [ContactsAPI](./docs/domains/contacts.md) | contacts operations |
| [WebhooksAPI](./docs/domains/webhooks.md) | webhooks operations |
| [ApiKeysAPI](./docs/domains/api-keys.md) | apiKeys operations |
| [ProjectsAPI](./docs/domains/projects.md) | projects operations |
| [SendingDomainsAPI](./docs/domains/sending-domains.md) | sendingDomains operations |

## Error handling

```python
from apollo_deploy_signal_sdk.errors import SDKError

try:
    pass  # Call a domain operation.
except SDKError as error:
    print(error.status, error.code, error.request_id)
    raise
```

## Requirements

- Python 3.9 or later

## License

MIT
