Name | strands-agents JSON |
Version |
1.5.0
JSON |
| download |
home_page | None |
Summary | A model-driven approach to building AI agents in just a few lines of code |
upload_time | 2025-08-19 02:13:59 |
maintainer | None |
docs_url | None |
author | None |
requires_python | >=3.10 |
license | Apache-2.0 |
keywords |
|
VCS |
 |
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
<div align="center">
<div>
<a href="https://strandsagents.com">
<img src="https://strandsagents.com/latest/assets/logo-github.svg" alt="Strands Agents" width="55px" height="105px">
</a>
</div>
<h1>
Strands Agents
</h1>
<h2>
A model-driven approach to building AI agents in just a few lines of code.
</h2>
<div align="center">
<a href="https://github.com/strands-agents/sdk-python/graphs/commit-activity"><img alt="GitHub commit activity" src="https://img.shields.io/github/commit-activity/m/strands-agents/sdk-python"/></a>
<a href="https://github.com/strands-agents/sdk-python/issues"><img alt="GitHub open issues" src="https://img.shields.io/github/issues/strands-agents/sdk-python"/></a>
<a href="https://github.com/strands-agents/sdk-python/pulls"><img alt="GitHub open pull requests" src="https://img.shields.io/github/issues-pr/strands-agents/sdk-python"/></a>
<a href="https://github.com/strands-agents/sdk-python/blob/main/LICENSE"><img alt="License" src="https://img.shields.io/github/license/strands-agents/sdk-python"/></a>
<a href="https://pypi.org/project/strands-agents/"><img alt="PyPI version" src="https://img.shields.io/pypi/v/strands-agents"/></a>
<a href="https://python.org"><img alt="Python versions" src="https://img.shields.io/pypi/pyversions/strands-agents"/></a>
</div>
<p>
<a href="https://strandsagents.com/">Documentation</a>
◆ <a href="https://github.com/strands-agents/samples">Samples</a>
◆ <a href="https://github.com/strands-agents/sdk-python">Python SDK</a>
◆ <a href="https://github.com/strands-agents/tools">Tools</a>
◆ <a href="https://github.com/strands-agents/agent-builder">Agent Builder</a>
◆ <a href="https://github.com/strands-agents/mcp-server">MCP Server</a>
</p>
</div>
Strands Agents is a simple yet powerful SDK that takes a model-driven approach to building and running AI agents. From simple conversational assistants to complex autonomous workflows, from local development to production deployment, Strands Agents scales with your needs.
## Feature Overview
- **Lightweight & Flexible**: Simple agent loop that just works and is fully customizable
- **Model Agnostic**: Support for Amazon Bedrock, Anthropic, LiteLLM, Llama, Ollama, OpenAI, Writer, and custom providers
- **Advanced Capabilities**: Multi-agent systems, autonomous agents, and streaming support
- **Built-in MCP**: Native support for Model Context Protocol (MCP) servers, enabling access to thousands of pre-built tools
## Quick Start
```bash
# Install Strands Agents
pip install strands-agents strands-agents-tools
```
```python
from strands import Agent
from strands_tools import calculator
agent = Agent(tools=[calculator])
agent("What is the square root of 1764")
```
> **Note**: For the default Amazon Bedrock model provider, you'll need AWS credentials configured and model access enabled for Claude 4 Sonnet in the us-west-2 region. See the [Quickstart Guide](https://strandsagents.com/) for details on configuring other model providers.
## Installation
Ensure you have Python 3.10+ installed, then:
```bash
# Create and activate virtual environment
python -m venv .venv
source .venv/bin/activate # On Windows use: .venv\Scripts\activate
# Install Strands and tools
pip install strands-agents strands-agents-tools
```
## Features at a Glance
### Python-Based Tools
Easily build tools using Python decorators:
```python
from strands import Agent, tool
@tool
def word_count(text: str) -> int:
"""Count words in text.
This docstring is used by the LLM to understand the tool's purpose.
"""
return len(text.split())
agent = Agent(tools=[word_count])
response = agent("How many words are in this sentence?")
```
**Hot Reloading from Directory:**
Enable automatic tool loading and reloading from the `./tools/` directory:
```python
from strands import Agent
# Agent will watch ./tools/ directory for changes
agent = Agent(load_tools_from_directory=True)
response = agent("Use any tools you find in the tools directory")
```
### MCP Support
Seamlessly integrate Model Context Protocol (MCP) servers:
```python
from strands import Agent
from strands.tools.mcp import MCPClient
from mcp import stdio_client, StdioServerParameters
aws_docs_client = MCPClient(
lambda: stdio_client(StdioServerParameters(command="uvx", args=["awslabs.aws-documentation-mcp-server@latest"]))
)
with aws_docs_client:
agent = Agent(tools=aws_docs_client.list_tools_sync())
response = agent("Tell me about Amazon Bedrock and how to use it with Python")
```
### Multiple Model Providers
Support for various model providers:
```python
from strands import Agent
from strands.models import BedrockModel
from strands.models.ollama import OllamaModel
from strands.models.llamaapi import LlamaAPIModel
# Bedrock
bedrock_model = BedrockModel(
model_id="us.amazon.nova-pro-v1:0",
temperature=0.3,
streaming=True, # Enable/disable streaming
)
agent = Agent(model=bedrock_model)
agent("Tell me about Agentic AI")
# Ollama
ollama_model = OllamaModel(
host="http://localhost:11434",
model_id="llama3"
)
agent = Agent(model=ollama_model)
agent("Tell me about Agentic AI")
# Llama API
llama_model = LlamaAPIModel(
model_id="Llama-4-Maverick-17B-128E-Instruct-FP8",
)
agent = Agent(model=llama_model)
response = agent("Tell me about Agentic AI")
```
Built-in providers:
- [Amazon Bedrock](https://strandsagents.com/latest/user-guide/concepts/model-providers/amazon-bedrock/)
- [Anthropic](https://strandsagents.com/latest/user-guide/concepts/model-providers/anthropic/)
- [LiteLLM](https://strandsagents.com/latest/user-guide/concepts/model-providers/litellm/)
- [LlamaAPI](https://strandsagents.com/latest/user-guide/concepts/model-providers/llamaapi/)
- [Ollama](https://strandsagents.com/latest/user-guide/concepts/model-providers/ollama/)
- [OpenAI](https://strandsagents.com/latest/user-guide/concepts/model-providers/openai/)
- [Writer](https://strandsagents.com/latest/documentation/docs/user-guide/concepts/model-providers/writer/)
Custom providers can be implemented using [Custom Providers](https://strandsagents.com/latest/user-guide/concepts/model-providers/custom_model_provider/)
### Example tools
Strands offers an optional strands-agents-tools package with pre-built tools for quick experimentation:
```python
from strands import Agent
from strands_tools import calculator
agent = Agent(tools=[calculator])
agent("What is the square root of 1764")
```
It's also available on GitHub via [strands-agents/tools](https://github.com/strands-agents/tools).
## Documentation
For detailed guidance & examples, explore our documentation:
- [User Guide](https://strandsagents.com/)
- [Quick Start Guide](https://strandsagents.com/latest/user-guide/quickstart/)
- [Agent Loop](https://strandsagents.com/latest/user-guide/concepts/agents/agent-loop/)
- [Examples](https://strandsagents.com/latest/examples/)
- [API Reference](https://strandsagents.com/latest/api-reference/agent/)
- [Production & Deployment Guide](https://strandsagents.com/latest/user-guide/deploy/operating-agents-in-production/)
## Contributing ❤️
We welcome contributions! See our [Contributing Guide](CONTRIBUTING.md) for details on:
- Reporting bugs & features
- Development setup
- Contributing via Pull Requests
- Code of Conduct
- Reporting of security issues
## License
This project is licensed under the Apache License 2.0 - see the [LICENSE](LICENSE) file for details.
## Security
See [CONTRIBUTING](CONTRIBUTING.md#security-issue-notifications) for more information.
Raw data
{
"_id": null,
"home_page": null,
"name": "strands-agents",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": null,
"keywords": null,
"author": null,
"author_email": "AWS <opensource@amazon.com>",
"download_url": "https://files.pythonhosted.org/packages/e7/4b/2adc357deb4e29cd6f34136e7133f35f6e06f51597fa29b00282c23f1f4e/strands_agents-1.5.0.tar.gz",
"platform": null,
"description": "<div align=\"center\">\n <div>\n <a href=\"https://strandsagents.com\">\n <img src=\"https://strandsagents.com/latest/assets/logo-github.svg\" alt=\"Strands Agents\" width=\"55px\" height=\"105px\">\n </a>\n </div>\n\n <h1>\n Strands Agents\n </h1>\n\n <h2>\n A model-driven approach to building AI agents in just a few lines of code.\n </h2>\n\n <div align=\"center\">\n <a href=\"https://github.com/strands-agents/sdk-python/graphs/commit-activity\"><img alt=\"GitHub commit activity\" src=\"https://img.shields.io/github/commit-activity/m/strands-agents/sdk-python\"/></a>\n <a href=\"https://github.com/strands-agents/sdk-python/issues\"><img alt=\"GitHub open issues\" src=\"https://img.shields.io/github/issues/strands-agents/sdk-python\"/></a>\n <a href=\"https://github.com/strands-agents/sdk-python/pulls\"><img alt=\"GitHub open pull requests\" src=\"https://img.shields.io/github/issues-pr/strands-agents/sdk-python\"/></a>\n <a href=\"https://github.com/strands-agents/sdk-python/blob/main/LICENSE\"><img alt=\"License\" src=\"https://img.shields.io/github/license/strands-agents/sdk-python\"/></a>\n <a href=\"https://pypi.org/project/strands-agents/\"><img alt=\"PyPI version\" src=\"https://img.shields.io/pypi/v/strands-agents\"/></a>\n <a href=\"https://python.org\"><img alt=\"Python versions\" src=\"https://img.shields.io/pypi/pyversions/strands-agents\"/></a>\n </div>\n \n <p>\n <a href=\"https://strandsagents.com/\">Documentation</a>\n \u25c6 <a href=\"https://github.com/strands-agents/samples\">Samples</a>\n \u25c6 <a href=\"https://github.com/strands-agents/sdk-python\">Python SDK</a>\n \u25c6 <a href=\"https://github.com/strands-agents/tools\">Tools</a>\n \u25c6 <a href=\"https://github.com/strands-agents/agent-builder\">Agent Builder</a>\n \u25c6 <a href=\"https://github.com/strands-agents/mcp-server\">MCP Server</a>\n </p>\n</div>\n\nStrands Agents is a simple yet powerful SDK that takes a model-driven approach to building and running AI agents. From simple conversational assistants to complex autonomous workflows, from local development to production deployment, Strands Agents scales with your needs.\n\n## Feature Overview\n\n- **Lightweight & Flexible**: Simple agent loop that just works and is fully customizable\n- **Model Agnostic**: Support for Amazon Bedrock, Anthropic, LiteLLM, Llama, Ollama, OpenAI, Writer, and custom providers\n- **Advanced Capabilities**: Multi-agent systems, autonomous agents, and streaming support\n- **Built-in MCP**: Native support for Model Context Protocol (MCP) servers, enabling access to thousands of pre-built tools\n\n## Quick Start\n\n```bash\n# Install Strands Agents\npip install strands-agents strands-agents-tools\n```\n\n```python\nfrom strands import Agent\nfrom strands_tools import calculator\nagent = Agent(tools=[calculator])\nagent(\"What is the square root of 1764\")\n```\n\n> **Note**: For the default Amazon Bedrock model provider, you'll need AWS credentials configured and model access enabled for Claude 4 Sonnet in the us-west-2 region. See the [Quickstart Guide](https://strandsagents.com/) for details on configuring other model providers.\n\n## Installation\n\nEnsure you have Python 3.10+ installed, then:\n\n```bash\n# Create and activate virtual environment\npython -m venv .venv\nsource .venv/bin/activate # On Windows use: .venv\\Scripts\\activate\n\n# Install Strands and tools\npip install strands-agents strands-agents-tools\n```\n\n## Features at a Glance\n\n### Python-Based Tools\n\nEasily build tools using Python decorators:\n\n```python\nfrom strands import Agent, tool\n\n@tool\ndef word_count(text: str) -> int:\n \"\"\"Count words in text.\n\n This docstring is used by the LLM to understand the tool's purpose.\n \"\"\"\n return len(text.split())\n\nagent = Agent(tools=[word_count])\nresponse = agent(\"How many words are in this sentence?\")\n```\n\n**Hot Reloading from Directory:**\nEnable automatic tool loading and reloading from the `./tools/` directory:\n\n```python\nfrom strands import Agent\n\n# Agent will watch ./tools/ directory for changes\nagent = Agent(load_tools_from_directory=True)\nresponse = agent(\"Use any tools you find in the tools directory\")\n```\n\n### MCP Support\n\nSeamlessly integrate Model Context Protocol (MCP) servers:\n\n```python\nfrom strands import Agent\nfrom strands.tools.mcp import MCPClient\nfrom mcp import stdio_client, StdioServerParameters\n\naws_docs_client = MCPClient(\n lambda: stdio_client(StdioServerParameters(command=\"uvx\", args=[\"awslabs.aws-documentation-mcp-server@latest\"]))\n)\n\nwith aws_docs_client:\n agent = Agent(tools=aws_docs_client.list_tools_sync())\n response = agent(\"Tell me about Amazon Bedrock and how to use it with Python\")\n```\n\n### Multiple Model Providers\n\nSupport for various model providers:\n\n```python\nfrom strands import Agent\nfrom strands.models import BedrockModel\nfrom strands.models.ollama import OllamaModel\nfrom strands.models.llamaapi import LlamaAPIModel\n\n# Bedrock\nbedrock_model = BedrockModel(\n model_id=\"us.amazon.nova-pro-v1:0\",\n temperature=0.3,\n streaming=True, # Enable/disable streaming\n)\nagent = Agent(model=bedrock_model)\nagent(\"Tell me about Agentic AI\")\n\n# Ollama\nollama_model = OllamaModel(\n host=\"http://localhost:11434\",\n model_id=\"llama3\"\n)\nagent = Agent(model=ollama_model)\nagent(\"Tell me about Agentic AI\")\n\n# Llama API\nllama_model = LlamaAPIModel(\n model_id=\"Llama-4-Maverick-17B-128E-Instruct-FP8\",\n)\nagent = Agent(model=llama_model)\nresponse = agent(\"Tell me about Agentic AI\")\n```\n\nBuilt-in providers:\n - [Amazon Bedrock](https://strandsagents.com/latest/user-guide/concepts/model-providers/amazon-bedrock/)\n - [Anthropic](https://strandsagents.com/latest/user-guide/concepts/model-providers/anthropic/)\n - [LiteLLM](https://strandsagents.com/latest/user-guide/concepts/model-providers/litellm/)\n - [LlamaAPI](https://strandsagents.com/latest/user-guide/concepts/model-providers/llamaapi/)\n - [Ollama](https://strandsagents.com/latest/user-guide/concepts/model-providers/ollama/)\n - [OpenAI](https://strandsagents.com/latest/user-guide/concepts/model-providers/openai/)\n - [Writer](https://strandsagents.com/latest/documentation/docs/user-guide/concepts/model-providers/writer/)\n\nCustom providers can be implemented using [Custom Providers](https://strandsagents.com/latest/user-guide/concepts/model-providers/custom_model_provider/)\n\n### Example tools\n\nStrands offers an optional strands-agents-tools package with pre-built tools for quick experimentation:\n\n```python\nfrom strands import Agent\nfrom strands_tools import calculator\nagent = Agent(tools=[calculator])\nagent(\"What is the square root of 1764\")\n```\n\nIt's also available on GitHub via [strands-agents/tools](https://github.com/strands-agents/tools).\n\n## Documentation\n\nFor detailed guidance & examples, explore our documentation:\n\n- [User Guide](https://strandsagents.com/)\n- [Quick Start Guide](https://strandsagents.com/latest/user-guide/quickstart/)\n- [Agent Loop](https://strandsagents.com/latest/user-guide/concepts/agents/agent-loop/)\n- [Examples](https://strandsagents.com/latest/examples/)\n- [API Reference](https://strandsagents.com/latest/api-reference/agent/)\n- [Production & Deployment Guide](https://strandsagents.com/latest/user-guide/deploy/operating-agents-in-production/)\n\n## Contributing \u2764\ufe0f\n\nWe welcome contributions! See our [Contributing Guide](CONTRIBUTING.md) for details on:\n- Reporting bugs & features\n- Development setup\n- Contributing via Pull Requests\n- Code of Conduct\n- Reporting of security issues\n\n## License\n\nThis project is licensed under the Apache License 2.0 - see the [LICENSE](LICENSE) file for details.\n\n## Security\n\nSee [CONTRIBUTING](CONTRIBUTING.md#security-issue-notifications) for more information.\n\n",
"bugtrack_url": null,
"license": "Apache-2.0",
"summary": "A model-driven approach to building AI agents in just a few lines of code",
"version": "1.5.0",
"project_urls": {
"Bug Tracker": "https://github.com/strands-agents/sdk-python/issues",
"Documentation": "https://strandsagents.com",
"Homepage": "https://github.com/strands-agents/sdk-python"
},
"split_keywords": [],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "3e6a67daf3b719bb6c6f1f886d158591411febdabd763c2b0a5adbf3189c8bab",
"md5": "c8e02bc1d86e796689db4b7d9c205b28",
"sha256": "e90842bbc49a6acb69d01be5b7e545f25fd728ee5da429413da52e790d7f675b"
},
"downloads": -1,
"filename": "strands_agents-1.5.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "c8e02bc1d86e796689db4b7d9c205b28",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10",
"size": 180745,
"upload_time": "2025-08-19T02:13:57",
"upload_time_iso_8601": "2025-08-19T02:13:57.215051Z",
"url": "https://files.pythonhosted.org/packages/3e/6a/67daf3b719bb6c6f1f886d158591411febdabd763c2b0a5adbf3189c8bab/strands_agents-1.5.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "e74b2adc357deb4e29cd6f34136e7133f35f6e06f51597fa29b00282c23f1f4e",
"md5": "0ccdd50832018f69fc657121bbc9c407",
"sha256": "0abde7ea9854cf98f65e242973ebbf26627f9d93d381ed6c0d55d23b7f2445a6"
},
"downloads": -1,
"filename": "strands_agents-1.5.0.tar.gz",
"has_sig": false,
"md5_digest": "0ccdd50832018f69fc657121bbc9c407",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 262074,
"upload_time": "2025-08-19T02:13:59",
"upload_time_iso_8601": "2025-08-19T02:13:59.179544Z",
"url": "https://files.pythonhosted.org/packages/e7/4b/2adc357deb4e29cd6f34136e7133f35f6e06f51597fa29b00282c23f1f4e/strands_agents-1.5.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-08-19 02:13:59",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "strands-agents",
"github_project": "sdk-python",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "strands-agents"
}