Skip to main content

Daita: persistent data agents

Daita

The data agent that learns how your business works.

Daita connects to SQLite, PostgreSQL, and an admitted local workspace, then returns grounded answers to questions asked in plain language. Conversations, approved memory, and reusable skills persist across sessions so useful business context does not have to be explained again.

Quick start · Local workspaces · Model sources · Remote MCP · Scheduled routines · Examples

You:   Which region led paid revenue last quarter?
Daita: EMEA led with $4.2M, followed by North America with $3.7M.

Why Daita?

Talk to real data Query SQLite and PostgreSQL, or analyze admitted CSV, TSV, JSON, NDJSON, and Parquet files without writing SQL.
Get grounded answers Daita validates queries against the current catalog before reading a source.
Choose your model Use OpenAI, Anthropic, Gemini, Grok, Ollama, an OpenAI-compatible endpoint, or supported model subscriptions.
Keep useful context Persist conversations, user-approved memory, and reusable Markdown skills.
Stay in control Sources begin read-only, access is explicitly scoped, and operational effects require exact approval.

Quick start

You need Python 3.11 or 3.12 and pipx.

pipx install daita-agents
daita

If pipx would otherwise select a newer unsupported interpreter, choose an installed Python 3.11 or 3.12 explicitly:

pipx install --python python3.12 daita-agents

The first launch guides you through choosing a workspace, creating an agent, selecting a model, and optionally attaching a read-only data source. API-backed model credentials are stored in the OS keychain. Ollama needs no API key, and supported Codex, Claude Code, and Grok Build subscriptions can use their documented sign-in flows. See Subscription model sources for setup and security boundaries.

Once setup is complete, try asking:

Which products grew fastest month over month?
How many customers have not ordered in 90 days?
Compare paid revenue by region and plan.
Summarize the CSV files in this workspace.

Run daita again for a returning launch. Daita reopens the only agent or shows a picker when several exist. Use daita --agent atlas to select one directly. Inside the terminal, /help lists commands and controls, / opens the command palette, and @ selects a source for one question.

Read-first by design

Daita treats source metadata, query results, file content, remote tool output, memory, and skills as untrusted input. None of them can grant authority or change the execution policy.

  • SQLite and PostgreSQL sources begin read-only.
  • SQL is validated against the current catalog before source I/O.
  • Workspace reads reject traversal, symlinks, secret-like paths, and special files.
  • Remote MCP tools require an explicitly admitted read-only binding and are revalidated at call time.
  • The only supported source-data mutation is an explicitly enabled structured PostgreSQL update with an exact target preview, once-only approval, transactional drift detection, and an immutable receipt.

Learn more in Local workspaces, Remote MCP read connectivity, and PostgreSQL updates.

How it works

Daita uses one direct model/tool loop:

user message -> model -> tool calls -> ordered tool results -> model -> answer

The current transcript is the loop state. Tool failures are returned to the model like ordinary results so it can correct a call on the next step. Steps, wall time, tokens, and estimated cost are bounded.

Agent identity, source registrations, catalog snapshots, transcripts, jobs, routines, and results are stored in one SQLite database inside the agent home. Memory and skills are bounded advisory Markdown—not source truth, evidence, or authorization. Durable jobs and scheduled routines use the same catalog, capability runtime, and execution loop as foreground questions.

For the full implementation boundaries, see the repository architecture guide.

Documentation

Topic Guide
Workspace selection, file reads, queries, and edits Local workspaces
Codex, Claude Code, and Grok Build subscriptions Subscription model sources
Read-only remote tools Remote MCP connectivity
Schedules, outcomes, inboxes, and resident hosting Scheduled routines
Scoped PostgreSQL updates and receipts PostgreSQL updates
State compatibility and automatic upgrades Local state compatibility
Managed installer release status Managed installer
Public Python API walkthroughs Offline examples
Development and architecture contracts Repository guide
Contribution workflow Contributing
Private vulnerability reporting Security policy

For command discovery, use:

daita --help
daita routines --help

Python users can start with the deterministic SQLite quickstart:

PYTHONPATH=src .venv/bin/python examples/00_quickstart_sqlite_from_db.py

Upgrade or uninstall

Close every running Daita terminal before managing the installation:

pipx upgrade daita-agents
pipx reinstall daita-agents
pipx uninstall daita-agents

Application state under ~/.daita is separate from the installation and is not removed by pipx. Daita 0.19.0 and earlier belong to a different legacy framework family; a 0.x-to-1.0 migration is unsupported. Preserve legacy state before installing Daita 1.x. See Local state compatibility and the managed installer status.

Contributing

See CONTRIBUTING.md for development setup and pull-request guidance. Report security issues privately through SECURITY.md.

License

MIT

Release files for daita-agents 1.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distribution (wheel)

Table of built distributions (wheels) for daita-agents 1.0.1
File Interpreter ABI Platform
daita_agents-1.0.1-py3-none-any.whl Python 3 none any Details

Release files / daita_agents-1.0.1-py3-none-any.whl

Download URL daita_agents-1.0.1-py3-none-any.whl
Size 807.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2b46f0a440b722b86734d65bbf1fb86fb9e1c958bb99bcb1845d21dc806fafce
BLAKE2b-256 checksum
How to use checksums
d1fac9885fe26154b74134ed1e05a92fae6b580da439f46698412ea2e8625c1c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.15

Release history Release notifications | RSS feed

1.1.2

1 release file

1.1.1

1 release file

1.1.0

1 release file

This release

1.0.1 This release

1 release file

0.19.0

2 release files

0.16.0

2 release files

0.13.2

2 release files

0.13.1

2 release files

0.13.0

2 release files

0.12.1

2 release files

0.12.0

2 release files

0.11.0

2 release files

0.10.0

2 release files

0.9.0

2 release files

0.8.0

2 release files

0.7.1

2 release files

0.7.0

2 release files

0.6.2

2 release files

0.6.1

2 release files

0.6.0

2 release files

0.5.0

2 release files

0.4.2

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.4

2 release files

0.3.3

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.4

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.2

2 release files

0.1.1

2 release 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