Skip to main content

Python client for aviso-server, a notification service for data-driven workflows.

Project description

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())

for notification in client.listen("test_polygon", filter={"polygon": "0,0,1,0,1,1,0,0"}):
    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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

pyaviso-2.0.0rc2-cp310-abi3-manylinux_2_28_x86_64.whl (4.9 MB view details)

Uploaded CPython 3.10+manylinux: glibc 2.28+ x86-64

pyaviso-2.0.0rc2-cp310-abi3-manylinux_2_28_aarch64.whl (4.9 MB view details)

Uploaded CPython 3.10+manylinux: glibc 2.28+ ARM64

pyaviso-2.0.0rc2-cp310-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (9.0 MB view details)

Uploaded CPython 3.10+macOS 10.12+ universal2 (ARM64, x86-64)macOS 10.12+ x86-64macOS 11.0+ ARM64

File details

Details for the file pyaviso-2.0.0rc2-cp310-abi3-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pyaviso-2.0.0rc2-cp310-abi3-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 b8dcdca049bc98e7beafc9f70cdecf96f06ac11426e611f1a4bd892f7eeb2dd1
MD5 4070950ed509114bdc561b50d105cc50
BLAKE2b-256 0ddcf3471de68b71514d10665d3f4d7f429b44ed016388d80d7c848cbc760b91

See more details on using hashes here.

File details

Details for the file pyaviso-2.0.0rc2-cp310-abi3-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for pyaviso-2.0.0rc2-cp310-abi3-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 aea35a13cfc5f88f23d752fdeaeb61ed8ac7c26e2639b38a7a625e6cc4d5ccd0
MD5 05af445ea2683a7fdf0ef024d4afe4c7
BLAKE2b-256 dd4a6058195022159eaa2f4c2f8f72bf6615d781a0aa38f9738fc51fc11d63b8

See more details on using hashes here.

File details

Details for the file pyaviso-2.0.0rc2-cp310-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl.

File metadata

File hashes

Hashes for pyaviso-2.0.0rc2-cp310-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 edbea51a3ff9c281d6ea72312c22d92862bc8b1022609b3b4c757b9fb88c3afb
MD5 f01f26f6e892c37f4f3b7bb83e45e7ad
BLAKE2b-256 de01dc46c57221fbe183c09dfaa0edc6ef1e446c30b4fb1be258e9ec1c34bfbd

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page