Skip to main content

Meridian Storage Object Common

meridian-storage-object-common is the provider-neutral Meridian V1 Object Catalog contract package. It supplies mapping-first Object Expressions, deterministic Core Operation normalization, bounded streaming payload handles, portable metadata and content identity, byte ranges, multipart Adapter contracts, consumer-selectable immutability and retention intent, signed logical references, capability negotiation, stable errors, JSON contracts, and a reusable downstream Adapter conformance runner.

The distribution contains exactly one Python package, meridian_storage.object_common. It consumes the released meridian-storage-core==1.0.1 and meridian-storage-semantics==2.0.0 distributions. It contains no provider implementation, cloud credential, physical locator, provisioning, state, ACL, migration, recovery, or lifecycle policy.

Install

python -m pip install meridian-storage-object-common==1.0.2

Python 3.12 or newer is required.

Stream an Object put

from io import BytesIO

from meridian_storage.object_common import ObjectCatalogProvider, PayloadRegistry

payloads = PayloadRegistry()
payload = payloads.register_stream(
    BytesIO(b"immutable bytes"),
    expected_length=15,
    expected_digest="sha256:59d8792018a51a408d2738f31eedebd6fe9926cc4260fa168a38710bc51d7e30",
)

provider = ObjectCatalogProvider()
expression = provider.create_surface().put(
    resource="assets.release_artifacts",
    object_id="v1/example.bin",
    payload=payload,
    media_type="application/octet-stream",
    create_only=True,
    immutability={"mutability": "immutable", "publishOnce": True},
)
operation = provider.normalize(expression)

The Core Expression and Operation remain deterministic JSON. Bytes stay outside that envelope in the explicit process-local PayloadRegistry; the serialized payload token is opaque and cannot be a URL or provider locator.

Exact V1 surface

The Object Catalog exposes exactly these methods:

  • publish_schema and create_resource
  • put, get, stat, and read_range
  • bounded maintenance list
  • exact-version, policy-aware delete

Artifact and media are Object profiles, not additional Catalogs. Immutability is selected by the Resource profile and per-put intent. Retention values express portable intent and never imply a WORM or regulatory certification.

Downstream Adapter conformance

An Adapter test target implements ObjectConformanceTarget and passes it to run_object_conformance. The runner verifies unknown-length streaming put, content identity, metadata visibility, streaming get, inclusive range reads, bounded prefix listing, conditional create conflict, digest mismatch, exact-version delete, and missing-object behavior.

Contracts and verification

Language-neutral Draft 2020-12 JSON Schemas, the public API ledger, and valid/invalid fixtures are in contracts. Exact predecessor artifacts and locked design revisions are recorded in compatibility.json.

python -m pip install '.[test]'
ruff format --check src tests scripts
ruff check src tests scripts
mypy src
python scripts/verify_contracts.py
pytest --cov=meridian_storage.object_common --cov-report=term-missing

Release builds are produced twice with a fixed epoch, compared byte-for-byte, inspected for package and license boundaries, clean-installed against released predecessors, and accompanied by an SPDX 2.3 SBOM and GitHub provenance.

See docs/architecture.md, docs/contracts.md, and docs/compatibility.md.

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_object_common-1.0.2.tar.gz (56.1 kB view details)

Uploaded Source

Built Distribution

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

File details

Details for the file meridian_storage_object_common-1.0.2.tar.gz.

File metadata

File hashes

Hashes for meridian_storage_object_common-1.0.2.tar.gz
Algorithm Hash digest
SHA256 074d6f58a8aec2eb7977758c2eb1f6aaea039dc9c8c58742ebe8778b7c1f9764
MD5 93c63bc61c120849620108c83ac2010e
BLAKE2b-256 1bbbc22bb4569025a91a8d4c8bd71f826b6c79f0b73dc3a0641ce336a97c9f4b

See more details on using hashes here.

Provenance

The following attestation bundles were made for meridian_storage_object_common-1.0.2.tar.gz:

Publisher: release.yml on zephytiju/MeridianObjectCommon

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_object_common-1.0.2-py3-none-any.whl.

File metadata

File hashes

Hashes for meridian_storage_object_common-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 26422de8bce6dcf5e1a3cbf12614ec85ab99384cfcd64da9d91717aa849a8f4d
MD5 f075ab68e0dce0936d0cb76494aa4332
BLAKE2b-256 be9896071e0fb8614ec20c4482b2732c4436702bb0017e254abfae0563686764

See more details on using hashes here.

Provenance

The following attestation bundles were made for meridian_storage_object_common-1.0.2-py3-none-any.whl:

Publisher: release.yml on zephytiju/MeridianObjectCommon

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.2 This release

2 files

1.0.1

2 files

1.0.0

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