Skip to content

Latest commit

 

History

2 Commits

Folders and files

Repository files navigation

drt-sandbox

A clean sandbox environment to try drt -- the open-source Reverse ETL framework.

Prerequisites

  • Python 3.10+
  • pip (or uv)
  • duckdb Python package (installed automatically with drt)

Quick Start

# Clone the sandbox
git clone https://github.com/drt-hub/drt-sandbox.git
cd drt-sandbox

# Run setup (installs drt, creates sample DuckDB database)
chmod +x setup.sh cleanup.sh
./setup.sh

# Try drt commands
drt validate          # Validate project config
drt list              # List configured syncs
drt run --dry-run     # Test run without sending data
drt run               # Run all syncs
drt status            # Check run results

# New in v0.8.0 — generate a lineage catalog site for this project
drt docs generate     # → target/docs/ ; open target/docs/index.html

See it hosted: the live demo is exactly what drt docs generate produces — every sync, its model and destination, and an ownership lineage DAG. Connection labels are docs-safe by default (no endpoints / emails / phones leak into the output).

What's Included

File Description
drt_project.yml Project configuration (points to the sandbox profile)
syncs/example_users.yml Example sync: sends users to httpbin.org (safe for testing)
setup.sh Creates a sample DuckDB database with users and orders tables
cleanup.sh Resets the sandbox to a clean state
target/docs/ Generated by drt docs generate — a static lineage catalog of the project (v0.8.0)
CLAUDE.md Instructions for Claude Code (slash commands)
.claude/commands/ Claude Code skills: /drt-init, /drt-create-sync, /drt-debug, /drt-migrate

Using with Claude Code

If you have Claude Code installed, you can use the built-in slash commands:

/drt-init          # Initialize a new drt project
/drt-create-sync   # Create a sync YAML interactively
/drt-debug         # Debug a failing sync
/drt-migrate       # Migrate from Census/Hightouch/etc. to drt

Sample Data

setup.sh creates a DuckDB database (sandbox.duckdb) with two tables:

users -- 5 sample users with name, email, and department

orders -- 5 sample orders with product, amount, and timestamp

Security Note

This repository contains no real credentials or production data. All API endpoints use safe public services (e.g., httpbin.org). Secrets are referenced via environment variables (*_env fields) and are never hardcoded in sync files.

Links

License

MIT

About

A clean sandbox environment to try drt (Reverse ETL CLI). Clone and start syncing in minutes.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages