High raw number but 1,038 downloads-per-star vs CrewAI 122 is a significant anomaly. Zero HN discussion despite claimed 14M cumulative downloads. CI/CD pipeline inflation is a credible concern.
AWS Strands Agents SDK
watch5.5M PyPI downloads/month (claimed 14M+ cumulative since May 2025). v1.30.0 (2026-03-11), A2A protocol, Agents-as-Tools pattern. Internal AWS usage: Amazon Q Developer, AWS Glue, VPC Reachability Analyzer. Best for AWS Bedrock teams only. Anomalous download/star ratio (1,038 DL/star vs CrewAI 122) — zero HN organic signal.
Where it wins
Official AWS SDK — supported tooling for Bedrock teams
Internal AWS usage: Amazon Q Developer, AWS Glue, VPC Reachability Analyzer
A2A protocol support; Agents-as-Tools pattern
Calculator agent in ~3 lines vs LangGraph's ~40 (AWS benchmark, caveated)
Cold start ~800ms/150MB vs LangGraph ~1,200ms/250MB (AWS benchmark, caveated)
Where to be skeptical
Anomalous download/star ratio: 5.5M downloads / 5.3K stars = 1,038 DL/star (CrewAI: 122) — CI/CD pipeline inflation concern
Zero HN organic discussion despite claimed 14M cumulative downloads
AWS Bedrock lock-in — not model-agnostic
All benchmark data from AWS-controlled publications, no third-party reproduction
Editorial verdict
AWS Bedrock teams only. High claimed downloads but anomalous download/star ratio (1,038 vs CrewAI 122) and zero HN organic discussion despite 14M cumulative downloads raises CI/CD pipeline inflation concern. Official AWS tooling is genuine advantage for Bedrock teams; lock-in penalty is high for everyone else.
Related

Claude Code
98Anthropic's official agentic coding CLI. v2.1.81 (Mar 20) shipped `--bare`, smarter worktree resume, and improved MCP OAuth while the repo crossed 82,204 stars and logged ~14 commits/week across 10+ maintainers. Terminal-native, tool-use-driven, with deep file system + shell access, #1 SWE-bench Pro standardized (45.89%), ~4% of GitHub public commits (SemiAnalysis), $2.5B annualized revenue. 8M+ npm weekly downloads. Opus 4.6 with 1M context.
LangGraph
95#1 Python agent framework by production evidence — 40.2M PyPI downloads/month, Fortune 500 deployments (LinkedIn, Uber, Replit, Elastic, Klarna, Cloudflare, Coinbase), ~400 LangGraph Platform companies, LangSmith rated best-in-class observability. Stable v1.x API, model-agnostic, MCP support.
Pydantic AI
95#3 Python agent framework by downloads — 15.6M PyPI/month. Built by the Pydantic team. Runtime type enforcement is a genuine differentiator no other framework offers. V1 shipped with Temporal integration for durable execution and Logfire observability. Emerging pattern: 'Pydantic AI for agent logic, LangGraph for orchestration' (ZenML).
AutoGen (Microsoft)
95⚠️ MAINTENANCE MODE — Microsoft officially confirmed bug fixes and security patches only, no new features (VentureBeat 2026-02-19). 55.9K stars but only 1.57M PyPI/month — DL/star ratio of 28, the most inflated among active frameworks. Being replaced by Microsoft Agent Framework (AutoGen + Semantic Kernel merge, GA targeted ~Q2 2026). Teams on AutoGen should plan migration.
Public evidence
Internal dogfooding across major AWS services is a meaningful signal of production viability within the AWS ecosystem.
'Investigation time dropped from 30 minutes to 45 seconds, quality improved by 94%, saved $5M in operational costs.' Most concrete ROI numbers in the entire category.
Raw GitHub source
GitHub README peek
Constrained peek so you can sanity-check the source material without leaving the site.
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.
This monorepo contains the Python SDK, TypeScript SDK, documentation site, and supporting packages:
| Directory | Description |
|---|---|
strands-py/ | Python SDK — agent loop, model providers, tools (PyPI) |
strands-wasm/ | WebAssembly bindings for running Python tools from TypeScript agents |
strands-py-wasm/ | Python host for WASM components (bridges WIT interfaces to Python) |
strandly/ | Developer CLI for local builds, codegen, and workspace tooling |
site/ | Documentation site built with Astro/Starlight (strandsagents.com) |
designs/ | Design proposals for significant features (RFC-style) |
Feature Overview
- Lightweight & Flexible: Simple agent loop that just works and is fully customizable
- Model Agnostic: Support for Amazon Bedrock, Anthropic, Gemini, 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
# Install Strands Agents
pip install strands-agents strands-agents-tools
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 for details on configuring other model providers.
Installation
Ensure you have Python 3.10+ installed, then:
# 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:
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:
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:
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:
from strands import Agent
from strands.models import BedrockModel
from strands.models.ollama import OllamaModel
from strands.models.llamaapi import LlamaAPIModel
from strands.models.gemini import GeminiModel
from strands.models.llamacpp import LlamaCppModel
# Bedrock
bedrock_model = BedrockModel(