praisonaiagents SDK
Documentation for the praisonaiagents package – Core agent framework
Module praisonaiagents
The praisonaiagents package provides a lightweight, high-performance framework for building AI agents with support for multi-agent orchestration, memory, knowledge bases, and tool integration.
Quick Start
from praisonaiagents import Agent
agent = Agent(instructions="You are a helpful assistant")
response = agent.start("Hello!")
print(response)Core Modules
Core agent class for AI interactions
AgentsMulti-agent orchestration
TaskTask definition and management
ProcessTask execution flows
Agent Variants
Vision and image processing
RouterAgentIntelligent request routing
DeepResearchAgentMulti-step research with citations
QueryRewriterAgentQuery optimization for RAG
PromptExpanderAgentPrompt enhancement
ContextAgentContext-aware processing
Data & Memory
Memory management for stateful agents
KnowledgeKnowledge base and RAG support
SessionSession management and persistence
DBDatabase adapters and storage
CheckpointsState checkpointing
ContextContext management
Tools & Integration
Tool system and decorators
MCPModel Context Protocol support
HandoffAgent-to-agent handoffs
WorkflowsMulti-step workflow execution
SkillsAgent Skills standard support
LLMLLM configuration and providers
Safety & Control
Input/output validation
PlanningPlanning mode support
PolicyPolicy-based controls
ApprovalHuman-in-the-loop approval
ThinkingExtended thinking support
CompactionContext compaction
Observability
Observability and monitoring
HooksEvent hooks and callbacks
DisplayConsole display utilities
EvalAgent evaluation framework
OutputsData classes for task outputs
FlowDisplayWorkflow visualization
UI & Output
UI components (AGUI, A2A)
OutputOutput formatting
LSPLanguage Server Protocol
BackgroundBackground task execution
Import Patterns
The SDK supports multiple import styles for different use cases:
Simple Import (Recommended for Quick Start)
from praisonaiagents import Agent, AgentTeam, Task, tool, ToolsOrganized Imports (Recommended for Projects)
For larger projects, use sub-package imports for cleaner code organization:
# Core classes from root
from praisonaiagents import Agent, AgentTeam, Task
# Configuration from config sub-package
from praisonaiagents import MemoryConfig, OutputConfig, ExecutionConfig
# Tools from tools sub-package
from praisonaiagents import tool, BaseTool, Tools
# Memory from memory sub-package
from praisonaiagents import Memory, FileMemory
# Workflows from workflows sub-package
from praisonaiagents import AgentFlow, Pipeline, Route, ParallelNamespace Style
Use the pa. namespace for exploratory development:
import praisonaiagents as pa
agent = pa.Agent(instructions="...")
config = pa.config.MemoryConfig(user_id="u123")
memory = pa.memory.Memory(config=config)Backwards Compatibility
All legacy imports continue to work via lazy loading:
# These all work (backwards compatible)
from praisonaiagents import MemoryConfig # via __getattr__
from praisonaiagents import AgentFlow # via __getattr__
from praisonaiagents import Memory # via __getattr__Sub-Packages Reference
| Sub-Package | Key Exports | Description |
|---|---|---|
praisonaiagents.config | MemoryConfig, OutputConfig, ExecutionConfig, PlanningConfig, etc. | Feature configuration classes |
praisonaiagents.tools | tool, BaseTool, Tools, ToolResult, FunctionTool | Tool creation and management |
praisonaiagents.memory | Memory, FileMemory, RulesManager | Memory and persistence |
praisonaiagents.workflows | Workflow, Pipeline, Route, Parallel, Loop | Workflow orchestration |
Installation
# Core package
pip install praisonaiagents
# With memory support
pip install "praisonaiagents[memory]"
# With knowledge/RAG support
pip install "praisonaiagents[knowledge]"
# With MCP support
pip install "praisonaiagents[mcp]"