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.0 and meridian-storage-semantics==1.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.0

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.1.tar.gz (55.8 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.1.tar.gz.

File metadata

File hashes

Hashes for meridian_storage_object_common-1.0.1.tar.gz
Algorithm Hash digest
SHA256 1e03dce598c39bd35d66771d41a17251b6f187c081952fbf887dbe4ae940d676
MD5 6eda6c720549370f9f38dd15283b9791
BLAKE2b-256 1cd5dab0076efcd65340184f166006909264bb40869ed34bb9a6030f5bd34818

See more details on using hashes here.

Provenance

The following attestation bundles were made for meridian_storage_object_common-1.0.1.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.1-py3-none-any.whl.

File metadata

File hashes

Hashes for meridian_storage_object_common-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 485dbb1e1f3f99abe3c0ed6aae9094c86b2e88bb934239453f6682126d583553
MD5 75bc77bd8f67db28edacbc62094de70b
BLAKE2b-256 4b22cf3d1c824213ac24492f5be964135e1ee2cb30fe078a8746d039307f5f47

See more details on using hashes here.

Provenance

The following attestation bundles were made for meridian_storage_object_common-1.0.1-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

1.0.2

2 files

This release

1.0.1 This release

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