Skip to main content
This is the official Python SDK for the Siren notification platform.

Installation

Basic Usage

Synchronous Client

Asynchronous Client

All synchronous methods have a 1-to-1 asynchronous equivalent—just await them on the async client.

SDK Methods

The Siren Python SDK provides a clean, namespaced interface to interact with the Siren API. Below are the available methods organized by functionality.

Templates

Channel Templates

Messaging

Workflows

Webhooks

Users

For Package Developers

Environment Configuration

For testing the SDK, set these environment variables:
  • SIREN_API_KEY: Your API key from the Siren dashboard
  • SIREN_ENV: Set to dev for development/testing (defaults to prod)

Prerequisites

Setup Steps

  1. Clone the repository:
  2. Create a virtual environment using uv:
  3. Activate the virtual environment:
  4. Install dependencies with uv:
  5. Set up pre-commit hooks:
You are now ready to contribute to the trysiren SDK!

Code Style & Linting

Code style is enforced by:
  • ruff (linting, formatting, import sorting)
  • pyright (type checking)
These tools are automatically run via pre-commit hooks.

Running Tests

To run the test suite, use the following command from the project root directory:
This will execute all tests defined in the tests/ directory.

Submitting Changes

  1. Create a feature branch for your changes
  2. Commit your changes (pre-commit hooks will run)
  3. Push your branch and open a Pull Request against the develop branch

Changes Planned

  • Investigate how critical .close() is for async client
  • Explore ways to avoid manual .close() calls