trycourier
The official Python library for the Courier API
Decision gist · record as of 2026-08-14
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.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.9 or later; COURIER_API_KEY environment variable or explicit api_key parameter needed for authentication.
- Low friction install with a pure-Python wheel.
- Actively maintained as of 2026-08-14 with recent release.
License · maintenance · safety
Apache-2.0 (permissive) — Apache-2.0 permissive license allows commercial and private use with minimal restrictions; suitable for most projects.
last release 2026-08-14 (0 days) · last repo commit 2026-08-14 · 30 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 277,515 downloads/mo, #8,145 on PyPI
Alternatives
Verify before relying
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)- 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
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 on it.
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
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.
Requires Python 3.9 or later; COURIER_API_KEY environment variable or explicit api_key parameter needed for authentication.
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)
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 packagesanyiodistrohttpxpydanticsniffiotyping-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 |
| Classifiers | Intended Audience :: DevelopersLicense :: OSI Approved :: Apache Software LicenseOperating System :: MacOSOperating System :: Microsoft :: WindowsOperating System :: OS IndependentOperating System :: POSIXOperating System :: POSIX :: LinuxProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: 3.9Topic :: Software Development :: Libraries :: Python ModulesTyping :: Typed |
Evidence: trycourier-7.26.2-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “courier notification api client”
- trycourierA typed Python client for the Courier REST API that sends…
- aa-freightAn Alliance Auth app that manages a central freight service for…
- novu-pyA Python SDK for interacting with Novu's notification platform API,…
Give your agent the search over MCP, or paste the wish link into any chat.
More Python Modules packages
Converts domain names between Unicode and ASCII-compatible encoding (Punycode) according to IDNA 2008 and Unicode Technical Standard 46, with security validation and broader script coverage than the standard library.
Install it if you work with internationalized domain names, need to validate domains, or use HTTP clients that depend on it transitively.
Setuptools is a Python build backend and package management tool that handles building, distributing, and installing Python packages, including support for C/C++ extension modules.
PyYAML parses and emits YAML 1.1 data format, enabling serialization and deserialization of configuration files and Python objects to and from human-readable YAML text.
Pydantic validates Python data structures against type hints, coercing and checking input at runtime to ensure it matches a declared schema.
Provides reusable metadata objects for use with PEP-593 `typing.Annotated` to express common constraints like bounds, collection sizes, and predicates on types.
Install it if you use or build libraries that need to express type constraints in a standardized, inspectable way—or if you want to annotate your own types with…
Provides runtime tools to inspect and introspect Python type annotations, enabling programmatic examination of type hints at execution time.
See also pushbullet.py · ibm-eventnotifications · pypushdeer · pushover-complete · aa-freight · notifiers · fcm-django · firebase-messaging · exponent-server-sdk · urbanairship