trycourier
The official Python library for the Courier API
What it is and what it does
Trycourier is the official Python SDK for Courier's notification platform API. It provides a typed, synchronous and asynchronous client to send messages through Courier's infrastructure, manage user profiles, track message delivery status, and generate JWT tokens for embedding Courier's client-side SDKs in web or mobile applications. The package wraps Courier's REST API and handles authentication via the COURIER_API_KEY environment variable or explicit configuration.
The SDK is built on httpx for HTTP transport, pydantic for request/response validation, and anyio for async support. It supports Python 3.9 and later. Installation is straightforward via pip, and the library is actively maintained with no known security vulnerabilities.
Use it for:
- Send transactional notifications (emails, SMS, push) to users via a single API call with template support
- Build notification management dashboards that track message delivery status and user preferences
- Embed Courier's client-side SDKs in web applications by issuing JWT tokens server-side
- Manage user contact information and notification preferences programmatically
- Integrate multi-channel notifications into Python backend services without managing individual provider APIs
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
A typed Python client for the Courier REST API that sends notifications, manages user profiles, checks message status, and issues JWT tokens for client-side SDKs.
Yes. The package is actively maintained, has low install friction, carries a permissive license, and has no known vulnerabilities. It is the official SDK for Courier's API and suitable for any Python application that needs to send or manage notifications through Courier's platform.
Install
trycourier on PyPI
pip
pip install trycourieruv
uv add trycourierpoetry
poetry add trycourierInstalling trycourier
Before you install
Low friction install with a pure-Python wheel. Actively maintained as of 2026-08-14 with recent release. Depends on well-established libraries with no compiled dependencies.
License in practice
Apache-2.0 permissive license allows commercial and private use with minimal restrictions; suitable for most projects.
Quickstart
pip install trycourier
import os
from trycourier import Courier
client = Courier(api_key=os.environ.get("COURIER_API_KEY"))
response = client.send.message(
message={
"to": {"user_id": "your_user_id"},
"template": "your_template_id",
"data": {"foo": "bar"},
},
)
print(response.request_id)
Requires Python 3.9 or later; COURIER_API_KEY environment variable or explicit api_key parameter needed for authentication.
Verify before relying
- Whether the async client (AsyncCourier) is feature-complete relative to the sync client
- Rate limiting or quota behavior when calling the Courier API through this SDK
- Retry and timeout defaults and whether they are configurable
- Specific capabilities beyond send, profile management, status checking, and JWT token issuance
Package facts
| License | Apache-2.0 (permissive) |
| Python support | supports the current Python release (>=3.9) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 6 — anyio, distro, httpx, pydantic, sniffio, typing-extensions |
| Maintenance | actively maintained — 0 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 277,515/month — #8,145 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: trycourier-7.26.2-py3-none-any.whl
Tags
More Python Modules packages
Converts domain names between Unicode and…
permissive · top 100 on PyPI
setuptoolsSetuptools is a Python build backend and…
permissive · top 100 on PyPI
PyYAMLPyYAML parses and emits YAML 1.1 data format,…
permissive · top 100 on PyPI
pydanticPydantic validates Python data structures…
permissive · top 100 on PyPI
annotated-typesProvides reusable metadata objects for use with…
permissive · top 100 on PyPI
typing-inspectionProvides runtime tools to inspect and…
permissive · top 100 on PyPI
pushbullet.pyA Python client library for the Pushbullet API…
permissive · top 15,000 on PyPI
ibm-eventnotificationsPython client library for IBM Cloud Event…
permissive · top 15,000 on PyPI
pypushdeerA Python SDK for sending push notifications…
permissive · top 15,000 on PyPI
pushover-completeA Python client library for the Pushover…
permissive · top 15,000 on PyPI
aa-freightAn Alliance Auth app that manages a central…
unclear · top 15,000 on PyPI
notifiersNotifiers provides a unified interface to send…
permissive · top 15,000 on PyPI
fcm-djangoDjango app that integrates Firebase Cloud…
permissive · top 15,000 on PyPI
firebase-messagingReceives push notifications sent via Firebase…
permissive · top 15,000 on PyPI
exponent-server-sdkSends push notifications to Expo mobile apps…
permissive · top 15,000 on PyPI
urbanairshipPython library for integrating Airship's push…
permissive · top 15,000 on PyPI