Skip to content
github-actions[bot] edited this page Mar 15, 2026 · 2 revisions

DEX Studio

CI Python 3.11+ License: MIT

Local, Python-first desktop UI — single control plane for end-to-end data projects powered by the DataEngineX platform.

What is DEX Studio?

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.

Quick Start

# 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-studio

CLI Options

dex-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

Pages

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

Configuration

Config priority (highest wins):

  1. CLI arguments
  2. Environment variables (DEX_STUDIO_API_URL, DEX_STUDIO_API_TOKEN, …)
  3. Project-local .dex-studio.yaml
  4. User-level ~/.dex-studio/config.yaml
  5. Built-in defaults
# ~/.dex-studio/config.yaml
api_url: "http://localhost:8000"
timeout: 10.0
theme: dark
poll_interval: 5.0

Tech Stack

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)

Development

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 mode

Workspace

Part 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+