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

PyPI wheels are not published yet. Install from a checkout of this repository:

git clone https://github.com/ecmwf/aviso-client.git
cd aviso-client
uv venv
uv sync --locked --group dev
uv run maturin develop --release --locked
uv run python -c "import pyaviso; print(pyaviso.__version__)"
uv run aviso --version

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.0.2

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.0.2
File Size Uploaded
pyaviso-2.0.2.tar.gz 324.9 kB Details

Built distributions (wheels)

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

Total release size: 21.8 MB

Release files / pyaviso-2.0.2.tar.gz

Download URL pyaviso-2.0.2.tar.gz
Size 324.9 kB
Tags Source
SHA-256 checksum
How to use checksums
bc3d784e00527f2c650704018adb1114f068572f0d1edf32a71f425aa9ef3bc6
BLAKE2b-256 checksum
How to use checksums
a7fe2bb11cd88d0c3355bf6b3e4bd81ff6a996317ab93d5bace181fb61a6a81d
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.0.2-cp310-abi3-manylinux_2_28_x86_64.whl

Download URL pyaviso-2.0.2-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
87cbe78347200bacc855cd59f81e5f96c88313e26be7fb24df9725d0efe788c6
BLAKE2b-256 checksum
How to use checksums
96e6266eaa395009c4538d4f9fa9dcfcbd0ba646e4d44ec9894cca2b42bfb3cf
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.0.2-cp310-abi3-manylinux_2_28_aarch64.whl

Download URL pyaviso-2.0.2-cp310-abi3-manylinux_2_28_aarch64.whl
Size 5.5 MB
Tags CPython 3.10 Linux glibc 2.28+ ARM64 abi3
SHA-256 checksum
How to use checksums
4a1fabef07018b16f3e09f522491fb88b697d1fd9aa8f58a57e6c34034d0ce15
BLAKE2b-256 checksum
How to use checksums
dde9eb550526722c491c7ecc233c0f52e41d37d3d8ed1fa4ba43003840d8cad4
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.0.2-cp310-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl

Download URL pyaviso-2.0.2-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
5c343269ab3ab77428e84ff2a31f0d0f301e55b9375d26930af754ac1c8c0678
BLAKE2b-256 checksum
How to use checksums
db434be8f2cff6cc750277aa466e44b3e4da5f3b584a6e3fc7c17db255778dfb
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