Metadata-Version: 2.3
Name: trycourier
Version: 9.0.0
Summary: The official Python library for the Courier API
Project-URL: Homepage, https://github.com/trycourier/courier-python
Project-URL: Repository, https://github.com/trycourier/courier-python
Author-email: Courier <support@courier.com>
License: Apache-2.0
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: MacOS
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: OS Independent
Classifier: Operating System :: POSIX
Classifier: Operating System :: POSIX :: Linux
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: Programming Language :: Python :: 3.14
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Typing :: Typed
Requires-Python: >=3.9
Requires-Dist: anyio<5,>=3.5.0
Requires-Dist: distro<2,>=1.7.0
Requires-Dist: httpx<1,>=0.23.0
Requires-Dist: pydantic<3,>=1.9.0
Requires-Dist: sniffio
Requires-Dist: typing-extensions<5,>=4.14
Provides-Extra: aiohttp
Requires-Dist: aiohttp; extra == 'aiohttp'
Requires-Dist: httpx-aiohttp>=0.1.9; extra == 'aiohttp'
Description-Content-Type: text/markdown

# Courier Python SDK

The Courier Python SDK provides typed access to the Courier REST API from Python applications. Use it to send notifications, manage user profiles, check message status, issue JWT tokens for client-side SDKs, and more.

## Installation

```bash
pip install trycourier
```

Requires Python 3.8+.

## Quick Start

```python
import os
from courier import Courier

client = Courier(
    api_key=os.environ.get("COURIER_API_KEY"),  # the default, can be omitted
)

response = client.send.message(
    message={
        "to": {"user_id": "your_user_id"},
        "template": "your_template_id",
        "data": {"foo": "bar"},
    },
)
print(response.request_id)
```

The client reads `COURIER_API_KEY` from your environment automatically.

An async client is also available as `AsyncCourier`, with the same methods.

## Documentation

Full documentation: **[courier.com/docs/sdk-libraries/python](https://www.courier.com/docs/sdk-libraries/python/)**

- [Quickstart](https://www.courier.com/docs/getting-started/quickstart/)
- [Send API](https://www.courier.com/docs/platform/sending/send-message/)
- [API Reference](https://www.courier.com/docs/reference/get-started/)
