Skip to main content

Meridian Storage OCI

meridian-storage-oci is the Meridian V1 Object Adapter for an OCI Distribution 1.1 registry. Its stable Adapter id is oci-distribution. It implements streaming blob upload and download, digest verification, OCI image manifests for non-container artifacts, exact versions, range reads, bounded maintenance inventory, policy-aware deletion, resumable multipart upload, capability probes, and logical migration helpers behind the released meridian-storage-object-common==1.0.2 contract.

This repository publishes exactly one Python distribution. Provider endpoints, repository names, credentials, upload locations, tags, and manifest digests are private binding state and never appear in consumer Object results or errors.

Install

python -m pip install meridian-storage-oci==1.0.3

Python 3.12 or newer is required.

Composition-root use

Consumers continue to call meridian.catalog("object"). Platform composition creates one adapter per Object Resource binding:

from meridian_storage import ResourceRef
from meridian_storage.adapters.oci import (
    AnonymousCredentials,
    OciDistributionAdapter,
    OciDistributionBinding,
)

binding = OciDistributionBinding(
    resource=ResourceRef("object", "assets", "releases"),
    endpoint="https://registry.example.com",
    repository="meridian/releases",
    credentials=AnonymousCredentials(),
    conditional_create_mode="registry-enforced",
    deletion_enabled=True,
)
adapter = OciDistributionAdapter(binding)

The binding belongs to Platform/Vangu IaC. Application code must not construct this adapter, persist its physical identifiers, or receive its configuration.

OCI representation

Each logical Object id owns a deterministic anchor manifest. Every immutable Object version is an OCI image manifest whose subject is that anchor, whose config blob contains the exact portable Object metadata, and whose single layer is the Object payload. Immutable version tags are derived from hashes of the logical id and content digest. A private latest tag provides digest-less lookup; it is never a consumer release-channel API.

The Adapter records retention intent and enforces retainUntil before delete. It does not claim WORM or regulatory certification. Registry-side immutable-tag and retention enforcement are advertised only when the deployment explicitly declares those verified controls.

Verification

uv sync --all-extras
uv run ruff format --check src tests scripts
uv run ruff check src tests scripts
uv run mypy src
uv run pytest
uv run python scripts/verify_contracts.py
uv build

The integration suite uses the official Distribution reference registry. Set MERIDIAN_OCI_TEST_ENDPOINT and MERIDIAN_OCI_TEST_REPOSITORY to run it against another genuine OCI-compatible registry. Owner-managed registry variants are an explicit gate; mocks are used only for deterministic transport unit tests and are never reported as real-service acceptance.

See architecture, configuration, conformance, and migration.

License

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

Metadata

Release files for meridian-storage-oci 1.0.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for meridian-storage-oci 1.0.3
File Size Uploaded
meridian_storage_oci-1.0.3.tar.gz 30.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for meridian-storage-oci 1.0.3
File Interpreter ABI Platform
meridian_storage_oci-1.0.3-py3-none-any.whl Python 3 none any Details

Total release size: 72.1 kB

Release files / meridian_storage_oci-1.0.3.tar.gz

Download URL meridian_storage_oci-1.0.3.tar.gz
Size 30.7 kB
Tags Source
SHA-256 checksum
How to use checksums
f066c5e803f11cc56adf465d37d15c48de4f65a6f178bd72638af8475a755cd8
BLAKE2b-256 checksum
How to use checksums
b3d7f22c6c16beee36943a0b1ce8cdb9c18c6214e97c1105893ac06dbca19b73
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 7, 2026.

Transparency log

Release files / meridian_storage_oci-1.0.3-py3-none-any.whl

Download URL meridian_storage_oci-1.0.3-py3-none-any.whl
Size 41.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
585fbf05f66af42decbc7a1362e174ed3166cf3ce7c9f1de16f4bf3eca009222
BLAKE2b-256 checksum
How to use checksums
eeed95f987e40f8dfa9403444e4a2020322bc9e45ace170efc53ebc49367af07
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 7, 2026.

Transparency log

Release history Release notifications | RSS feed

1.1.0

2 release files

This release

1.0.3 This release

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

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