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.
💡 Tip: Always activate your virtual environment before running or installing anything for Dana.
# 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.
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.
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.
-
Define an Agent
agent RiskAdvisor
-
Add Resources
resource_financial_docs = get_resources("rag", sources=["10-K.pdf", "Q2.xlsx"])
-
Follow an Expert Workflow
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)
-
Run or Deploy
dana run my_agent.na # Run locally dana deploy my_agent.na # Deploy as REST API
- Core Concepts → Agents, Resources, Workflows, Studio.
- Reference → Language syntax and semantics.
- Primers → Deep dives into Dana language design.
Dana is released under the MIT License.
© 2025 Aitomatic, Inc.