Metadata-Version: 2.4
Name: strands-arise
Version: 0.1.0
Summary: Self-evolving tool synthesis for Strands Agents — agents that create their own tools
Project-URL: Homepage, https://github.com/abekek/strands-arise
Project-URL: Documentation, https://arise-ai.dev
Project-URL: Repository, https://github.com/abekek/strands-arise
Author: Alibek Kaliyev
License-Expression: MIT
Keywords: agents,arise,llm,self-evolving,strands,tools
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Requires-Python: >=3.11
Requires-Dist: arise-ai>=0.2.0
Requires-Dist: strands-agents>=1.13.0
Provides-Extra: dev
Requires-Dist: arise-ai>=0.2.0; extra == 'dev'
Requires-Dist: pytest>=8.0; extra == 'dev'
Requires-Dist: strands-agents>=1.13.0; extra == 'dev'
Description-Content-Type: text/markdown

# strands-arise

Self-evolving tool synthesis for [Strands Agents](https://github.com/strands-agents/sdk-python). Agents that create their own tools.

```bash
pip install strands-arise
```

```python
from strands import Agent
from strands_arise import ARISEPlugin

agent = Agent(
    model=my_model,
    plugins=[ARISEPlugin(
        failure_threshold=3,
        allowed_imports=["json", "re", "hashlib", "csv", "math"],
    )],
)

# Agent evolves tools automatically from failures
result = agent("Parse the CSV with custom delimiters")
```

## How It Works

1. Agent attempts a task and fails
2. ARISE detects the capability gap from failure trajectories
3. An LLM synthesizes a Python tool + test suite
4. Tool is validated in a sandbox with adversarial testing
5. Passing tools are promoted to the agent's tool registry
6. Next invocation, the agent has the new tool available

## Links

- [ARISE Framework](https://github.com/abekek/arise)
- [Documentation](https://arise-ai.dev)
- [Strands Agents](https://github.com/strands-agents/sdk-python)
