Metadata-Version: 2.4
Name: dana
Version: 0.6.0.2.post1
Summary: Dana programming language for Domain-Aware Neurosymbolic Agents
Author-email: Christopher Nguyen <ctn@aitomatic.com>
Maintainer-email: Vinh Luong <vinh@aitomatic.com>, Annie Ha <annie@aitomatic.com>, Lam Nguyen <lam@aitomatic.com>, Roy Vu <roy@aitomatic.com>, Sang Dinh <sang@aitomatic.com>
Requires-Python: >=3.12
Description-Content-Type: text/markdown
License-File: LICENSE.md
Requires-Dist: aisuite[anthropic,azure,groq,huggingface,ollama,openai]>=0.1.11
Requires-Dist: google-cloud-aiplatform
Requires-Dist: httpx>=0.27.0
Requires-Dist: llama-index
Requires-Dist: openai>=1.55.3
Requires-Dist: lark
Requires-Dist: pandas
Requires-Dist: matplotlib
Requires-Dist: seaborn
Requires-Dist: sqlalchemy
Requires-Dist: aiohttp
Requires-Dist: aioconsole
Requires-Dist: websockets
Requires-Dist: python-dotenv
Requires-Dist: pyyaml
Requires-Dist: structlog
Requires-Dist: prompt-toolkit
Requires-Dist: pygments
Requires-Dist: textual
Requires-Dist: pyperclip
Requires-Dist: playwright
Requires-Dist: fastapi
Requires-Dist: uvicorn
Requires-Dist: pytest
Requires-Dist: pytest-asyncio
Requires-Dist: pytest-mock
Requires-Dist: lsprotocol
Requires-Dist: pygls
Requires-Dist: python-a2a>=0.5.9
Requires-Dist: tqdm
Requires-Dist: aicapture==0.3.5
Requires-Dist: python-lsp-server[all]>=1.13.0
Requires-Dist: pyright>=1.1.403
Requires-Dist: jedi>=0.19.2
Requires-Dist: llama-index-embeddings-openai>=0.3.1
Requires-Dist: llama-index-llms-cohere>=0.5.0
Requires-Dist: llama-index-vector-stores-duckdb>=0.4.6
Requires-Dist: llama-index-vector-stores-postgres>=0.5.5
Requires-Dist: llm-code-executor
Requires-Dist: mcp
Requires-Dist: numpy>=2.2.3
Requires-Dist: loguru>=0.7.3
Requires-Dist: textual-dev>=1.7.0
Requires-Dist: opencv-python>=4.11.0.86
Requires-Dist: pillow>=11.1.0
Requires-Dist: pymupdf>=1.25.3
Requires-Dist: llama-index-embeddings-azure-openai>=0.3.9
Requires-Dist: llama-index-llms-azure-openai>=0.3.4
Requires-Dist: llama-index-embeddings-ibm>=0.3.1
Requires-Dist: llama-search>=0.3.4
Requires-Dist: build>=1.3.0
Requires-Dist: twine>=6.1.0
Requires-Dist: ruff>=0.13.0
Requires-Dist: alembic>=1.16.5
Requires-Dist: docx2txt>=0.9
Requires-Dist: broadcaster==0.3.1
Requires-Dist: openpyxl>=3.1.5
Requires-Dist: anthropic>=0.30.1
Requires-Dist: langfuse==3.5.1
Requires-Dist: html2text>=2025.4.15
Requires-Dist: beautifulsoup4>=4.13.4
Requires-Dist: lxml>=6.0.2
Requires-Dist: readability-lxml>=0.8.4.1
Requires-Dist: requests>=2.32.4
Provides-Extra: dev
Requires-Dist: mypy; extra == "dev"
Requires-Dist: pre-commit; extra == "dev"
Requires-Dist: pylint; extra == "dev"
Requires-Dist: ruff; extra == "dev"
Requires-Dist: pexpect; extra == "dev"
Requires-Dist: pytest-cov; extra == "dev"
Requires-Dist: textual-dev>=1.7.0; extra == "dev"
Requires-Dist: build; extra == "dev"
Requires-Dist: twine; extra == "dev"
Provides-Extra: docs
Requires-Dist: mkdocs; extra == "docs"
Requires-Dist: mkdocs-material; extra == "docs"
Requires-Dist: mkdocs-mermaid2-plugin; extra == "docs"
Requires-Dist: mkdocs-section-index; extra == "docs"
Requires-Dist: mkdocstrings; extra == "docs"
Requires-Dist: mkdocstrings-python; extra == "docs"
Requires-Dist: mkdocs-git-revision-date-localized-plugin; extra == "docs"
Requires-Dist: pymdown-extensions[extra]; extra == "docs"
Requires-Dist: mkdocs-gen-files; extra == "docs"
Requires-Dist: mkdocs-literate-nav; extra == "docs"
Requires-Dist: doc8; extra == "docs"
Requires-Dist: linkcheckmd; extra == "docs"
Requires-Dist: mkdocs-htmlproofer-plugin; extra == "docs"
Requires-Dist: mkdocs-awesome-nav; extra == "docs"
Requires-Dist: mkdocs-include-markdown-plugin; extra == "docs"
Requires-Dist: mkdocs-macros-plugin; extra == "docs"
Requires-Dist: mkdocs-print-site-plugin; extra == "docs"
Requires-Dist: mkdocs-redirects; extra == "docs"
Requires-Dist: mkdocs-table-reader-plugin; extra == "docs"
Dynamic: license-file

<div align="center">
  <img src="https://raw.githubusercontent.com/aitomatic/dana/release/docs/.archive/0804/images/dana-logo.jpg" alt="Dana Logo" width="80">
</div>

# Dana: The World’s First Agentic OS

## Build deterministic expert agent easily with Dana.
 

### A complete Expert Agent Development Toolkit: Agentic out of the box. Grounded in domain expertise.

---

## Why Dana?  

Most frameworks make you choose:  
- **Too rigid** → narrow, specialized agents.  
- **Too generic** → LLM wrappers that fail in production.  
- **Too much glue** → orchestration code everywhere.  

Dana gives you the missing foundation:

- **Deterministic** → flexible on input, consistent on output — reliable results every run.  
- **Contextual** → built-in memory and knowledge grounding let agents recall, adapt, and reason with domain expertise.  
- **Concurrent by default** → non-blocking execution; agents run tasks in parallel without threads or async code.  
- **Composable workflows** → chain simple steps into complex, reproducible processes that capture expert know-how.  
- **Local** → runs on your laptop or secure environments, ensuring privacy, speed, and mission-critical deployment.  
- **Robust** → fault-tolerant by design, agents recover gracefully from errors and edge cases.  
- **Adaptive** → agents learn from feedback and evolving conditions, improving performance over time.
  

---

## Install and Launch Dana 

💡 **Tip:** Always activate your virtual environment before running or installing anything for Dana.

```bash
# Activate your virtual environment (recommended)
source venv/bin/activate  # On macOS/Linux
# or
venv\Scripts\activate     # On Windows

pip install dana
dana studio # Launch Dana Agent Studio
dana repl # Launch Dana Repl
```

- For detailed setup (Python versions, OS quirks, IDE integration), see [Tech Setup](https://github.com/aitomatic/dana/blob/release/docs/tech-setup.md).

---

## What’s Included in v0.5  

### Agent Studio
Turn a problem statement into a draft expert agent with three parts — agent, resources, workflows. Studio generates a best-match workflow and lets you extend it with resources (documents, generated knowledge, web search) or edit workflows directly.

### Agent-Native Programming Language
A Python-like `.na` language with a built-in runtime that provides agentic behaviors out of the box — concurrency, knowledge grounding, and deterministic execution — so you don’t have to wire these up yourself.

What this means for you: You can build and iterate on expert agents faster, with less setup and more confidence they’ll run reliably in production.

Full release notes → [v0.5 Release](https://github.com/aitomatic/dana/blob/release/docs/releases/v0.5.md).

---

## First Expert Agent in 4 Steps  

1. **Define an Agent**  
   ```dana
   agent RiskAdvisor
   ```  

2. **Add Resources**  
   ```dana
   resource_financial_docs = get_resources("rag", sources=["10-K.pdf", "Q2.xlsx"])
   ```  

3. **Follow an Expert Workflow**  
   ```dana
   def analyze(...): return ...
   def score(...): return ...  
   def recommend(...): return ...
   
   def wf_risk_check(resources) = analyze | score | recommend

   result = RiskAdvisor.solve("Identify liquidity risks", resources=[resource_financial_docs], workflows=[wf_risk_check])
   
   print(result)
   ```  

4. **Run or Deploy**  
   ```bash
   dana run my_agent.na       # Run locally
   dana deploy my_agent.na    # Deploy as REST API
   ```  

 

---

## Learn More  

- [Core Concepts](https://github.com/aitomatic/dana/blob/release/docs/core-concepts.md) → Agents, Resources, Workflows, Studio.
- [Reference](https://github.com/aitomatic/dana/blob/release/docs/reference/language.md) → Language syntax and semantics.
- [Primers](https://github.com/aitomatic/dana/tree/release/docs/primers) → Deep dives into Dana language design.

---

## Community  
- 🐞 [Issues](https://github.com/aitomatic/dana/issues)  
- 💬 [Discuss on Discord](https://discord.gg/dana)  

## Enterprise support
- [Contact Aitomatic Sales](mailto:sales@aitomatic.com)  

---

## License  

Dana is released under the [MIT License](https://github.com/aitomatic/dana/blob/release/LICENSE.md).  
© 2025 Aitomatic, Inc.  
