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.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.4.1
File Size Uploaded
pyaviso-2.4.1.tar.gz 476.0 kB Details

Built distributions (wheels)

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

Total release size: 23.4 MB

Release files / pyaviso-2.4.1.tar.gz

Download URL pyaviso-2.4.1.tar.gz
Size 476.0 kB
Tags Source
SHA-256 checksum
How to use checksums
3e8eb6b4c772c84e9037d2825a8bfc991aa3ee21fdb2ac0529c412a64ab86ebd
BLAKE2b-256 checksum
How to use checksums
5915ef5ac3f01ad4ff2ee032317a24c18eaa0564dbc92a6b402caac21702e38a
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.1-cp310-abi3-manylinux_2_28_x86_64.whl

Download URL pyaviso-2.4.1-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
1c0527e562c0ef643bd0a136e51035fa4e690f812d133a90aca4e594f3b184f3
BLAKE2b-256 checksum
How to use checksums
6a3f6c1620fbaf74566bbdb874d9d34744b564258098113bd2e8b556e0229d6b
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.1-cp310-abi3-manylinux_2_28_aarch64.whl

Download URL pyaviso-2.4.1-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
6dc344c8970da8f5e5a29f539ef540be37fe87f68977a5b795c3b29440200e15
BLAKE2b-256 checksum
How to use checksums
836fc47bc13d5949bf2915d67a1f660bf45995a32b72b5001d4da5b620faba1e
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.1-cp310-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl

Download URL pyaviso-2.4.1-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
7ab91b950484bcdd81279ed5ae973bbceedd72ce96fece66ff8f459a6a698866
BLAKE2b-256 checksum
How to use checksums
a049d890d3f81c73ce73d9735748516083e7c5f9858f95daefd1ab07e19cfce5
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