skillfed

novu-py

Python Client SDK Generated by Speakeasy.

novu-py v3.19.0 84.7K downloads/30d#13,980 on PyPI6
License unclear Active released

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-py

uv

uv add novu-py

poetry

poetry add novu-py

Installing 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

Programming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14

Tags

notification api clientmulti-channel notification sdknovu python clienttrigger notifications programmaticallynotification delivery platformevent-driven notificationsnotification workflow api
notification-platformasync-supportapi-client

More WWW/HTTP packages