Define your data products once. Develop, test, and generate code for any framework, all without leaving your editor.
Open source. Star us on GitHub · Join the early access waitlist
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 }
# 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()), ])
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.
One spec. Your editor. Your stack. No live warehouse to test a schema change.
Validate schemas, generate fixtures, run pipeline tests against mock data. No warehouse connection required to know your change is correct.
Write your data product once in OpenDPI. Translate to PySpark, dbt, SQL, Pydantic, Go, or TypeScript types, regenerated on every change.
Claude Code reads your live schemas through Daco, edits the spec, and regenerates types. Agents work from metadata, never the data itself.
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.
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 }
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.
“We were tired of having to leave our local development environment to test our pipelines.”
Releases, deep dives on the OpenDPI standard, and lessons from teams shipping data products with Daco.
Daco Studio is a code-first data catalog that connects directly to your repository. Here's why that matters.
Read postStep-by-step: install the CLI, initialize a data product, and translate your schema to PySpark, dbt, and more.
Read postHow standardizing data descriptions enables migrations, automation, and team collaboration at scale.
Read postThe CLI is a one-liner away. The platform is in early access.