Skip to main content

Meridian Storage Query

meridian-storage-query is the engine-neutral Meridian V1 query library. It provides an immutable query AST, a mapping-first fluent API, canonical serialized Operations, capability inference, compile/startup validation, single-Binding planning, adapter translation contracts, and signed live-keyset cursors.

The library does not define a query Catalog. Consumers use a registered Catalog such as structured or evidence; deployment code selects Bindings and adapters. V1 has no NativeQuery, native-expression method, Engine selector, endpoint, or backend DSL escape hatch.

Install

python -m pip install meridian-storage-query==1.0.2

Python 3.12–3.14 is supported. Version 1.0.2 consumes the released meridian-storage-core==1.0.1 and meridian-storage-semantics==2.0.0 contracts.

Mapping-first query

from meridian_storage.query import distance_within, field, point, query

plan = (
    query("accounts.users")
    .where({"status": "active", "age": {"$gte": 18}})
    .select("id", "display_name")
    .order_by("display_name", "id")
    .page(size=50)
    .build()
)

assert plan.format_version == "meridian.operation.query.v1"

Specialized clauses use the same immutable builder:

search = (
    query("knowledge.documents")
    .where({"visibility": "public"})
    .full_text(
        "storage semantics",
        fields=("title", "body"),
        analyzer="icu",
        highlights=("body",),
        ranking="bm25",
        facets=("category",),
    )
    .build()
)

nearby = query("places.locations").where(
    distance_within(field("location"), point(-122.4, 37.8), 1_000)
).build()

For spatial predicates, use point, distance, or distance_within; for time-series windows, use time_range. Aggregation uses group_by and measure. traverse accepts either an explicit closed relation-Collection set or all_neighbors=True, which must be resolved against a captured registry fingerprint before execution.

Public pipeline

Catalog Expression
  -> normalized QueryOperation
  -> Schema/Resource/Binding validation
  -> inferred RequirementGraph
  -> NATIVE | EXACT_REWRITE | BOUNDED_RESIDUAL | REJECTED
  -> adapter-owned parameterized compilation
  -> normalized Data and signed cursor

validate_compile resolves exact Schemas, rejects cross-Binding plans, injects a deterministic identity tie-breaker, checks logical types and semantic profiles, and enforces a registered workload budget. validate_startup compares declared deployment requirements with authenticated Core capability manifests. QueryPlanner never silently broadens an unsupported query into a scan: rewrites require a registered equivalence and residuals require explicit row/byte bounds plus a proof function.

Adapter repositories implement QueryTranslator. Its input is a validated PlannedQuery and a logical TranslationContext; connection and Engine state remain private to the adapter. enforce_result_budget applies the validated value/byte limits after result normalization.

Pagination and diagnostics

CursorSigner issues opaque HMAC-SHA256 cursors bound to the plan, exact Schema fingerprints, registry fingerprint when applicable, scope fingerprint, unique sort tuple, page size, issuance, and expiry. Key rotation accepts old verification keys while issuing with one active key.

Diagnostics use stable MERIDIAN_* codes and logical references. Explain records redact secrets, credentials, endpoints, native statements, and backend DSL details.

Contracts and compatibility

The implementation is pinned to Meridian HLD revision 56 and Catalogs/Public Interfaces revision 70, with Query LLD revision 46 and Adapter LLD revision 24 as package-level authorities.

License

Apache License 2.0. See LICENSE and NOTICE.

Metadata

Release files for meridian-storage-query 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-query 1.0.2
File Size Uploaded
meridian_storage_query-1.0.2.tar.gz 81.0 kB Details

Built distribution (wheel)

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

Total release size: 144.7 kB

Release files / meridian_storage_query-1.0.2.tar.gz

Download URL meridian_storage_query-1.0.2.tar.gz
Size 81.0 kB
Tags Source
SHA-256 checksum
How to use checksums
782814c2ee94e4563029566a87e0b86ea87d62078b103ec5d3cdcc4763fab1fc
BLAKE2b-256 checksum
How to use checksums
7a103251d6213d0971cf4408cc5ccc59b9dd3fdfdf7199193616041dd3cdb952
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_query-1.0.2-py3-none-any.whl

Download URL meridian_storage_query-1.0.2-py3-none-any.whl
Size 63.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
fa4d7b157a8fd1c1ba18cedab09dadf0e8f5e301f5734e3e38f41906853527b8
BLAKE2b-256 checksum
How to use checksums
507d744ebfe6bb90f084dff5a56f2cf818a7d2ac94a7604e09cbd8c35dd68362
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.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