Skip to content

Open Lakehouse Contract: the open standard for portable, executable lakehouse data contracts

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 validate orders.olc.yaml

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

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.