OpenDPI
Think of OpenDPI as OpenAPI, but for data products. It's a simple, vendor-neutral way to describe what your data product actually is — what data it exposes, where that data lives, and what it looks like.
No more tribal knowledge. No more guessing what columns exist. Just a clean YAML (or JSON) file that tells the whole story.
Why OpenDPI?
- One spec, any platform — Works with Postgres, Snowflake, BigQuery, Kafka, S3, whatever you've got
- Self-documenting — Your data product definition is the documentation
- Automation-ready — Generate code, docs, and configs from a single source of truth
- Schema validation — Catch problems before they hit production
Quick Example
Here's what a data product looks like:
opendpi: "1.0.0"
info:
title: Customer Analytics
version: "1.0.0"
connections:
warehouse:
type: snowflake
host: myorg.snowflakecomputing.com
ports:
customers:
description: Active customer profiles
connections:
- connection: "#/connections/warehouse"
location: analytics.customers
schema:
type: object
properties:
id:
type: integer
email:
type: string
signup_date:
type: string
format: dateThat's it. Your data product is now defined, documented, and ready to use.
Learn More
| Document | What you'll find |
|---|---|
| Specification | The full reference — every field explained |
| Concepts | Dig deeper into ports, connections, and schemas |
| Examples | Real-world patterns you can copy |