Shared MDStorage Client
Typed synchronous and asynchronous Python clients for the versioned Shared MDStorage HTTP API. The package contains transport code only—no storage server implementation or market-specific collection logic.
Install
python -m pip install shared-mdstorage-client==0.2.0
Pin the exact version and artifact hash in production dependency locks.
Use
from shared_mdstorage_client import StorageClient
with StorageClient("https://storage.internal", token="...") as storage:
status = storage.readiness()
universes = storage.list_universes()
Use AsyncStorageClient with async with in asynchronous services. HTTPS is
accepted everywhere; cleartext HTTP is limited to loopback addresses.
What it covers
- conditional file reads, replacements, and idempotent appends;
- typed observation ingestion, run, status, and universe operations;
- latest, history, first-observation, and change queries with validated cursor-bounded snapshot support;
- resume planning queries;
- entity-tag compare-and-swap helpers; and
- distinct authentication, conflict, protocol, and transport errors.
Domain methods validate versioned response fields before returning typed results. Callers do not need to reconstruct transport envelopes or cursors.
Develop and release
python -m pytest -q
python -m build --no-isolation
python scripts/verify_wheel_boundary.py dist/*.whl
GitHub Releases are the artifact source. PyPI publication reuses those verified artifacts through an OIDC trusted publisher.
Documentation
Licensed under the terms in LICENSE.
Metadata
Release files for shared-mdstorage-client 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| shared_mdstorage_client-0.2.0.tar.gz | 24.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| shared_mdstorage_client-0.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 42.8 kB