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.

Metadata

Release files for pyaviso 2.4.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.4.0
File Size Uploaded
pyaviso-2.4.0.tar.gz 475.5 kB Details

Built distributions (wheels)

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

Total release size: 23.4 MB

Release files / pyaviso-2.4.0.tar.gz

Download URL pyaviso-2.4.0.tar.gz
Size 475.5 kB
Tags Source
SHA-256 checksum
How to use checksums
3b36e0e5a69517dbafd1500e74f44bc4cf1621be4ab1e3513e4e091db98a067f
BLAKE2b-256 checksum
How to use checksums
d0032e5de3ace4b4ec4a1605a818a9d4446764d2eecd36ef1ab16bba9b33e548
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.4.0-cp310-abi3-manylinux_2_28_x86_64.whl

Download URL pyaviso-2.4.0-cp310-abi3-manylinux_2_28_x86_64.whl
Size 6.0 MB
Tags CPython 3.10 Linux glibc 2.28+ x86-64 abi3
SHA-256 checksum
How to use checksums
c77391144f389b2562c28fe1f084d4a9a5d605dce84c756cc991dd9a7f4efc76
BLAKE2b-256 checksum
How to use checksums
a4624532f756b4c8bb9b4df3cbc3efa8384c0af820d5c24b0f74e9c74073ec2d
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.4.0-cp310-abi3-manylinux_2_28_aarch64.whl

Download URL pyaviso-2.4.0-cp310-abi3-manylinux_2_28_aarch64.whl
Size 5.9 MB
Tags CPython 3.10 Linux glibc 2.28+ ARM64 abi3
SHA-256 checksum
How to use checksums
a9682ab77f0dfc3717188a3b67f278046ceabfbc4072165b3743335ae2210ccb
BLAKE2b-256 checksum
How to use checksums
98580c5bf29ce93e78089c93cc46ea0a99c9c43997c8b0654a96a9d6a41ca08e
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.4.0-cp310-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl

Download URL pyaviso-2.4.0-cp310-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Size 11.0 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
512526daed301a0501c016855f56372034e03e26eee3f8f0353ebada9c60c8a7
BLAKE2b-256 checksum
How to use checksums
8f0a479f636604b2d66a80d9116b7f9c85e9b4b65a3db0d5cf2ef9ee74aa6d27
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