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

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.

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_oci-1.0.0.tar.gz (28.5 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_oci-1.0.0-py3-none-any.whl (38.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: meridian_storage_oci-1.0.0.tar.gz
  • Upload date:
  • Size: 28.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for meridian_storage_oci-1.0.0.tar.gz
Algorithm Hash digest
SHA256 0da5138edb00fe65fb7a1e99aebddb2d7ac498d6a4742ac03d33d9e9a03677e1
MD5 ce36fbc0b09067a841b543e2c72eac9b
BLAKE2b-256 6a37277db2afbe0f0acfeca37e5e12a302d4294fa89b496fd168e3e5d05c7e92

See more details on using hashes here.

Provenance

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

Publisher: release.yml on zephytiju/meridian-storage-oci

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

File metadata

File hashes

Hashes for meridian_storage_oci-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0e372765f54ef982e9f45af45d5f6993b6394d9d611296510d44594dc8c79c15
MD5 8953908a576cdbaad0ca1dbe312244df
BLAKE2b-256 e80521a729b19456519fc63d7b1dd76d12fe5193be28589574f94e686c07c3a6

See more details on using hashes here.

Provenance

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

Publisher: release.yml on zephytiju/meridian-storage-oci

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

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page