Repository navigation
Home
github-actions[bot] edited this page Mar 15, 2026
·
2 revisions
Local, Python-first desktop UI — single control plane for end-to-end data projects powered by the DataEngineX platform.
DEX Studio connects to a running DEX engine instance and unifies the full project lifecycle in one desktop window:
project setup → ingestion → medallion pipelines (bronze/silver/gold) → ML/AI workflows → serving → observability
DEX Studio is a separate project that talks to the DEX engine over HTTP. It does not fork or embed the DEX package — it consumes its API.
- DEX engine provides the API, data pipelines, and ML infrastructure
- DEX Studio provides the unified UI to visualise and control those systems
Both repos are developed in lockstep: each Studio page drives a corresponding DEX engine API endpoint.
# Clone and install
git clone https://github.com/TheDataEngineX/dex-studio && cd dex-studio
uv sync
# Start DEX engine first (in the DEX repo)
cd ../DEX && uv run poe dev
# Launch Studio (opens native window)
cd ../dex-studio && uv run dex-studiodex-studio # defaults (http://localhost:8000)
dex-studio --url http://host:8000 # custom DEX engine URL
dex-studio --token my-jwt-token # authenticated connection
dex-studio --theme light # light mode
dex-studio --config path/to/config.yaml
dex-studio --version| Page | Route | Description |
|---|---|---|
| Overview | / |
System health, quality metrics, config |
| Health | /health |
Liveness, readiness, startup probes |
| Data Quality | /quality |
Medallion layer scores, source registry |
| Lineage | /lineage |
Data lineage event explorer |
| ML Models | /models |
Model registry, metadata, prediction playground |
| Settings | /settings |
Connection config, theme preferences |
Config priority (highest wins):
- CLI arguments
- Environment variables (
DEX_STUDIO_API_URL,DEX_STUDIO_API_TOKEN, …) - Project-local
.dex-studio.yaml - User-level
~/.dex-studio/config.yaml - Built-in defaults
# ~/.dex-studio/config.yaml
api_url: "http://localhost:8000"
timeout: 10.0
theme: dark
poll_interval: 5.0| Component | Technology |
|---|---|
| UI Framework | NiceGUI + pywebview (native) |
| HTTP Client | httpx (async) |
| Config | PyYAML + Pydantic |
| Build | Hatchling + uv |
| Testing | pytest + pytest-asyncio |
| Linting | Ruff |
| Type Checking | mypy (strict) |
git clone https://github.com/TheDataEngineX/dex-studio && cd dex-studio
uv run poe setup # install all deps (including dev)
uv run poe lint # ruff lint
uv run poe typecheck # mypy strict
uv run poe test # pytest
uv run poe check-all # lint + typecheck + test
uv run poe dev # browser mode (development, port 8080)
uv run poe dev-native # native window modePart of the DataEngineX ecosystem:
| Repo | Purpose | Port |
|---|---|---|
| dex | Core framework | 8000 |
| datadex | Pipeline engine | 8001 |
| agentdex | AI agents | 8002 |
| careerdex | Career intelligence | 8003 |
| dex-studio | Desktop UI | 8080 |
| infradex | Infrastructure | — |
For shared framework documentation, see the dex wiki.
Version: v0.1.0 | License: MIT | Python: 3.11+