Skip to main content

Open source data platform built with production-grade tools - dlt, dbt, DuckDB, and Metabase

Project description

Dango

PyPI version Python versions License GitHub stars

Open-source data platform for small teams.

Dango gives you a complete data stack — ingestion, warehouse, transformations, and dashboards — in a single CLI. It combines dlt for data loading, DuckDB as the analytics database, dbt for SQL transformations, and Metabase for dashboards. One pip install, one command to start.

Beta Release: Dango v1 is currently in beta (v1.0.0b1). We'd love your feedback — report issues or join the discussion.

Upgrading from v0.1.x? v1.0.0 is a complete rewrite. Back up your data and run dango init to create a new v1 project. See the migration guide for details.

Quick Start

Prerequisites: Python 3.10-3.12, Docker (for Metabase)

pip install --pre getdango
dango init
dango start

Open http://localhost:8800 to see your data platform.

Or use the install script:

curl -sSL https://getdango.dev/install.sh | bash

For detailed installation instructions, see the documentation.

Features

  • 33 data sources — Stripe, Google Sheets, Google Analytics, Shopify, PostgreSQL, MySQL, CSV, REST APIs, and more
  • Auto-generated dbt models — staging models created automatically when you add a source
  • Web dashboard — monitor syncs, browse your data catalog, manage sources
  • Metabase integration — dashboards and SQL queries, auto-configured and ready to use
  • Cloud deployment — deploy to DigitalOcean or any server with dango deploy
  • Authentication — admin login, user management, 2FA, API keys
  • Schema drift detection — get alerted when source schemas change
  • PII scanning — detect personally identifiable information across your tables
  • Notebooks — Marimo notebooks connected to your DuckDB warehouse
  • Monitoring — metric tracking with trend detection and drill-downs
  • Scheduled syncs — cron-based scheduling with retry and timeout handling
  • Webhooks — Slack notifications for sync results and alerts
  • File watcher — auto-sync when CSV files change on disk

Architecture

Sources  →  dlt  →  DuckDB  →  dbt  →  Metabase
(APIs,       (load)  (warehouse) (transform) (dashboards)
 CSVs,
 databases)

All data stays local in DuckDB. No external warehouse needed.

Tech Stack

Component Tool Role
Ingestion dlt Load data from 33+ sources
Warehouse DuckDB Embedded analytics database
Transformation dbt SQL modeling and testing
Dashboards Metabase BI and SQL queries
Web UI FastAPI Monitoring and management
Containers Docker Metabase and service orchestration

Documentation

Full documentation at docs.getdango.dev.

Contributing

See CONTRIBUTING.md for development setup and guidelines.

License

Apache 2.0 — see LICENSE for details.

Links

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

getdango-1.0.0b3.tar.gz (830.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

getdango-1.0.0b3-py3-none-any.whl (1.0 MB view details)

Uploaded Python 3

File details

Details for the file getdango-1.0.0b3.tar.gz.

File metadata

  • Download URL: getdango-1.0.0b3.tar.gz
  • Upload date:
  • Size: 830.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.6

File hashes

Hashes for getdango-1.0.0b3.tar.gz
Algorithm Hash digest
SHA256 79c17c8fb32d21cded04fa7117b9fbd6b50c4f8cfa552d6274faa8cec6038733
MD5 22ed15442d3c58244310110a26113c1f
BLAKE2b-256 9a5fa009050d9768511e44a76e328cbeec7c64e8a7387978fade7d2b035b916f

See more details on using hashes here.

File details

Details for the file getdango-1.0.0b3-py3-none-any.whl.

File metadata

  • Download URL: getdango-1.0.0b3-py3-none-any.whl
  • Upload date:
  • Size: 1.0 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.6

File hashes

Hashes for getdango-1.0.0b3-py3-none-any.whl
Algorithm Hash digest
SHA256 2239c859ad8ffccd4fb9c7aa4c3bd3adc85d3824a5293d8b430594e770b7f48a
MD5 e2d8b76ea05f25cf2ce45accf14c2d8b
BLAKE2b-256 3a463ae7c382283df32929f2cb8ea84e9cb2a719e9c2b59bb4de0e8c8364ab98

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page