Metadata-Version: 2.4
Name: aury-agent
Version: 0.0.21
Summary: Aury Agent Framework - React Agent and Workflow orchestration
Author: Aury Team
License: MIT
Keywords: agent,llm,react,workflow
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.13
Requires-Python: >=3.13
Requires-Dist: aiofiles>=23.0.0
Requires-Dist: aury-ai-model[all]
Requires-Dist: pydantic>=2.0.0
Requires-Dist: python-dotenv>=1.0.0
Requires-Dist: pyyaml>=6.0.0
Requires-Dist: rich>=13.0.0
Requires-Dist: typer>=0.9.0
Provides-Extra: all
Requires-Dist: anthropic>=0.20.0; extra == 'all'
Requires-Dist: openai>=1.0.0; extra == 'all'
Provides-Extra: anthropic
Requires-Dist: anthropic>=0.20.0; extra == 'anthropic'
Provides-Extra: memory
Requires-Dist: chromadb>=0.4.0; extra == 'memory'
Provides-Extra: openai
Requires-Dist: openai>=1.0.0; extra == 'openai'
Description-Content-Type: text/markdown

# Aury Agents

A flexible Agent framework supporting both React Agent (autonomous loop) and Workflow (DAG orchestration) patterns.

## Features

- **React Agent**: Autonomous agent with tool calling loop
- **Workflow**: DAG-based orchestration for complex pipelines
- **Session Management**: Event-sourced session with snapshot and revert
- **Permission System**: Fine-grained tool execution control
- **Memory System**: Semantic memory with vector storage
- **Compaction**: Token-efficient session history management

## Installation

```bash
pip install aury-agent
```

## Quick Start

```python
from aury.agents import ReactAgent, Tool

# Define a tool
@tool
def search(query: str) -> str:
    """Search the web."""
    return f"Results for: {query}"

# Create agent
agent = ReactAgent(
    tools=[search],
    llm_provider=your_llm_provider,
)

# Run
result = await agent.run("What is the weather today?")
```

## Development

```bash
# Install dev dependencies
uv sync

# Run tests
pytest

# Type check
mypy aury

# Lint
ruff check aury
```

## License

MIT
