Quick Start¶
Get your first data pipeline running in under 10 minutes.
Prerequisites¶
Before starting, make sure you have:
- Installed Dango (Installation Guide)
- Python 3.10+ and Docker Desktop running
- Virtual environment activated (if using venv)
Step 1: Install and Initialize¶
Run the install script to set up your project:
The installer will:
- Create a project directory
- Set up an isolated virtual environment
- Install Dango from PyPI
- Run
dango initto configure your project
During dango init, you set an admin password for the Web UI. This configures authentication automatically — no extra setup needed.
Authentication is always on
Dango enables authentication by default. During dango init, you set an admin password that protects the Web UI and Metabase. For local development, sessions last 365 days so you rarely need to re-authenticate. See Authentication for details.
Already installed?
If you've already run the installer, activate your environment and skip to Step 2:
Step 2: Add a Data Source¶
Let's add your first data source. Dango supports 33 data sources including file imports, APIs, databases, and OAuth-based services.
Option A: File Import (Simplest)¶
Follow the prompts:
- Select File Import (CSV, JSON, Parquet) as the source type
- Provide a path to your data file (CSV, JSON, or Parquet)
- Give it a descriptive name (e.g.,
sales_data)
Example:
$ dango source add
? Select source type: File Import (CSV, JSON, Parquet)
? File path: /path/to/your/data.csv
? Source name: sales_data
✓ Source 'sales_data' added successfully
Your sources.yml will look like this:
# .dango/sources.yml
sources:
- name: sales_data
type: local_files
local_files:
file_path: /path/to/your/data.csv
Option B: Stripe (API Integration)¶
For a more advanced example, try Stripe:
Follow the prompts:
- Select Stripe as the source type
- Enter your Stripe API key (get it from Stripe Dashboard)
- Give it a descriptive name (e.g.,
stripe_payments)
Option C: Google Sheets (OAuth)¶
Follow the prompts:
- Select Google Sheets as the source type
- Complete OAuth authentication in your browser
- Provide the Google Sheet URL
- Give it a descriptive name (e.g.,
marketing_data)
Managing OAuth credentials
Check the status of your OAuth tokens with dango oauth status. Re-authenticate anytime with the source-specific command (e.g., dango oauth google_sheets, dango oauth facebook_ads). See OAuth Guide for details.
Step 3: Sync Your Data¶
Now let's pull data from your source into DuckDB:
What happens during sync:
- dlt connects to your data source
- Data is loaded into the
rawschema in DuckDB - dbt generates staging models automatically
- Transformations run to create clean, deduplicated data
Example output:
$ dango sync
[18:30:45] Starting sync for all sources...
[18:30:46] → sales_data: Extracting data...
[18:30:47] → sales_data: Loading to DuckDB...
[18:30:48] → sales_data: 1,234 rows loaded
[18:30:49] Running dbt transformations...
[18:30:51] ✓ 3 models completed successfully
[18:30:51] ✓ Sync completed in 6.2s
Dry Run (Preview Without Executing)¶
To preview what will happen without executing:
Step 4: Start the Platform¶
Start the Web UI, Metabase, and dbt docs server:
What starts:
- Web UI —
http://localhost:8800 - Metabase — Accessible through the Web UI (SSO bridge)
- dbt docs — Accessible through the Web UI
Example output:
$ dango start
[18:31:00] Starting Dango platform...
[18:31:02] ✓ Docker containers started
[18:31:05] ✓ Metabase ready
[18:31:06] ✓ Web UI ready at http://localhost:8800
[18:31:06] ✓ Platform started successfully
[18:31:06] Opening http://localhost:8800 in your browser...
Your browser should open automatically. If it doesn't, visit http://localhost:8800 manually. Log in with the admin password you set during dango init.
Explore the Web UI
After logging in, you'll see the Dashboard page with system health and recent activity. Use the top navigation to explore:
- Sources — view your data sources, trigger syncs, upload CSVs
- Models — browse and run dbt transformation models
- Schedules — set up automated sync schedules
- Catalog — explore your data warehouse tables and columns
- Notebooks — launch Python notebooks for ad-hoc analysis
- Monitoring — track data quality and freshness metrics
See the Platform Tour for a full walkthrough of each page.
Metabase cold start
The first time Metabase starts, it takes 2–3 minutes to initialize its database. Subsequent starts are much faster. You can check progress with docker ps.
Open the Dashboard¶
Or simply visit http://localhost:8800 in your browser.
Step 5: Explore Your Data¶
Web UI (http://localhost:8800)¶
The Web UI provides:
- Pipeline Status — See all your data sources and their sync status
- Data Sources — Add, edit, and manage sources
- Transformations — View and manage dbt models
- Metabase — Access dashboards (SSO bridge, no separate login needed)
- dbt docs — Explore your data models
- Monitoring — Schema drift alerts, sync history, health checks
Metabase Dashboards¶
- Click "Open Metabase" in the Web UI sidebar
- Metabase is auto-configured with your DuckDB database
- Start exploring your data with SQL or the visual query builder
Build a full dashboard
See Your First Dashboard for a step-by-step guide to creating questions, building dashboards, and saving your configuration.
Query Your Data with SQL¶
You can query DuckDB directly using Metabase's SQL editor (via the Web UI) or from the command line. Open an interactive DuckDB session:
Recommended: Use Metabase's SQL editor (accessible via the Web UI at http://localhost:8800) for a better query experience with autocomplete and visualization.
Step 6: Add Transformations¶
Dango auto-generates staging models, but you can add your own transformations:
Create a New dbt Model¶
-
Navigate to your dbt models directory:
-
Create a new model file (e.g.,
marts/revenue_summary.sql): -
Run dbt to materialize your model:
Your new model is now available in DuckDB and Metabase!
Step 7: Automate with Scheduling¶
Set up automatic syncing on a schedule:
1. Enable in configuration:
Edit .dango/project.yml:
2. Add a schedule:
The interactive wizard will prompt you for the source name and schedule (e.g., "every day at 8am", custom cron expressions).
3. Start the platform:
The scheduler runs automatically while the platform is running.
Learn more in Scheduled Syncs and Configuring Schedules.
Common Workflows¶
Daily Data Pipeline¶
# Morning routine
source venv/bin/activate
dango sync # Pull fresh data
dango start # Start dashboards
Development Workflow¶
# Make changes to dbt models
cd dbt_project/models/
# Test your changes
dango sync --dry-run # Preview changes
dango sync # Apply changes
# View results in Metabase
open http://localhost:8800
Adding More Sources¶
# Add another source
dango source add
# Sync all sources
dango sync
# Sync specific source only
dango sync stripe_payments
Verify Everything Works¶
Let's make sure your setup is complete:
# Check Dango is installed
which dango
# Validate installation
dango validate
# Check sync status
dango status
# List all sources
dango source list
Next Steps¶
Now that you have a working pipeline:
- Your First Dashboard — Build a Metabase dashboard step by step
- Core Concepts — Understand Dango's architecture
- Data Sources — Connect more data sources
- Transformations — Write advanced dbt models
- Dashboards — Advanced Metabase features
- Scheduling & Monitoring — Automate your pipelines
- Security — Authentication, OAuth, credentials
- Deployment — Deploy to the cloud
- CLI Reference — Explore all 50+ commands
- Notebooks — Interactive data exploration
Troubleshooting¶
"dango: command not found"¶
Make sure your virtual environment is activated:
If you just installed Dango, clear the shell's command cache:
"Docker not running"¶
Start Docker Desktop and verify:
"Port 8800 already in use"¶
Stop any running Dango instances:
Or kill the process using the port:
More Issues?¶
Check the full Troubleshooting Guide or open an issue.
Summary¶
You've successfully:
- ✅ Initialized a Dango project (with authentication)
- ✅ Added a data source
- ✅ Synced data to DuckDB
- ✅ Started the Web UI and Metabase
- ✅ Explored your data
Keep learning:
- Explore the CLI Reference for all 50+ commands
- Learn about Data Sources
- Master dbt Transformations
- Set up Scheduled Syncs