Skip to main content

Datus · Open-Source Data Engineering Agent

License: Apache 2.0 PyPI version Python 3.12+ Slack

Website · Docs · Quick Start · Dosi · Release Notes

English | 简体中文


Datus is the open-source data engineering agent for the modern data stack: one agent that connects your warehouse, catalog, semantic layer, and BI, grounded in an evolvable context engine your team owns.

Datus handles SQL authoring and validation, semantic model and metric construction, and the generation of pipelines, reports, and dashboards. Every run and every correction settles into context, which steadily raises the accuracy of its output. The whole stack stays open and flexible: databases, BI, schedulers, LLMs, and your team's own tools all connect through standard interfaces.

Architecture

Datus Architecture

The diagram reads top to bottom: who uses Datus, what the agent is made of, and what it connects to.

  • Three entry points, by role: data engineers work in Datus-CLI to explore data and build assets; analysts ask through Datus-Chat on the web, in Slack/Feishu, or in VS Code, and their feedback flows back into the agent; other agents and applications consume Datus-API over REST and MCP.
  • The agent core: subagents package curated context, tools, and rules for one business domain, and skills add packaged tools. Underneath sits the context engine: metadata, metrics, reference SQL, knowledge, and local files, retrieved through business-domain trees plus vector search, with storage on embedded LanceDB and SQLite and PostgreSQL for teams that share context.
  • Connected systems: LLM providers, data warehouses, the Dosi semantic layer, job schedulers, BI tools, and MCP servers and clients, reached through adapters and through plugins that bring third-party and in-house tools into the agent.

Features

Semantic layer

  • Automated semantic modeling: the agent reads your database schema and SQL history, then generates OSI semantic models and metric definitions, with no hand-written YAML.
  • Dosi execution engine: compiles one semantic model into SQL for 13+ database dialects, and ships as an independent program you can also run as a CLI, REST server, or MCP server.
  • Metric Q&A and attribution: AskMetrics answers business questions from metric definitions instead of improvising SQL, and when a metric moves, dimension attribution locates which dimension drove the change.

Agent and context

  • Sharper with use: the context engine gathers schemas, reference SQL, and business rules, and writes every correction back, so later answers keep getting more accurate.
  • Subagent delivery: curate context, tools, and rules for one domain, package them as a dedicated chatbot, and serve it to analysts over web, API, MCP, Slack/Feishu, or VS Code.
  • Data engineering automation: built-in subagents handle cross-database migration, ETL job generation, and wide-table builds, with Airflow orchestration and Superset/Grafana dashboard read-write.
  • Report and dashboard generation: produce self-contained HTML reports and interactive dashboards straight from chat, previewed locally with no SaaS backend.

Openness and governance

  • Open ecosystem: adapters for 19 databases, 10+ LLM providers, and an MCP server and client.
  • External integrations: the plugin framework connects third-party platforms and in-house tools to the agent; one datus-plugin.yml manifest declares CLI commands, skills, and prompt context, with per-project activation.
  • Skills: packaged tools following the agentskills.io convention, installable from a marketplace.
  • Enterprise governance: tiered permission profiles, statement-level SQL authorization with AI pre-review, bash confined to an OS-level sandbox, and traces exportable to any OTLP platform.

Quickstart

Linux or macOS:

curl -fsSL https://raw.githubusercontent.com/datus-ai/datus-agent/main/install.sh | sh

Open a new shell and run datus, then:

  1. /model to configure an LLM
  2. /datasource to add a datasource
  3. /init (optional) to scan the current project

Manual install works too: pip install datus-agent (Python 3.12+); more install options are covered in the Quickstart. When pip spends minutes backtracking through litellm releases (versions up to 0.3.9 are affected), uv resolves the same set in seconds: pip install uv && uv pip install datus-agent --system. The end-to-end tutorial demonstrates the full flow on a sample dataset. Configuration has two levels: a global agent.yml for the main settings, and a per-project .datus/config.yml for overrides such as the active model and default datasource (see the configuration docs).

Interfaces

The examples below use a datasource named demo; create one first with /datasource.

Interface Command Use Case
CLI (interactive REPL) datus --datasource demo Data engineers exploring data, building context, creating subagents
Web Chatbot (FastAPI + React) datus --web --datasource demo Analysts chatting with subagents via browser (http://localhost:8501)
REST API (FastAPI) datus-api --datasource demo Applications consuming data services via REST (http://localhost:8000)
MCP Server datus-mcp --datasource demo MCP-compatible clients (Claude Desktop, Cursor, etc.)
IM Gateway datus-gateway Analysts talking to subagents in Slack or Feishu/Lark
VS Code (Datus Studio) connects to datus --web Catalog explorer, chat panel, SQL results & AI charts in the IDE

Tip: Print mode streams JSON to stdout for scripting and CI: datus -p "your question" --datasource demo.

Development

Developing Datus

Start here to work on Datus itself: install dependencies with uv, then run the PR test harness and format checks before submitting.

uv sync                                                                    # Install dependencies
uv run python ci/run-pr-tests.py upstream/main                             # PR CI harness (no external deps)
uv run ruff format datus/ tests/ && uv run ruff check --fix datus/ tests/  # Lint & format

See CLAUDE.md for development conventions, architecture patterns, and testing rules.

Developing a plugin

Extending Datus does not require touching its core: declare CLI commands, skills, and prompt context in a datus-plugin.yml manifest, then pack it for distribution and per-project activation. The plugin development guide walks through the full flow.

License

Apache 2.0

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

datus_agent-0.4.1.tar.gz (5.2 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

datus_agent-0.4.1-py3-none-any.whl (5.6 MB view details)

Uploaded Python 3

File details

Details for the file datus_agent-0.4.1.tar.gz.

File metadata

  • Download URL: datus_agent-0.4.1.tar.gz
  • Upload date:
  • Size: 5.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.12.14

File hashes

Hashes for datus_agent-0.4.1.tar.gz
Algorithm Hash digest
SHA256 4757260cf9b02f4b0a82ada758ea3a64af62d083a0039688579204d9215c43aa
MD5 d1f9a71c9d4b2755c6a7bc7fed76ebd5
BLAKE2b-256 3920e0e586dc92642025354a71ca083f2885ed448d391df4acebe439b7ef49ed

See more details on using hashes here.

File details

Details for the file datus_agent-0.4.1-py3-none-any.whl.

File metadata

  • Download URL: datus_agent-0.4.1-py3-none-any.whl
  • Upload date:
  • Size: 5.6 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.12.14

File hashes

Hashes for datus_agent-0.4.1-py3-none-any.whl
Algorithm Hash digest
SHA256 1e35250ed37d724b319e5785dcab3c6dc77b4fee465aa39a4c4e4532b9223975
MD5 f792b8409cbbb7500b91ee4500212e28
BLAKE2b-256 f624b2eccf31aeea44bb56d7f8b9d270f926914cd0216ddadf229a1fd4e5120e

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.4.1 This release

2 files

0.4.0

2 files

0.3.9

2 files

0.3.8

2 files

0.3.7

2 files

0.3.6

2 files

0.3.5

2 files

0.3.4

2 files

0.3.3

2 files

0.3.2

2 files

0.3.1

2 files

0.3.0

2 files

0.2.6

2 files

0.2.5

2 files

0.2.4

2 files

0.2.3

2 files

0.2.2

2 files

0.2.1

2 files

0.2.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page