Plug-and-play SDK for building immortal, self-healing multi-agent AI systems
Project description
Build immortal, self-healing multi-agent AI systems
Features • Installation • Quick Start • Documentation • Contributing
What is Agentic Swarm?
Agentic Swarm is a production-grade SDK for building multi-agent AI systems where agents:
- Never die — Auto-heal on failure with state recovery
- Spawn children — Dynamically create sub-agents for complex subtasks
- Route intelligently — Pick the optimal LLM based on task complexity
- Remember everything — Tiered memory with vector-indexed long-term storage
- Stay secure — Audit logs, encryption, RBAC, and data isolation
Highlights
Features
| Feature | Description |
|---|---|
| Immortal Agents | Auto-heal on failure with state recovery |
| Dynamic Spawning | Create sub-agents at runtime |
| 7 LLM Providers | OpenAI, Anthropic, Bedrock, Gemini, Groq, Ollama, vLLM |
| Smart Routing | Cost/speed/quality optimized model selection |
| Tiered Memory | Core + Recall + Archival (vector-indexed) |
| Never-Forget Memory | Compress, store, search, inject memories across sessions |
| RAG Pipeline | Chunk → Embed → Retrieve (dense+BM25+RRF) → Rerank |
| Hybrid Search | Dense vectors + BM25 sparse + Reciprocal Rank Fusion |
| Sandbox Isolation | CPU/memory limits, data isolation per agent |
| Security | Audit logs, AES-256 encryption, RBAC |
Installation
pip install agentic-swarm
With optional providers:
pip install agentic-swarm[openai] # OpenAI
pip install agentic-swarm[anthropic] # Anthropic
pip install agentic-swarm[bedrock] # AWS Bedrock
pip install agentic-swarm[all] # Everything
Quick Start
import asyncio
from agentic_swarm import Agent, Swarm, tool
@tool
def search_web(query: str) -> str:
"""Search the web for information."""
return f"Results for: {query}"
agent = Agent(
name="researcher",
role="Research and gather information",
tools=[search_web],
)
swarm = Swarm(agents=[agent])
async def main():
result = await swarm.run("Find information about AI agents")
print(result)
asyncio.run(main())
With LLM Provider
from agentic_swarm import Agent
from agentic_swarm.llm import LLMRouter, OpenAIProvider
router = LLMRouter(strategy="quality_optimized")
router.register_provider("openai", OpenAIProvider(model="gpt-4o"))
agent = Agent(
name="assistant",
role="Helpful AI assistant",
llm_router=router,
)
result = await agent.run("Explain quantum computing")
Never-Forget Memory
from agentic_swarm import Agent
from agentic_swarm.vectordb import InMemoryVectorDB
from agentic_swarm.rag.embedder import Embedder
# Agent that remembers across sessions
agent = Agent(
name="assistant",
role="Helpful assistant",
vectordb=InMemoryVectorDB(),
embedder=Embedder(),
auto_archive=True,
auto_inject_memories=True,
)
# Store memories
await agent.remember("User prefers dark mode")
# Search memories
memories = await agent.recall("user preferences")
# Run task - automatically injects relevant memories
result = await agent.run("What are my preferences?")
Documentation
| Document | Description |
|---|---|
| Getting Started | Installation and first steps |
| Configuration | All configurable parameters |
| API Reference | Complete API documentation |
| Examples | Code examples and tutorials |
| Architecture | System design |
Examples
# Full SDK showcase
python examples/full_showcase.py --provider openai
# With AWS Bedrock
python examples/full_showcase.py --provider bedrock
# Demo mode (no LLM)
python examples/full_showcase.py --skip-llm
See examples/ for working examples covering all features.
Contributing
We welcome contributions! Please see our contributing guidelines.
| Resource | Link |
|---|---|
| 📖 README | README.md |
| 🤝 Code of Conduct | CODE_OF_CONDUCT.md |
| 👥 Contributing | CONTRIBUTING.md |
| 📜 License | Apache 2.0 |
| 🔒 Security | SECURITY.md |
Development Setup
git clone https://github.com/nik0811/agentic-swarm.git
cd agentic-swarm
python -m venv env && source env/bin/activate
pip install -e ".[dev,all]"
pytest tests/ -v
Roadmap
- 7 LLM Providers (OpenAI, Anthropic, Bedrock, Gemini, Groq, Ollama, vLLM)
- Tiered Memory (Core + Recall + Archival)
- RAG Pipeline with Hybrid Search
- Agent Sandbox & Data Isolation
- Never-Forget Memory
- Web UI Dashboard
- Distributed Multi-Node Swarms
- OpenTelemetry Integration
License
Apache License 2.0 — see LICENSE for details.
Built with ❤️ for the AI community
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file agentic_swarm-0.1.1.tar.gz.
File metadata
- Download URL: agentic_swarm-0.1.1.tar.gz
- Upload date:
- Size: 3.9 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e675a994c07f847dea450c89f979f310345949090b045c052ecea7eb9037a3fb
|
|
| MD5 |
84e3d87c209939749238fb344cc3a30e
|
|
| BLAKE2b-256 |
cd52f0ac32c1ae39ac48dd5267bd709586ac459d083ac7695a06776cbba940db
|
Provenance
The following attestation bundles were made for agentic_swarm-0.1.1.tar.gz:
Publisher:
release-please.yml on nik0811/agentic-swarm
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
agentic_swarm-0.1.1.tar.gz -
Subject digest:
e675a994c07f847dea450c89f979f310345949090b045c052ecea7eb9037a3fb - Sigstore transparency entry: 1607984216
- Sigstore integration time:
-
Permalink:
nik0811/agentic-swarm@06580903f1d7453ff0437dff8b2ef2c388990995 -
Branch / Tag:
refs/heads/master - Owner: https://github.com/nik0811
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release-please.yml@06580903f1d7453ff0437dff8b2ef2c388990995 -
Trigger Event:
push
-
Statement type:
File details
Details for the file agentic_swarm-0.1.1-py3-none-any.whl.
File metadata
- Download URL: agentic_swarm-0.1.1-py3-none-any.whl
- Upload date:
- Size: 109.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
32e70bcb8962543c946997043f388eca3a0697a093a21e04ee8addbd3c7fef35
|
|
| MD5 |
ea88920b5888c0dcf3da0c722ab4d52b
|
|
| BLAKE2b-256 |
8221ad012ace3196fcae197a694dbd1302b8a04f5c9cd4f92aea83507dea3761
|
Provenance
The following attestation bundles were made for agentic_swarm-0.1.1-py3-none-any.whl:
Publisher:
release-please.yml on nik0811/agentic-swarm
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
agentic_swarm-0.1.1-py3-none-any.whl -
Subject digest:
32e70bcb8962543c946997043f388eca3a0697a093a21e04ee8addbd3c7fef35 - Sigstore transparency entry: 1607984409
- Sigstore integration time:
-
Permalink:
nik0811/agentic-swarm@06580903f1d7453ff0437dff8b2ef2c388990995 -
Branch / Tag:
refs/heads/master - Owner: https://github.com/nik0811
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release-please.yml@06580903f1d7453ff0437dff8b2ef2c388990995 -
Trigger Event:
push
-
Statement type: