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.
Release 1.1.0 separates registry software provenance from the Distribution 1.1.1 protocol and consumes the public Core 1.1.0-compatible dependency closure. See configuration and the gate inventory and exact registry selections.
Metadata
Release files for meridian-storage-oci 1.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| meridian_storage_oci-1.1.0.tar.gz | 31.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| meridian_storage_oci-1.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 74.0 kB
Release files / meridian_storage_oci-1.1.0.tar.gz
| Download URL | meridian_storage_oci-1.1.0.tar.gz |
|---|---|
| Size | 31.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
3840dcb96c0fc49272ce66f2508843a0de0e77555450e0c4988fb92bb2218c53
|
|
BLAKE2b-256 checksum How to use checksums |
963453970830e8d47a5a46221ef4d74dfb173cbb3722f374bda829bf85799e50
|
| 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 8, 2026.
Transparency logRelease files / meridian_storage_oci-1.1.0-py3-none-any.whl
| Download URL | meridian_storage_oci-1.1.0-py3-none-any.whl |
|---|---|
| Size | 42.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
6ef2aab16cb05c4cb90862675cf10080e49d9edfb9707661dc73ad6c2de46dfb
|
|
BLAKE2b-256 checksum How to use checksums |
5204607ba7f8dd01667d519855bc5630c3d3c399d1b3adf22ca0bc73f53f694d
|
| 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 8, 2026.
Transparency log