Skip to main content

Meridian Storage ClickHouse

CI License Python

meridian-storage-clickhouse is the independently released ClickHouse adapter for Meridian V1. It executes mapping-first, engine-neutral Operations for stored logs, spans, metric points, usage, cost, and generic analytical time-series Records. It provides deterministic schema and migration plans, bounded idempotent batch ingestion, mandatory time-bounded query pushdown, live keyset pagination, result normalization, authenticated probes, and physical fingerprints.

The distribution contributes exactly one adapter package, meridian_storage.adapters.clickhouse, and discovers through the released Meridian Core 1.0.0 Adapter SPI. It consumes only the released meridian-storage-core, meridian-storage-semantics, and meridian-storage-query 1.0.0 contracts.

Boundary

Application code does not import this package, create a ClickHouse client, issue SQL, select a table engine, or provide an endpoint. It uses the registered evidence or structured Catalog Expression surface. The composition root starts Meridian after deployment IaC has injected an opaque Binding:

from meridian_storage import Meridian, OperationContext

meridian = Meridian.from_environment()
meridian.start()
evidence = meridian.catalog("evidence")

with meridian.context(
    OperationContext(
        principal_ref="identity:service/worker",
        tenant="tenant-a",
        scope={"workspace": "operations"},
    )
):
    result = meridian.execute(
        evidence.query(
            resource="runtime.logs",
            where={
                "event_time": {
                    "gte": "2026-08-25T00:00:00Z",
                    "lt": "2026-08-26T00:00:00Z",
                }
            },
            limit=100,
        )
    )

Collector deployment, topology, credentials, ACLs, retention, backups, restores, and migration job lifecycle remain owned by Platform or Vangu IaC through MeridianConstructs. Runtime startup only authenticates, probes compatibility, and verifies pre-provisioned physical fingerprints.

Guarantees and limits

  • Writes are append-oriented and idempotent only within the advertised retry/deduplication window. The adapter does not claim general exactly-once execution.
  • Every scan and aggregate requires a bounded UTC time range within the Binding limit.
  • Scope isolation is injected ahead of user predicates and leads every table sort key.
  • Visibility is eventual. General transactions, compare-and-set, authoritative patch, foreign keys, cross-Binding joins, and native SQL Expressions are denied.
  • Decimal, timestamp, UUID, bytes, JSON, nullable, and quantile values are normalized back to Meridian wire representations. Percentiles use the exact ClickHouse quantile function in V1.

Adapter-author and IaC integration

The public adapter-author surface includes ClickHouseAdapterFactory, ClickHouseSchemaCompiler, ClickHouseMigrator, ClickHouseQueryTranslator, adapter_descriptor, capability_manifest, and plan_initial_migration. These are deployment and adapter integration contracts, not business APIs. See architecture.md, configuration.md, operations.md, migrations.md, and conformance.md.

Development

python -m venv .venv
.venv/bin/python -m pip install -e '.[test]'
.venv/bin/ruff check .
.venv/bin/mypy src
.venv/bin/pytest -m 'not integration and not cluster'
./scripts/run-standalone-conformance.sh
./scripts/run-cluster-conformance.sh

Real-engine tests use disposable ClickHouse containers and never target a deployment-owned database. See tests/integration and tests/cluster for the exact profiles.

License

Licensed under the Apache License, Version 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_clickhouse-1.0.0.tar.gz (54.8 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_clickhouse-1.0.0-py3-none-any.whl (50.3 kB view details)

Uploaded Python 3

File details

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

File metadata

File hashes

Hashes for meridian_storage_clickhouse-1.0.0.tar.gz
Algorithm Hash digest
SHA256 ca0437c622b2055b5158668244cf7b35a6c13eeb8dfab3d3529f892f296af99e
MD5 1de3fb59d3320082cc2baa959e51050b
BLAKE2b-256 76f8524d23b94e53634dd417521707d303a1eb9cd7982f4c44f0139d2a1ef37a

See more details on using hashes here.

Provenance

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

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

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

File metadata

File hashes

Hashes for meridian_storage_clickhouse-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b2f0839c9fc3d0b97d4ee4c1ad85c1debc6f00283a643bc361b9ea48dbd70534
MD5 32330659868f5a57f2cfec95a2d5b3d2
BLAKE2b-256 11f4d1595fdfd17cabd9d35817eec582742b924fd87cbc4bcf64c3c4c637e4bc

See more details on using hashes here.

Provenance

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

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

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