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. Copyright 2026 ECMWF and individual contributors.

Release files for pyaviso 2.2.0

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.2.0
File Size Uploaded
pyaviso-2.2.0.tar.gz 424.5 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for pyaviso 2.2.0
File Interpreter ABI Platform
pyaviso-2.2.0-cp310-abi3-manylinux_2_28_x86_64.whl CPython 3.10 abi3 Linux glibc 2.28+ x86-64 Details
pyaviso-2.2.0-cp310-abi3-manylinux_2_28_aarch64.whl CPython 3.10 abi3 Linux glibc 2.28+ ARM64 Details
pyaviso-2.2.0-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 11.0+ ARM64, macOS 10.12+ x86-64 Details

Total release size: 22.7 MB

Release files / pyaviso-2.2.0.tar.gz

Download URL pyaviso-2.2.0.tar.gz
Size 424.5 kB
Tags Source
SHA-256 checksum
How to use checksums
b7bb460e994fa98d161fc7a929f2fa25c5746956b29a996853ebfe47b575e67c
BLAKE2b-256 checksum
How to use checksums
0575093f949437ae4ceabb6dd2b130112ee77e66d2724ea1b0b8286ca089f597
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.2.0-cp310-abi3-manylinux_2_28_x86_64.whl

Download URL pyaviso-2.2.0-cp310-abi3-manylinux_2_28_x86_64.whl
Size 5.8 MB
Tags CPython 3.10 Linux glibc 2.28+ x86-64 abi3
SHA-256 checksum
How to use checksums
7721c5c96623cc0b16dc2fa3fd16bad79c268af0a14d0559bf531ceddd924e23
BLAKE2b-256 checksum
How to use checksums
b2bd1a29887f9f92e292c192d84a76f607045ec99c29bb7884b89cba3c489548
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.2.0-cp310-abi3-manylinux_2_28_aarch64.whl

Download URL pyaviso-2.2.0-cp310-abi3-manylinux_2_28_aarch64.whl
Size 5.8 MB
Tags CPython 3.10 Linux glibc 2.28+ ARM64 abi3
SHA-256 checksum
How to use checksums
35cef08f5fe44b5c93b96cc5ecd6d8cdf63b991880134a8d1f0c95e335951345
BLAKE2b-256 checksum
How to use checksums
1d1ed56f70a1597d7305f5b41575f04ccaabad4b77d6e230c7e2e78563c6676e
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.2.0-cp310-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl

Download URL pyaviso-2.2.0-cp310-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Size 10.7 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
0c2f594aa18c67219970fac249a7e709d7146067aeaf0f1fd4cc0c0fb53b93fa
BLAKE2b-256 checksum
How to use checksums
bcf74f048708525b098c6c3e148c4da7089622c3d39d83fa8e4f32f4d3915cf2
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