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.0.tar.gz (55.0 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_object_common-1.0.0-py3-none-any.whl (52.6 kB view details)

Uploaded Python 3

File details

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

File metadata

File hashes

Hashes for meridian_storage_object_common-1.0.0.tar.gz
Algorithm Hash digest
SHA256 88768ec1ecb2009a179607f4e213f4f36fd1bbe61708b940626e1179d8ff0bdd
MD5 16699a30aecdaf6afe634c6b15e68bac
BLAKE2b-256 1ec3b574cdceeab1b8adfe104051528c7aa7b8ba2da6d5fa8129b0ce15ca95b8

See more details on using hashes here.

Provenance

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

Publisher: release.yml on zephytiju/meridian-storage-object-common

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

File metadata

File hashes

Hashes for meridian_storage_object_common-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 62d838ab872a933d5c9f51b30de7389786400f49ed9f006b0cbab07fb67fce36
MD5 15fcf3989546d22d1e3aa9e6acbf7da4
BLAKE2b-256 cac000c9943cfd28fe078c91c6e797b41b01907b5fff6f7e61e6da2cd69a22b3

See more details on using hashes here.

Provenance

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

Publisher: release.yml on zephytiju/meridian-storage-object-common

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