Skip to main content

pyaviso

Python client for aviso-server, ECMWF's notification service for data-driven workflows. The repo this package ships from is aviso-client; the installable distribution and the importable module are both named pyaviso.

The package wraps the Rust core via PyO3 bindings. The compiled extension lives at pyaviso._native and a curated Python wrapper at pyaviso.__init__ exposes a Pythonic surface: synchronous AvisoClient and asynchronous AsyncAvisoClient, value types (Notification, NotifyResponse, SchemaCatalog, SchemaResponse), the Trigger builder, the five auth providers (Bearer, Basic, Env, ConfigFile, Chain), the two state stores (MemoryStore, JsonFileStore), and the exception hierarchy rooted at AvisoError.

Installing pyaviso also puts the aviso command-line tool on your PATH, so one install gives you both the importable library and the CLI.

Install

Add pyaviso to a project:

uv add pyaviso

For the standalone CLI:

uv tool install pyaviso

Quickstart

Set two environment variables for the server URL and credentials, then run a listener. pyaviso.Env() reads AVISO_TOKEN (preferred) or the AVISO_USERNAME/AVISO_PASSWORD pair.

export AVISO_BASE_URL=https://aviso.example.org
export AVISO_USERNAME=alice
export AVISO_PASSWORD=wonderland
import os
import pyaviso

client = pyaviso.AvisoClient(base_url=os.environ["AVISO_BASE_URL"], auth=pyaviso.Env())

polygon = [[0, 0], [1, 0], [1, 1], [0, 0]]
for notification in client.listen("test_polygon", filter={"polygon": polygon}):
    print(notification.sequence, notification.payload)

The example uses an event type called test_polygon. Substitute your own if your server has different schemas configured; discover what is there with client.schema().event_types and client.schema_for("<event_type>"). The user-facing Python documentation covers the full surface, including the async client, triggers, state stores, the exception hierarchy, and how schemas work.

License

Apache-2.0. See LICENSE.txt. Copyright 2026 ECMWF and individual contributors.

Release files for pyaviso 2.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pyaviso 2.1.1
File Size Uploaded
pyaviso-2.1.1.tar.gz 330.5 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for pyaviso 2.1.1
File Interpreter ABI Platform
pyaviso-2.1.1-cp310-abi3-manylinux_2_28_x86_64.whl CPython 3.10 abi3 Linux glibc 2.28+ x86-64 Details
pyaviso-2.1.1-cp310-abi3-manylinux_2_28_aarch64.whl CPython 3.10 abi3 Linux glibc 2.28+ ARM64 Details
pyaviso-2.1.1-cp310-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl CPython 3.10 abi3 macOS 10.12+ universal2 (ARM64, x86-64), macOS 10.12+ x86-64, macOS 11.0+ ARM64 Details

Total release size: 21.9 MB

Release files / pyaviso-2.1.1.tar.gz

Download URL pyaviso-2.1.1.tar.gz
Size 330.5 kB
Tags Source
SHA-256 checksum
How to use checksums
c3c526c0f8df5c9a7bde1b58e0f2e407e9a56ca893c2da9f0d45e4e1222118a4
BLAKE2b-256 checksum
How to use checksums
166e2d03bb2a210aff459ddcf809a80bb8c2910bfbb702b7c4584c689c98062d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / pyaviso-2.1.1-cp310-abi3-manylinux_2_28_x86_64.whl

Download URL pyaviso-2.1.1-cp310-abi3-manylinux_2_28_x86_64.whl
Size 5.6 MB
Tags CPython 3.10 Linux glibc 2.28+ x86-64 abi3
SHA-256 checksum
How to use checksums
2a86aa285f82fd4596f90d1849d692a3c94860efdd84cb412b45b898eb560616
BLAKE2b-256 checksum
How to use checksums
8321db104c3731aa072f2990259e11f4af90ca4ceb3693b997a2d6ea0667f9e3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / pyaviso-2.1.1-cp310-abi3-manylinux_2_28_aarch64.whl

Download URL pyaviso-2.1.1-cp310-abi3-manylinux_2_28_aarch64.whl
Size 5.6 MB
Tags CPython 3.10 Linux glibc 2.28+ ARM64 abi3
SHA-256 checksum
How to use checksums
a07ca80e013bc49e6637a724eeee62654564b76090b89671b98bad943057160d
BLAKE2b-256 checksum
How to use checksums
c428005219a0f6b8dc9c5af319361305fad12c73e4373b55c94dc0d607731fa4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / pyaviso-2.1.1-cp310-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl

Download URL pyaviso-2.1.1-cp310-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Size 10.4 MB
Tags CPython 3.10 abi3 macOS 10.12+ universal2 (ARM64, x86-64) macOS 10.12+ x86-64 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
ddcaeffaa3943b1ea939891ca7e10d8e4f5aed5d1a5a1afbd42780535227c15d
BLAKE2b-256 checksum
How to use checksums
b30ae7bdeecb4ba30d782da5f5494b8eee31a8f3f1b1cd27f82c76e346e486d9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page