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

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

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.2
File Size Uploaded
meridian_storage_oci-1.0.2.tar.gz 28.5 kB Details

Built distribution (wheel)

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

Total release size: 67.0 kB

Release files / meridian_storage_oci-1.0.2.tar.gz

Download URL meridian_storage_oci-1.0.2.tar.gz
Size 28.5 kB
Tags Source
SHA-256 checksum
How to use checksums
eb24e3a45834fc13bb8b84a6483e37e3acad2ccd200a04ea6e8814ba8de8c034
BLAKE2b-256 checksum
How to use checksums
bd3268d8f8d04e8c3b6d5f53ff1a624ae6899dda0dab842626a33b243d750cc1
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 6, 2026.

Transparency log

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

Download URL meridian_storage_oci-1.0.2-py3-none-any.whl
Size 38.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
607ed1adffb8c46d66380ba03e151587cfae728ef1f21ed569bf318c28428172
BLAKE2b-256 checksum
How to use checksums
b80cbdd18077964de60a76c4e024914adbe747a62f71337d645cb2701d89dd1a
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 6, 2026.

Transparency log

Release history Release notifications | RSS feed

1.1.0

2 release files

1.0.3

2 release files

This release

1.0.2 This release

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