Skip to main content

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

Agent

Core agent class for AI interactions

Agents

Multi-agent orchestration

Task

Task definition and management

Process

Task execution flows

Agent Variants

ImageAgent

Vision and image processing

RouterAgent

Intelligent request routing

DeepResearchAgent

Multi-step research with citations

QueryRewriterAgent

Query optimization for RAG

PromptExpanderAgent

Prompt enhancement

ContextAgent

Context-aware processing

Data & Memory

Memory

Memory management for stateful agents

Knowledge

Knowledge base and RAG support

Session

Session management and persistence

DB

Database adapters and storage

Checkpoints

State checkpointing

Context

Context management

Tools & Integration

Tools

Tool system and decorators

MCP

Model Context Protocol support

Handoff

Agent-to-agent handoffs

Workflows

Multi-step workflow execution

Skills

Agent Skills standard support

LLM

LLM configuration and providers

Safety & Control

Guardrails

Input/output validation

Planning

Planning mode support

Policy

Policy-based controls

Approval

Human-in-the-loop approval

Thinking

Extended thinking support

Compaction

Context compaction

Observability

Telemetry

Observability and monitoring

Hooks

Event hooks and callbacks

Display

Console display utilities

Eval

Agent evaluation framework

Outputs

Data classes for task outputs

FlowDisplay

Workflow visualization

UI & Output

UI

UI components (AGUI, A2A)

Output

Output formatting

LSP

Language Server Protocol

Background

Background task execution

Import Patterns

The SDK supports multiple import styles for different use cases:
from praisonaiagents import Agent, AgentTeam, Task, tool, Tools
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, Parallel

Namespace 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-PackageKey ExportsDescription
praisonaiagents.configMemoryConfig, OutputConfig, ExecutionConfig, PlanningConfig, etc.Feature configuration classes
praisonaiagents.toolstool, BaseTool, Tools, ToolResult, FunctionToolTool creation and management
praisonaiagents.memoryMemory, FileMemory, RulesManagerMemory and persistence
praisonaiagents.workflowsWorkflow, Pipeline, Route, Parallel, LoopWorkflow 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]"

See Also