novu-py
Python Client SDK Generated by Speakeasy.
What it is and what it does
novu-py is a Python SDK generated by Speakeasy that wraps Novu's REST API, allowing developers to programmatically manage notifications. It provides both synchronous and asynchronous interfaces for triggering notification workflows, canceling in-flight events, and broadcasting to all subscribers. The SDK uses pydantic for request/response validation and httpx for HTTP communication, offering a fluent API design that abstracts away raw HTTP details.
The package is designed for developers integrating Novu's multi-channel notification delivery into their applications. It handles the complexity of constructing API requests with proper authentication (via secret key), payload serialization, and response parsing. The SDK supports context-aware notifications, subscriber targeting, workflow overrides, and agent routing—typical requirements for production notification systems.
Use it for:
- Trigger a notification workflow when a user performs an action by calling novu.trigger() with the workflow ID and subscriber details.
- Cancel a scheduled or in-flight notification before it reaches the subscriber using novu.cancel() with a transaction ID.
- Broadcast an announcement or alert to all subscribers in your system via novu.trigger_broadcast() without targeting individual IDs.
- Build async notification pipelines in event-driven applications by using async variants with asyncio.
- Customize notification delivery per channel by passing overrides in the request DTO.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
A Python SDK for interacting with Novu's notification platform API, enabling developers to trigger, cancel, and broadcast notification events across multiple channels from a single interface.
Yes, with a license caveat. The package is actively maintained, has low install friction, and supports modern Python versions (3.10 through 3.14). However, verify the license terms in the repository before committing to production use, since the license status is currently unclear in the package metadata. No known security vulnerabilities are reported.
Install
novu-py on PyPI
pip
pip install novu-pyuv
uv add novu-pypoetry
poetry add novu-pyInstalling novu-py
Before you install
Low install friction with a pure Python wheel distribution. The package is actively maintained with a recent release (7 days old) and supports current Python versions (3.10 through 3.14). Dependencies are minimal and stable: httpcore, httpx, and pydantic.
License in practice
License status is unclear—no SPDX identifier or raw license text is available in the package metadata. Verify the actual license terms in the repository before use in proprietary or restricted contexts.
Quickstart
pip install novu-py
from novu_py import Novu
import novu_py
with Novu(secret_key="YOUR_SECRET_KEY_HERE") as novu:
res = novu.trigger(trigger_event_request_dto=novu_py.TriggerEventRequestDto(
workflow_id="workflow_identifier",
to="SUBSCRIBER_ID",
payload={"key": "value"},
))
print(res)
Requires Python 3.10 or later. A Novu account and API secret key are required to authenticate with the Novu platform.
Verify before relying
- Whether the unclear license is documented in the repository README or LICENSE file and what its terms permit for commercial use.
- Whether the SDK supports all Novu API endpoints or if there are known gaps in coverage.
Package facts
| License | not declared (unclear) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 3 — httpcore, httpx, pydantic |
| Maintenance | actively maintained — 7 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 84,686/month — #13,980 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: novu_py-3.19.0-py3-none-any.whl
Tags
More WWW/HTTP packages
urllib3 is an HTTP client library that provides…
permissive · top 100 on PyPI
requestsRequests is a Python HTTP library that…
permissive · top 100 on PyPI
h11h11 is a pure-Python HTTP/1.1 protocol…
permissive · top 100 on PyPI
httpxHTTPX is a fully featured HTTP client library…
permissive · top 100 on PyPI
httpcoreA minimal low-level HTTP client library that…
permissive · top 100 on PyPI
aiohttpaiohttp is an async HTTP client and server…
permissive · top 100 on PyPI
novuPython SDK for Novu's notification API,…
permissive · top 15,000 on PyPI
dubDub is a Python SDK for the Dub.co link…
unclear · top 15,000 on PyPI
ibm-eventnotificationsPython client library for IBM Cloud Event…
permissive · top 15,000 on PyPI
notify_pySends cross-platform desktop notifications from…
permissive · top 15,000 on PyPI
mistralaiPython client SDK for the Mistral AI API,…
unclear · top 1,000 on PyPI
desktop-notifierSends cross-platform desktop notifications from…
permissive · top 15,000 on PyPI
firebase-messagingReceives push notifications sent via Firebase…
permissive · top 15,000 on PyPI
notifiersNotifiers provides a unified interface to send…
permissive · top 15,000 on PyPI
pypushdeerA Python SDK for sending push notifications…
permissive · top 15,000 on PyPI
telegraphTelegraph is a Python wrapper for the Telegraph…
permissive · top 15,000 on PyPI