Get up and running in 5 minutes.
git clone <repo-url>
cd nyc_data
.\deploy.ps1 setup
.\deploy.ps1 start
Start http://localhost:8501git clone <repo-url>
cd nyc_data
chmod +x deploy.sh
./deploy.sh setup
./deploy.sh start
open http://localhost:8501git clone <repo-url>
cd nyc_data
python launcher.py setup all
python launcher.py docker up
python launcher.py web
# Open browser to http://localhost:8501After setup completes, you have:
| Service | URL | Username | Password |
|---|---|---|---|
| Airflow Orchestrator | http://localhost:8080 | airflow | airflow |
| Streamlit Dashboard | http://localhost:8501 | - | - |
| PostgreSQL Database | localhost:5432 | dot_user | (see .env.socrata) |
| Grafana Monitoring | http://localhost:3000 | admin | (see .env.socrata) |
| Prometheus Metrics | http://localhost:9090 | - | - |
| Jaeger Tracing | http://localhost:16686 | - | - |
# Edit .env.socrata with your Socrata API token
# This token will be automatically synced to Airflow on startup
notepad .env.socrata # WindowsEnsure the SOCRATA_APP_TOKEN is set in the Airflow UI (Admin -> Variables) or via CLI:
docker exec airflow-scheduler airflow variables set SOCRATA_APP_TOKEN your_token_here# Search for datasets
python launcher.py cli search --query "sidewalk repairs"
# Or via launcher on Windows
py launcher.py cli search --query "sidewalk repairs"# Run system diagnostics
python launcher.py doctorOpen browser to http://localhost:8501
# Web dashboard
python launcher.py web
# CLI tools
python launcher.py cli search --query repairs
python launcher.py cli meta --domain data.cityofnewyork.us --fourfour a2nx-4u46
# Docker management
python launcher.py docker up
python launcher.py docker down
python launcher.py docker status
# System health
python launcher.py doctor
python launcher.py info# Install
make install
# Start development
make dev
# Run tests
make test
# View help
make helpWindows PowerShell:
.\deploy.ps1 setup
.\deploy.ps1 start
.\deploy.ps1 logs
.\deploy.ps1 stopLinux/MacOS Bash:
./deploy.sh setup
./deploy.sh start
./deploy.sh logs
./deploy.sh stop- Windows: Open Docker Desktop application
- Linux: Run
sudo systemctl start docker - MacOS: Open
/Applications/Docker.app
# Create virtual environment
python -m venv venv
source venv/bin/activate # Linux/MacOS
# or
venv\Scripts\activate # Windows
# Install dependencies
pip install -e ".[all]"# Change port
python launcher.py web --port 8502
# Or check what's using the port
# Windows: netstat -ano | findstr :8501
# Linux: lsof -i :8501# Restart PostgreSQL
python launcher.py docker restart --service postgres
# Or full restart
python launcher.py docker down
python launcher.py docker up- Complete Setup: See DEPLOYMENT_GUIDE.md
- Learn Architecture: See Architecture Documentation
- API Usage: See API Guide
- Data Governance: See Data Governance Guide
- Microsoft 365: See M365 Integration
- GIS/Mapping: See Geospatial Guide
python launcher.py cli search --query repairs
python launcher.py cli profile <dataset>
python launcher.py cli lineage <dataset>Best for: Automated scripts, batch processing, integration with other tools
python launcher.py web
# Opens interactive dashboard at http://localhost:8501Best for: Visual exploration, reports, stakeholder presentations
python launcher.py docker up
# Access PostgreSQL, APIs, monitoring, tracingBest for: Production deployment, scaling, integration architecture
┌─────────────────────────────────────────────────────────────┐
│ NYC DOT Toolkit Stack │
├─────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────┐ ┌──────────────┐ ┌─────────────────┐ │
│ │ Streamlit │ │ FastAPI │ │ CLI Tools │ │
│ │ Dashboard │ │ REST API │ │ (socrata cli) │ │
│ └──────┬──────┘ └──────┬───────┘ └────────┬────────┘ │
│ │ │ │ │
│ └────────────┬───┴────────────────────┘ │
│ │ │
│ ┌─────────────▼──────────────────────┐ │
│ │ Governance & Compliance Engine │ │
│ │ • Schema Registry │ │
│ │ • CDC Processor │ │
│ │ • Lineage Tracking │ │
│ │ • Compliance Checker │ │
│ └──────────┬─────────────────────────┘ │
│ │ │
│ ┌──────────▼──────────┬──────────────┐ │
│ │ PostgreSQL + │ Redis │ │
│ │ PostGIS │ Cache │ │
│ │ (Data Storage) │ │ │
│ └─────────────────────┴──────────────┘ │
│ │ │
│ ┌──────────▼──────────────────────┐ │
│ │ Monitoring & Observability │ │
│ │ • Prometheus │ │
│ │ • Grafana │ │
│ │ • Jaeger │ │
│ └───────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────┘
| Need | Resource |
|---|---|
| Setup help | DEPLOYMENT_GUIDE.md |
| How it works | Architecture |
| CLI commands | CLI Reference |
| REST API | API Guide |
| Data governance | Governance Guide |
| Troubleshooting | FAQ |
| Microsoft 365 | M365 Integration |
| GIS/Mapping | Geospatial Guide |
| Database access | Database Guide |
Version: 0.3.0
Last Updated: 2026-05-11
Maintainer: NYC DOT Development Team