Skip to main content

Meridian Storage Streaming

CI License Python

meridian-storage-streaming is the provider-neutral Meridian V1 streaming Catalog package. It owns Stream, Subscription, and ConsumerGroup Resources; Event, Delivery, Position, and opaque Cursor Data; mapping-first Expressions; versioned Operations; Capability requirements; normalized failures; policy and evidence hook contracts; and a reusable black-box conformance suite.

This repository publishes exactly one Python distribution and contributes only meridian_storage.streaming to the shared PEP 420 namespace. It contains no engine client, engine identifier, deployment configuration, provisioning logic, or lifecycle authority.

Install

python -m pip install meridian-storage-streaming==1.0.0

Python 3.12 or newer is required. The release pins the published meridian-storage-core==1.0.0 and meridian-storage-semantics==1.0.0 contracts exactly; their wheel and source-distribution digests are recorded in compatibility.json.

Mapping-first public interface

streaming = meridian.catalog("streaming")

publish = streaming.publish(
    resource=user_input["stream_resource"],
    data=user_input["event"],
    idempotency_key=user_input.get("idempotency_key"),
)
published = meridian.execute(publish).data

deliveries = meridian.execute(streaming.poll(
    subscription=user_input["subscription_resource"],
    consumer_group=user_input["consumer_group_resource"],
    limit=user_input.get("limit", 100),
    wait_timeout_ms=user_input.get("wait_timeout_ms", 1000),
)).data

for delivery in deliveries:
    handle(delivery["event"])
    meridian.execute(streaming.acknowledge(
        subscription=user_input["subscription_resource"],
        consumer_group=user_input["consumer_group_resource"],
        delivery=delivery["delivery"],
    ))

The seven Streaming data-plane methods are exactly publish, publish_batch, subscribe, poll, acknowledge, negative_acknowledge, and read_range. The released Core registry additionally requires the two common Catalog lifecycle methods publish_schema and create_resource; therefore the installed manifest contains exactly those nine registered methods and no more.

Delivery defaults to at-least-once. Ordering is guaranteed only within one logical partition. Position, DeliveryToken, and Cursor values are opaque and must not be decoded by consumers.

Explicit replay and group position

Replay and ConsumerGroup-position changes are deliberately absent from the Catalog surface. They are separately authorized, serialized, versioned Operations:

from meridian_storage.streaming import GroupPositionTransition, ReplayOperation

replay = ReplayOperation(
    stream=user_input["stream_resource"],
    start=user_input["cursor"],
    limit=500,
    authorization_ref="retention-policy/replay",
    reason="incident-recovery",
).to_operation()

transition = GroupPositionTransition(
    subscription=user_input["subscription_resource"],
    consumer_group=user_input["consumer_group_resource"],
    position=user_input["cursor"],
    expected_position_fingerprint=user_input["expected_fingerprint"],
    authorization_ref="administration-policy/group-position",
    reason="approved-recovery",
).to_operation()

A replay is finite and never silently changes a ConsumerGroup position. A position transition is compare-and-set, policy-gated, and evidence-producing.

Provider conformance

Provider packages supply a small black-box bridge and run the exact same suite:

from meridian_storage.streaming.testing import run_streaming_conformance

report = run_streaming_conformance(target)
assert report.passed

The report covers method normalization, per-logical-partition ordering, at-least-once redelivery, acknowledgement recovery, replay/group separation, Cursor validation and expiry, tenant and policy enforcement, audit-lineage-telemetry evidence, and normalized errors. It contains only logical references and fingerprints.

Design and security boundary

The implementation is pinned to Meridian HLD revision 56 and Meridian Catalogs and Public Interfaces revision 70. Deployment IaC selects, provisions, secures, backs up, migrates, and owns concrete Engines. Core resolves Bindings and enforces OperationContext scope. This package accepts no endpoint, credential, physical-resource name, deployment state, or engine-native expression.

The complete boundary is documented in Architecture, Contracts, Conformance, and Security.

Development

python -m pip install -e '.[test]'
ruff format --check src tests scripts
ruff check src tests scripts
mypy src
python scripts/verify_contracts.py
pytest --cov=meridian_storage.streaming --cov-report=term-missing
python -m build
python scripts/verify_artifacts.py dist/*
python scripts/verify_boundaries.py
bandit -c pyproject.toml -r src
pip-audit --require-hashes -r requirements-audit.txt

License

Copyright 2026 Meridian contributors. Licensed under Apache License 2.0; see LICENSE and NOTICE.

Download files

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

Source Distribution

meridian_storage_streaming-1.0.0.tar.gz (32.2 kB view details)

Uploaded Source

Built Distribution

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

meridian_storage_streaming-1.0.0-py3-none-any.whl (48.3 kB view details)

Uploaded Python 3

File details

Details for the file meridian_storage_streaming-1.0.0.tar.gz.

File metadata

File hashes

Hashes for meridian_storage_streaming-1.0.0.tar.gz
Algorithm Hash digest
SHA256 a5b259c03ddf82dde8d1e6696e492a6c62f540151633b722107e8518c7cb5831
MD5 df4376e28287f1ecaa7c1aaaa24be045
BLAKE2b-256 a9d3d7e36ee53692627d126a3393580d817e49cbbde2430eec0220b783131556

See more details on using hashes here.

Provenance

The following attestation bundles were made for meridian_storage_streaming-1.0.0.tar.gz:

Publisher: release.yml on zephytiju/MeridianStreaming

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file meridian_storage_streaming-1.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for meridian_storage_streaming-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8fa802d1f4d69082b1bb2643856f82db9159ebe92fcd819aa529c143cd8d51eb
MD5 1062ddaa780c8065ac423912f26d7c93
BLAKE2b-256 d912390ea040c41e7dcf23a79c6eb88e624a9db268e11206c53b2616d9c266ef

See more details on using hashes here.

Provenance

The following attestation bundles were made for meridian_storage_streaming-1.0.0-py3-none-any.whl:

Publisher: release.yml on zephytiju/MeridianStreaming

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

1.0.0 This release

2 files

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