Skip to main content
Open Lakehouse Contract

Open Lakehouse Contract

The open standard for portable, executable lakehouse data contracts.

Documentation · Quickstart · Contract reference · Compatibility evidence

Define a data product's sources, schema, ownership, quality rules, PII handling, lineage, service levels (SLAs and SLOs), transformations and materialisation in one portable, vendor-neutral contract.

Open Lakehouse Contract (OLC) captures that definition in a portable YAML document.

The contract declares the intent. Any tool can validate its structure with JSON Schema, and a conforming runtime such as LakeLogic Core can execute that intent.

Validate a contract in 60 seconds

version: 1.0.0
info:
  title: Orders
  table_name: orders
model:
  fields:
    - name: order_id
      type: integer
      required: true
quality:
  row_rules:
    - name: positive_order_id
      sql: "order_id > 0"

Clone the repository, install the CLI and validate the example:

git clone https://github.com/LakeLogic/open-lakehouse-contract.git
cd open-lakehouse-contract
python -m pip install -e .
olc validate examples/orders.olc.yaml

The validator uses the published JSON Schema. It does not require a data engine or LakeLogic Core.

What OLC gives you

  • Earlier feedback. Reject invalid contracts in CI before a pipeline change reaches production.
  • Clear accountability. Record who owns the data product and the downstream consumers that depend on it.
  • Consistent governance. Keep schema, quality, PII handling, lineage and service-level expectations in one reviewable artifact.
  • Executable intent. Let a conforming runtime validate, quarantine, transform and materialise data from the declaration.
  • Portable definitions. Keep business intent separate from backend-owned engine, catalogue, storage and table-format settings.
  • Safer automation. Give humans and AI agents a typed contract they can validate before proposing or applying changes.

Execute with LakeLogic Core

OLC is the standard. LakeLogic Core is the open-source reference runtime.

python -m pip install lakelogic
from lakelogic import DataProcessor

processor = DataProcessor("orders.olc.yaml", engine="duckdb", strict=True)
accepted, quarantined = processor.run(source_df)

You can use the OLC schema without LakeLogic Core, and another runtime may implement the same specification.

Contract coverage

Concern Examples
Sources and ingestion Primary source, linked sources, load mode, watermark and post-ingestion lifecycle
Identity and ownership Product metadata, accountable owner and downstream consumer ownership
Schema and keys Fields, types, required values, primary keys and natural keys
Quality Row rules, dataset rules, uniqueness and null thresholds
Transformation SQL and typed transformation operations
Governance PII classification, masking, compliance metadata and quarantine
Service levels Freshness, availability and volume SLOs; downstream SLA expectations
Operations Lineage, notifications and run controls
Materialisation and delivery Write strategy, table format, target location and downstream consumers

See the field reference for the complete vocabulary.

Compatibility and evidence

OLC separates portable contract intent from runtime and platform configuration. Support is demonstrated at different levels:

  • Structural conformance proves a contract matches the public schema.
  • Runtime conformance compares observable behaviour across supported engines.
  • Provider evidence records what was deployed and materialised on each platform.

DuckDB and Polars run in the default executable-conformance suite. Other engines and platforms have their own stated scope and limitations. See the conformance suite and provider evidence matrix rather than assuming every engine × format × platform combination has identical coverage.

Documentation

  • Getting started — validate and execute your first contract.
  • What is OLC? — understand the contract/runtime boundary.
  • Contract reference — define sources, ownership, quality, transformation, lineage, service levels and materialisation.
  • Conformance — see how structural and runtime behaviour are tested.
  • Providers — inspect evidence and limitations by platform.
  • OLC and ODCS — understand how the standards complement each other.

Contributions are welcome. Start with the contributing guide.

Licence

Apache License 2.0. See LICENSE.

Metadata

Release files for open-lakehouse-contract 0.26.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for open-lakehouse-contract 0.26.0
File Size Uploaded Provenance
open_lakehouse_contract-0.26.0.tar.gz 315.1 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for open-lakehouse-contract 0.26.0
File Interpreter ABI Platform
open_lakehouse_contract-0.26.0-py3-none-any.whl Python 3 none any Details

Total release size: 638.4 kB

Release files / open_lakehouse_contract-0.26.0.tar.gz

Download URL open_lakehouse_contract-0.26.0.tar.gz
Size 315.1 kB
Tags Source
SHA-256 checksum
How to use checksums
ee11ce475e8584e9a605515650645db109e0af163e6fbdc9fcf8c2c08bace59a
BLAKE2b-256 checksum
How to use checksums
6486060b6954152c024a7288774ae2ba6737adc11d05704c0797945dbc1828bf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.3 {"installer":{"name":"uv","version":"0.13.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / open_lakehouse_contract-0.26.0-py3-none-any.whl

Download URL open_lakehouse_contract-0.26.0-py3-none-any.whl
Size 323.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2c9643f0924d18aa6622cb8a53bfc364254caa879bd557baca016f8e27037834
BLAKE2b-256 checksum
How to use checksums
eeea20d36c0441c6be704b2b25c882c346e1b33d930cac154bbb2f7801a505fe
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.3 {"installer":{"name":"uv","version":"0.13.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Security for open-lakehouse-contract 0.26.0

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.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

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