Agentify is a lightweight, clean, and powerful Python library for building AI agents and multi-agent systems. It provides simple abstractions for memory, tools, and orchestration without the heavy framework lock-in.
| Feature | Description |
|---|---|
| Multi-Agent Orchestration | Teams, sequential pipelines, hierarchical structures, and dynamic sub-agent spawning. |
| Memory Service | Pluggable backends (In-Memory, SQLite, Redis, Elasticsearch) with configurable TTL, limits and token budgets. |
| Tools & MCP | Easy @tool decorator, custom classes, and full Model Context Protocol (MCP) integration. |
| Async & Parallel | Native arun() support for high-performance concurrent agent execution. |
| Observability | Comprehensive callback system for monitoring, debugging, and tracing agent thoughts. |
| Reasoning & Planning | Configure thinking depth, chain-of-thought storage, and real-time reasoning logs. |
Install the core package:
pip install agentify-coreFor all optional features (Redis, vector stores, etc.):
pip install agentify-core[all]Here is how to create a simple agent with memory and tools:
# Note: Agentify does not auto-load .env. Load it manually if needed.
# from dotenv import load_dotenv; load_dotenv()
from agentify import BaseAgent, AgentConfig, MemoryService, MemoryAddress, tool
from agentify.memory.stores import InMemoryStore
# 1. Define a tool
@tool
def get_time() -> dict:
"""Returns the current local time."""
from datetime import datetime
return {"time": datetime.now().strftime("%H:%M:%S")}
# 2. Initialize Memory
memory = MemoryService(store=InMemoryStore())
addr = MemoryAddress(conversation_id="session_1")
# 3. Create the Agent
agent = BaseAgent(
config=AgentConfig(
name="ReasoningAgent",
system_prompt="You are a helpful assistant.",
provider="provider",
model_name="model",
reasoning_effort="low", # optional param:"low", "medium", "high"
model_kwargs={"max_completion_tokens": 5000}, # Pass model-specific params
verbose=True, # Controls logging (True by default)
),
memory=memory,
memory_address=addr,
tools=[get_time]
)
# 4. Run it
response = agent.run(user_input="What time is it?")Detailed guides and API references are available in the docs/ directory:
- Getting Started: Installation and first steps.
- Core Concepts: Deep dive into Agents, Memory, and Tools.
- Multi-Agent Systems: Building Teams, Pipelines, and Hierarchies.
- Advanced Features: Vision, Screening, Hooks, and more.
Explore the examples/ directory for production-ready implementations:
- Chatbot: A simple conversational agent.
- Multi-Agent Team: Agents working together.
- Pipelines: Sequential task processing.
- Hierarchies: Complex delegated decision making.
This project is licensed under the MIT License.
fabianmp_98@hotmail.com