NEWOpenDPI 1.0 is now stable

Your data pipelines should run locally.

Define your data products once. Develop, test, and generate code for any framework, all without leaving your editor.

$brew install dacolabs/tap/daco

Open source. Star us on GitHub · Join the early access waitlist

daco ports translate --format pyspark
dataproduct.yaml
opendpi: "1.0.0"

info:
  title: "Customer Analytics"
  version: "2.1.0"

connections:
  analytics_db:
    type: postgresql
    host: analytics.db

ports:
  daily_metrics:
    schema:
      type: object
      properties:
        customer_id: { type: string }
        date: { type: string, format: date }
        revenue: { type: number }
schema.py
# generated by daco
from pyspark.sql.types import *

daily_metrics_schema = StructType([
  StructField("customer_id", StringType()),
  StructField("date", DateType()),
  StructField("total_orders", IntegerType()),
  StructField("revenue", DoubleType()),
])
What Daco solves

Your pipelines should run on your laptop.

Daco brings your data products into a single OpenDPI spec you can develop, test, and version locally. No deploy to verify a schema change. No warehouse connection required to run a test.

Catch breaks before deploy
See the impact of a schema change across every downstream model on your laptop, before anything ships.
Instant feedback
Tests run in milliseconds against local data. No warehouse round-trip, no CI queue, no waiting.
Real fixtures, real tests
Local fixtures and mock data unlock unit tests for your pipeline logic — and the confidence to refactor it.
Local development

Local-first, by design.

One spec. Your editor. Your stack. No live warehouse to test a schema change.

01

Edit, run, repeat. Offline.

Validate schemas, generate fixtures, run pipeline tests against mock data. No warehouse connection required to know your change is correct.

02

One spec, every target.

Write your data product once in OpenDPI. Translate to PySpark, dbt, SQL, Pydantic, Go, or TypeScript types, regenerated on every change.

03

AI agents in the loop.

Claude Code reads your live schemas through Daco, edits the spec, and regenerates types. Agents work from metadata, never the data itself.

The OpenDPI standard

Open format. Yours to keep.

OpenDPI is a public Apache licensed format for describing data products. Daco runs on it. So can any tool you build. Use it with us, or without us.

  • Ports & connections.Typed, with explicit dependencies.
  • JSON Schema.Validate at every boundary.
  • SLAs & quality rules.Enforced contracts, not docs.
  • Versioned in git.Review schemas like code.
dataproduct.yamlOpenDPI 1.0
opendpi: "1.0.0"

info:
  title: "Customer Analytics"
  version: "2.1.0"
  owner: "data-platform@acme.io"

connections:
  analytics_db:
    type: postgresql
    host: analytics.db.acme.io
    database: analytics

ports:
  daily_metrics:
    description: "Daily customer metrics"
    connection: analytics_db
    location: public.customer_daily
    schema:
      type: object
      required: [customer_id, date]
      properties:
        customer_id: { type: string }
        date: { type: string, format: date }
        total_orders: { type: integer }
        revenue: { type: number }
Daco Studio · Early access

The cherry on top.

The CLI gives you the spec. Studio turns it into a live data catalog: search, governance, quality monitoring, and lineage, all driven by the OpenDPI definitions your engineers already maintain.

Data product marketplace
Search and browse every data product your org has defined. One place, no Notion hunting.
Compliance & governance
Verify ownership, classify sensitivity, and enforce policy across your entire catalog automatically.
Quality monitoring
Quality rules from your OpenDPI specs become live monitors. Know when something drifts before downstream does.
Full lineage
Trace any field back to its source across every pipeline, team, and system. All derived from the specs your engineers already write.
We were tired of having to leave our local development environment to test our pipelines.
Orri Pálsson & Giuseppe Grieco
Founders, Daco
From the blog

Notes from the team.

Releases, deep dives on the OpenDPI standard, and lessons from teams shipping data products with Daco.

All posts

Pick your on-ramp.

The CLI is a one-liner away. The platform is in early access.

Install
Start with the CLI
Free and open source. Brew, then daco init.
Read the docs
Platform
Get Studio access
We onboard teams one by one. Drop your email and we'll reach out.