Why DataEngineX — Data + ML + AI Engineering
DataEngineX is an open-source, self-hosted Python framework for data pipelines, ML lifecycle, and AI agents — unified under one dex.yaml. Native integrations with DuckDB, Spark, MLflow, LiteLLM, and more.
The Modern Data Stack Is Broken
A typical production data + ML + AI setup looks like this:
| Concern | Tool you add |
|---|---|
| Orchestration | Airflow or Prefect |
| Experiment tracking | MLflow or W&B |
| AI / LLM agents | LangChain or LlamaIndex |
| Data serving | FastAPI (custom) |
| Observability | Prometheus + Grafana + custom logging |
| Deployment | Helm + Terraform + custom CI |
You are not building a product. You are building glue.
Every new tool is another configuration format, another auth system, another failure mode, another oncall page.
DataEngineX does not rip out those tools. It ships production-ready implementations of every layer — and integrates cleanly with the tools you already run.
One File, Entire Stack
DataEngineX is a Python framework for your Data + ML + AI engineering lifecycle. Define once, run anywhere:
# dex.yaml
data:
source: s3://my-bucket/raw/
format: parquet
quality:
null_threshold: 0.05
ml:
backend: mlflow # or built-in — swap without code change
training:
model: xgboost
target: revenue
ai:
provider: openai
retrieval: hybrid # BM25 + dense — built in
agents:
- name: analyst
tools: [sql, search]
observability:
metrics: prometheus
tracing: otel
Use it from Python, the dex CLI, or the self-hosted web UI. No glue code.
Complete Platform — Built-In and Integrated
DataEngineX ships production-ready implementations of every layer:
- Data pipelines — DuckDB engine, S3/GCS connectors, quality gates, medallion lakehouse, optional Spark backend
- ML lifecycle — experiment tracking, model registry, training, serving, drift detection
- AI agents — LLM routing via LiteLLM, hybrid BM25+dense retrieval, LangGraph runtime
- DEX Studio — self-hosted web UI (FastAPI + Jinja2 + HTMX, port 7860)
- Observability — structlog structured logging, Prometheus metrics, OpenTelemetry tracing — built in, no extra packages
When you already run external tools, DataEngineX integrates natively — not against them. Airflow only schedules. MLflow only tracks. LangChain only chains. DataEngineX gives you the complete end-to-end stack:
| External Tool | DataEngineX integration |
|---|---|
| Airflow | Schedule DataEngineX pipelines from Airflow DAGs |
| MLflow | Point ml.backend: mlflow — tracking_uri wired automatically |
| LangChain / LiteLLM | LLM routing layer — 100+ providers, swap without code changes |
| Qdrant | Vector store for RAG — configured in ai.retrieval |
| Langfuse | LLM observability — enabled via config, not code |
| PySpark | Big-data backend — swap data.backend: spark in config |
Swappable Backends
Opinionated defaults, zero lock-in. Every layer is swappable:
pip install "dataenginex[cloud]" # S3 + GCS + BigQuery connectors
pip install "dataenginex[qdrant]" # Qdrant vector store
pip install 'litellm>=1.83.3' --no-deps # 100+ LLM providers (separate install)
The config stays the same. The backend changes.
Self-Hosted
Your data never leaves your infrastructure. No SaaS subscription. No vendor lock-in. Run on a VPS, K3s cluster, or bare metal.
Complete Data + ML + AI engineering, unified.