The open standard for portable, executable lakehouse data contracts
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 holds the intent. JSON Schema validates its structure, while a conforming runtime such as LakeLogic Core executes the declared behaviour.
-
Prevent breaking changes
Validate contracts in CI before pipeline changes reach production.
-
Apply governance consistently
Keep schema, quality, PII handling, lineage and service levels in one reviewable file.
-
Keep intent portable
Separate the data product's intent from backend-owned engine, catalogue, storage and table-format settings.
A minimal contract
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"
Validate it without installing a data engine:
OLC itself does not move or transform data. A conforming runtime reads the contract and carries out the declared validation, quarantine, transformation and materialisation behaviour.
Choose your path
-
Validate and execute your first contract.
-
Learn what belongs in the standard and what belongs to a runtime.
-
Look up every contract field and its purpose.
-
See how structural and runtime behaviour are tested.
-
Check what has been validated or executed on each platform.
-
Propose changes, fixtures and runtime evidence.
Current scope
OLC defines one data-product contract. It does not define infrastructure or a multi-contract mesh registry. Runtime and provider support varies, so the conformance suite and provider matrix are the source of truth for tested behaviour.
OLC v1 is under active development and is licensed under Apache 2.0.