<!-- source: https://deepwiki.com/MervinPraison/PraisonAI/12.1-python-api-reference -->

# Python API Reference

- README.md
- api.md
- src/praisonai/README.md

This page provides comprehensive reference documentation for the PraisonAI Python API. It covers all classes, functions, and types available for programmatic interaction with the framework through the `praisonaiagents` package.

**Scope**: This reference focuses on the Python API surface for building agents, tasks, workflows, and tools. For CLI commands, see [7.1](/MervinPraison/PraisonAI/7.1-cli-interface). For configuration presets and consolidated parameters, see [8.1](/MervinPraison/PraisonAI/8.1-consolidated-parameters). For practical examples, see [14.1](/MervinPraison/PraisonAI/14.1-python-examples).

**Organization**: The API is organized into functional categories matching the framework's architecture. All symbols are importable from the top-level `praisonaiagents` package or from their respective sub-packages (`config`, `tools`, `memory`, `workflows`).

## API Architecture Overview

The following diagram maps the primary API surface to their implementation locations in the codebase:

```

```

**Sources**: [src/praisonai-agents/praisonaiagents/__init__.py1-594](https://github.com/MervinPraison/PraisonAI/blob/ab80807b/src/praisonai-agents/praisonaiagents/__init__.py#L1-L594)

## Import Patterns

The API supports multiple import styles for flexibility:

### Top-Level Imports (Recommended for Core API)

```

```

### Sub-Package Imports (Recommended for Configuration)

```

```

### Namespace Import (For Clean Organization)

```

```

**Sources**: [src/praisonai-agents/praisonaiagents/__init__.py535-560](https://github.com/MervinPraison/PraisonAI/blob/ab80807b/src/praisonai-agents/praisonaiagents/__init__.py#L535-L560)

## Core Agent API

### Agent Class

The `Agent` class is the foundational building block for creating AI agents with tools, memory, knowledge, and planning capabilities.

#### Class Diagram: Agent Initialization

```

```

**Sources**: [src/praisonai-agents/praisonaiagents/agent/agent.py](https://github.com/MervinPraison/PraisonAI/blob/ab80807b/src/praisonai-agents/praisonaiagents/agent/agent.py) [src/praisonai-agents/praisonaiagents/__init__.py192-193](https://github.com/MervinPraison/PraisonAI/blob/ab80807b/src/praisonai-agents/praisonaiagents/__init__.py#L192-L193)

#### Agent Methods Reference

The `Agent` class provides the following method categories:

**Sources**: [api.md15-75](https://github.com/MervinPraison/PraisonAI/blob/ab80807b/api.md?plain=1#L15-L75)

#### Key Agent Properties

Properties use the `@property` decorator pattern for controlled access:

**Sources**: [api.md17-75](https://github.com/MervinPraison/PraisonAI/blob/ab80807b/api.md?plain=1#L17-L75)

### Agents Class (Multi-Agent Orchestrator)

The `Agents` class manages multiple agents and their task execution with shared state and coordination.

#### Agents Execution Flow

```

```

**Sources**: [src/praisonai-agents/praisonaiagents/agents/agents.py](https://github.com/MervinPraison/PraisonAI/blob/ab80807b/src/praisonai-agents/praisonaiagents/agents/agents.py) [api.md76-114](https://github.com/MervinPraison/PraisonAI/blob/ab80807b/api.md?plain=1#L76-L114)

#### Agents Methods Reference

**Sources**: [api.md76-114](https://github.com/MervinPraison/PraisonAI/blob/ab80807b/api.md?plain=1#L76-L114)

### Task Class

The `Task` class represents a unit of work to be executed by an agent.

#### Task Structure

```

```

**Sources**: [src/praisonai-agents/praisonaiagents/task/task.py](https://github.com/MervinPraison/PraisonAI/blob/ab80807b/src/praisonai-agents/praisonaiagents/task/task.py) [api.md137-140](https://github.com/MervinPraison/PraisonAI/blob/ab80807b/api.md?plain=1#L137-L140)

#### Task Methods

**Sources**: [api.md137-140](https://github.com/MervinPraison/PraisonAI/blob/ab80807b/api.md?plain=1#L137-L140)

## Tools API

### Tool Decorator

The `@tool` decorator converts Python functions into agent-callable tools.

#### Tool Decorator Pattern

```

```

**Sources**: [src/praisonai-agents/praisonaiagents/tools/decorator.py](https://github.com/MervinPraison/PraisonAI/blob/ab80807b/src/praisonai-agents/praisonaiagents/tools/decorator.py) [api.md126](https://github.com/MervinPraison/PraisonAI/blob/ab80807b/api.md?plain=1#L126-L126)

### BaseTool Class

Abstract base class for creating custom tool implementations.

```

```

**Sources**: [src/praisonai-agents/praisonaiagents/tools/base.py](https://github.com/MervinPraison/PraisonAI/blob/ab80807b/src/praisonai-agents/praisonaiagents/tools/base.py) [src/praisonai-agents/praisonaiagents/__init__.py64](https://github.com/MervinPraison/PraisonAI/blob/ab80807b/src/praisonai-agents/praisonaiagents/__init__.py#L64-L64)

### Tools Class

Pre-built tool collection for common operations.

**Sources**: [src/praisonai-agents/praisonaiagents/tools/tools.py](https://github.com/MervinPraison/PraisonAI/blob/ab80807b/src/praisonai-agents/praisonaiagents/tools/tools.py) [api.md125](https://github.com/MervinPraison/PraisonAI/blob/ab80807b/api.md?plain=1#L125-L125)

### ToolRegistry API

Global registry for tool discovery and management.

```

```

**Sources**: [src/praisonai-agents/praisonaiagents/tools/registry.py](https://github.com/MervinPraison/PraisonAI/blob/ab80807b/src/praisonai-agents/praisonaiagents/tools/registry.py) [src/praisonai-agents/praisonaiagents/__init__.py66](https://github.com/MervinPraison/PraisonAI/blob/ab80807b/src/praisonai-agents/praisonaiagents/__init__.py#L66-L66)

## Embedding API

Simplified embedding API supporting both sync and async operations.

### Embedding Functions

```

```

**Sources**: [src/praisonai-agents/praisonaiagents/embedding/embed.py](https://github.com/MervinPraison/PraisonAI/blob/ab80807b/src/praisonai-agents/praisonaiagents/embedding/embed.py) [api.md141-145](https://github.com/MervinPraison/PraisonAI/blob/ab80807b/api.md?plain=1#L141-L145)

### Embedding Function Signatures

**Sources**: [api.md141-145](https://github.com/MervinPraison/PraisonAI/blob/ab80807b/api.md?plain=1#L141-L145) [src/praisonai-agents/praisonaiagents/__init__.py423-427](https://github.com/MervinPraison/PraisonAI/blob/ab80807b/src/praisonai-agents/praisonaiagents/__init__.py#L423-L427)

## Configuration Classes

Configuration classes use Pydantic models for type safety and validation. All configuration classes are importable from `praisonaiagents.config`.

### Configuration Class Hierarchy

```

```

**Sources**: [src/praisonai-agents/praisonaiagents/config/feature_configs.py](https://github.com/MervinPraison/PraisonAI/blob/ab80807b/src/praisonai-agents/praisonaiagents/config/feature_configs.py) [src/praisonai-agents/praisonaiagents/__init__.py307-332](https://github.com/MervinPraison/PraisonAI/blob/ab80807b/src/praisonai-agents/praisonaiagents/__init__.py#L307-L332)

### Core Feature Configs

**Sources**: [src/praisonai-agents/praisonaiagents/config/feature_configs.py](https://github.com/MervinPraison/PraisonAI/blob/ab80807b/src/praisonai-agents/praisonaiagents/config/feature_configs.py)

### Configuration Enums

Configuration enums provide type-safe preset values:

**Sources**: [src/praisonai-agents/praisonaiagents/config/feature_configs.py](https://github.com/MervinPraison/PraisonAI/blob/ab80807b/src/praisonai-agents/praisonaiagents/config/feature_configs.py) [src/praisonai-agents/praisonaiagents/__init__.py320-327](https://github.com/MervinPraison/PraisonAI/blob/ab80807b/src/praisonai-agents/praisonaiagents/__init__.py#L320-L327)

## Workflows API

Workflow control structures for complex agent orchestration.

### Workflow Classes

```

```

**Sources**: [src/praisonai-agents/praisonaiagents/workflows/__init__.py](https://github.com/MervinPraison/PraisonAI/blob/ab80807b/src/praisonai-agents/praisonaiagents/workflows/__init__.py) [src/praisonai-agents/praisonaiagents/__init__.py144-156](https://github.com/MervinPraison/PraisonAI/blob/ab80807b/src/praisonai-agents/praisonaiagents/__init__.py#L144-L156)

### Workflow Control Flow

**Sources**: [src/praisonai-agents/praisonaiagents/workflows/__init__.py](https://github.com/MervinPraison/PraisonAI/blob/ab80807b/src/praisonai-agents/praisonaiagents/workflows/__init__.py) [api.md144-156](https://github.com/MervinPraison/PraisonAI/blob/ab80807b/api.md?plain=1#L144-L156)

## Specialized Agent Classes

Specialized agents extend the base `Agent` class for domain-specific tasks.

### Specialized Agent Hierarchy

```

```

**Sources**: [src/praisonai-agents/praisonaiagents/__init__.py194-223](https://github.com/MervinPraison/PraisonAI/blob/ab80807b/src/praisonai-agents/praisonaiagents/__init__.py#L194-L223)

### Specialized Agent Reference

**Sources**: [src/praisonai-agents/praisonaiagents/__init__.py194-223](https://github.com/MervinPraison/PraisonAI/blob/ab80807b/src/praisonai-agents/praisonaiagents/__init__.py#L194-L223)

## Multi-Agent Classes

### AutoAgents

Automatic agent generation from natural language descriptions.

```

```

**Sources**: [src/praisonai-agents/praisonaiagents/agents/autoagents.py](https://github.com/MervinPraison/PraisonAI/blob/ab80807b/src/praisonai-agents/praisonaiagents/agents/autoagents.py) [src/praisonai-agents/praisonaiagents/__init__.py228](https://github.com/MervinPraison/PraisonAI/blob/ab80807b/src/praisonai-agents/praisonaiagents/__init__.py#L228-L228)

### AutoRagAgent

Automatic RAG configuration and retrieval policy.

**Sources**: [src/praisonai-agents/praisonaiagents/agents/auto_rag_agent.py](https://github.com/MervinPraison/PraisonAI/blob/ab80807b/src/praisonai-agents/praisonaiagents/agents/auto_rag_agent.py) [src/praisonai-agents/praisonaiagents/__init__.py229-231](https://github.com/MervinPraison/PraisonAI/blob/ab80807b/src/praisonai-agents/praisonaiagents/__init__.py#L229-L231)

## Memory and Knowledge API

### Memory Class

Persistent memory storage with multiple backend support.

```

```

**Sources**: [src/praisonai-agents/praisonaiagents/memory/memory.py](https://github.com/MervinPraison/PraisonAI/blob/ab80807b/src/praisonai-agents/praisonaiagents/memory/memory.py) [src/praisonai-agents/praisonaiagents/__init__.py267](https://github.com/MervinPraison/PraisonAI/blob/ab80807b/src/praisonai-agents/praisonaiagents/__init__.py#L267-L267)

### Knowledge Class

Document ingestion and retrieval for RAG.

**Sources**: [src/praisonai-agents/praisonaiagents/knowledge/knowledge.py](https://github.com/MervinPraison/PraisonAI/blob/ab80807b/src/praisonai-agents/praisonaiagents/knowledge/knowledge.py) [src/praisonai-agents/praisonaiagents/__init__.py240-241](https://github.com/MervinPraison/PraisonAI/blob/ab80807b/src/praisonai-agents/praisonaiagents/__init__.py#L240-L241)

### Chunking Class

Document chunking strategies for RAG.

**Sources**: [src/praisonai-agents/praisonaiagents/knowledge/chunking.py](https://github.com/MervinPraison/PraisonAI/blob/ab80807b/src/praisonai-agents/praisonaiagents/knowledge/chunking.py) [src/praisonai-agents/praisonaiagents/__init__.py241](https://github.com/MervinPraison/PraisonAI/blob/ab80807b/src/praisonai-agents/praisonaiagents/__init__.py#L241-L241)

## RAG API

Retrieval-Augmented Generation pipeline components.

### RAG Classes and Types

```

```

**Sources**: [src/praisonai-agents/praisonaiagents/rag/__init__.py](https://github.com/MervinPraison/PraisonAI/blob/ab80807b/src/praisonai-agents/praisonaiagents/rag/__init__.py) [src/praisonai-agents/praisonaiagents/__init__.py250-258](https://github.com/MervinPraison/PraisonAI/blob/ab80807b/src/praisonai-agents/praisonaiagents/__init__.py#L250-L258)

### RAG Types Reference

**Sources**: [src/praisonai-agents/praisonaiagents/rag/__init__.py](https://github.com/MervinPraison/PraisonAI/blob/ab80807b/src/praisonai-agents/praisonaiagents/rag/__init__.py) [api.md250-258](https://github.com/MervinPraison/PraisonAI/blob/ab80807b/api.md?plain=1#L250-L258)

## Protocol Integration

### MCP (Model Context Protocol)

Integration with MCP servers for external tool access.

```

```

**Sources**: [src/praisonai-agents/praisonaiagents/mcp/mcp.py](https://github.com/MervinPraison/PraisonAI/blob/ab80807b/src/praisonai-agents/praisonaiagents/mcp/mcp.py) [src/praisonai-agents/praisonaiagents/__init__.py237](https://github.com/MervinPraison/PraisonAI/blob/ab80807b/src/praisonai-agents/praisonaiagents/__init__.py#L237-L237)

### A2A (Agent-to-Agent Protocol)

Expose agents as interoperable services.

**Sources**: [src/praisonai-agents/praisonaiagents/ui/a2a.py](https://github.com/MervinPraison/PraisonAI/blob/ab80807b/src/praisonai-agents/praisonaiagents/ui/a2a.py) [src/praisonai-agents/praisonaiagents/__init__.py304](https://github.com/MervinPraison/PraisonAI/blob/ab80807b/src/praisonai-agents/praisonaiagents/__init__.py#L304-L304)

## Context and FastContext

### FastContext

Rapid code context extraction for code-aware agents.

```

```

**Sources**: [src/praisonai-agents/praisonaiagents/context/fast.py](https://github.com/MervinPraison/PraisonAI/blob/ab80807b/src/praisonai-agents/praisonaiagents/context/fast.py) [src/praisonai-agents/praisonaiagents/__init__.py244-247](https://github.com/MervinPraison/PraisonAI/blob/ab80807b/src/praisonai-agents/praisonaiagents/__init__.py#L244-L247)

### ContextManager

Token-aware context optimization.

**Sources**: [src/praisonai-agents/praisonaiagents/context/manager.py](https://github.com/MervinPraison/PraisonAI/blob/ab80807b/src/praisonai-agents/praisonaiagents/context/manager.py) [src/praisonai-agents/praisonaiagents/__init__.py376-379](https://github.com/MervinPraison/PraisonAI/blob/ab80807b/src/praisonai-agents/praisonaiagents/__init__.py#L376-L379)

## Planning and Reflection

### Planning API

```

```

**Sources**: [src/praisonai-agents/praisonaiagents/planning/__init__.py](https://github.com/MervinPraison/PraisonAI/blob/ab80807b/src/praisonai-agents/praisonaiagents/planning/__init__.py) [src/praisonai-agents/praisonaiagents/__init__.py270-278](https://github.com/MervinPraison/PraisonAI/blob/ab80807b/src/praisonai-agents/praisonaiagents/__init__.py#L270-L278)

### Planning Types

**Sources**: [src/praisonai-agents/praisonaiagents/planning/__init__.py](https://github.com/MervinPraison/PraisonAI/blob/ab80807b/src/praisonai-agents/praisonaiagents/planning/__init__.py) [api.md270-278](https://github.com/MervinPraison/PraisonAI/blob/ab80807b/api.md?plain=1#L270-L278)

## Telemetry and Observability

### Telemetry API

```

```

**Sources**: [src/praisonai-agents/praisonaiagents/telemetry/__init__.py](https://github.com/MervinPraison/PraisonAI/blob/ab80807b/src/praisonai-agents/praisonaiagents/telemetry/__init__.py) [src/praisonai-agents/praisonaiagents/__init__.py293-301](https://github.com/MervinPraison/PraisonAI/blob/ab80807b/src/praisonai-agents/praisonaiagents/__init__.py#L293-L301)

### Trace API

Protocol-driven tracing for custom observability sinks.

**Sources**: [src/praisonai-agents/praisonaiagents/trace/__init__.py](https://github.com/MervinPraison/PraisonAI/blob/ab80807b/src/praisonai-agents/praisonaiagents/trace/__init__.py) [src/praisonai-agents/praisonaiagents/__init__.py281-291](https://github.com/MervinPraison/PraisonAI/blob/ab80807b/src/praisonai-agents/praisonaiagents/__init__.py#L281-L291)

## Display and Output

### Display Functions

Functions for rich terminal output (lazy-loaded to avoid importing `rich` at startup).

**Sources**: [src/praisonai-agents/praisonaiagents/main.py](https://github.com/MervinPraison/PraisonAI/blob/ab80807b/src/praisonai-agents/praisonaiagents/main.py) [src/praisonai-agents/praisonaiagents/__init__.py129-142](https://github.com/MervinPraison/PraisonAI/blob/ab80807b/src/praisonai-agents/praisonaiagents/__init__.py#L129-L142)

### Output Types

**Sources**: [src/praisonai-agents/praisonaiagents/main.py](https://github.com/MervinPraison/PraisonAI/blob/ab80807b/src/praisonai-agents/praisonaiagents/main.py) [api.md129-130](https://github.com/MervinPraison/PraisonAI/blob/ab80807b/api.md?plain=1#L129-L130)

## Parameter Resolver

Utilities for resolving consolidated parameters with precedence handling.

### Resolver Functions

```

```

**Sources**: [src/praisonai-agents/praisonaiagents/config/param_resolver.py](https://github.com/MervinPraison/PraisonAI/blob/ab80807b/src/praisonai-agents/praisonaiagents/config/param_resolver.py) [src/praisonai-agents/praisonaiagents/__init__.py334-350](https://github.com/MervinPraison/PraisonAI/blob/ab80807b/src/praisonai-agents/praisonaiagents/__init__.py#L334-L350)

### Resolver API Reference

**Sources**: [src/praisonai-agents/praisonaiagents/config/param_resolver.py](https://github.com/MervinPraison/PraisonAI/blob/ab80807b/src/praisonai-agents/praisonaiagents/config/param_resolver.py) [api.md334-350](https://github.com/MervinPraison/PraisonAI/blob/ab80807b/api.md?plain=1#L334-L350)

## Presets

Pre-configured settings for common use cases.

### Preset Dictionaries

```

```

**Sources**: [src/praisonai-agents/praisonaiagents/config/presets.py](https://github.com/MervinPraison/PraisonAI/blob/ab80807b/src/praisonai-agents/praisonaiagents/config/presets.py) [src/praisonai-agents/praisonaiagents/__init__.py353-367](https://github.com/MervinPraison/PraisonAI/blob/ab80807b/src/praisonai-agents/praisonaiagents/__init__.py#L353-L367)

### Preset Reference

**Sources**: [examples/consolidated_params/README.md13-24](https://github.com/MervinPraison/PraisonAI/blob/ab80807b/examples/consolidated_params/README.md?plain=1#L13-L24) [src/praisonai-agents/praisonaiagents/__init__.py353-367](https://github.com/MervinPraison/PraisonAI/blob/ab80807b/src/praisonai-agents/praisonaiagents/__init__.py#L353-L367)

## Handoff System

Agent-to-agent delegation and context transfer.

### Handoff API

```

```

**Sources**: [src/praisonai-agents/praisonaiagents/agent/handoff.py](https://github.com/MervinPraison/PraisonAI/blob/ab80807b/src/praisonai-agents/praisonaiagents/agent/handoff.py) [src/praisonai-agents/praisonaiagents/__init__.py159-171](https://github.com/MervinPraison/PraisonAI/blob/ab80807b/src/praisonai-agents/praisonaiagents/__init__.py#L159-L171)

### Handoff Types

**Sources**: [src/praisonai-agents/praisonaiagents/agent/handoff.py](https://github.com/MervinPraison/PraisonAI/blob/ab80807b/src/praisonai-agents/praisonaiagents/agent/handoff.py) [api.md159-171](https://github.com/MervinPraison/PraisonAI/blob/ab80807b/api.md?plain=1#L159-L171)

## Skills System

Dynamic skill loading and management.

**Sources**: [src/praisonai-agents/praisonaiagents/skills/__init__.py](https://github.com/MervinPraison/PraisonAI/blob/ab80807b/src/praisonai-agents/praisonaiagents/skills/__init__.py) [src/praisonai-agents/praisonaiagents/__init__.py261-264](https://github.com/MervinPraison/PraisonAI/blob/ab80807b/src/praisonai-agents/praisonaiagents/__init__.py#L261-L264)

## Session Management

Persist and restore agent state across sessions.

```

```

**Sources**: [src/praisonai-agents/praisonaiagents/session.py](https://github.com/MervinPraison/PraisonAI/blob/ab80807b/src/praisonai-agents/praisonaiagents/session.py) [src/praisonai-agents/praisonaiagents/__init__.py234](https://github.com/MervinPraison/PraisonAI/blob/ab80807b/src/praisonai-agents/praisonaiagents/__init__.py#L234-L234)

## Guardrails

Safety validation and constraint enforcement.

### Guardrail Types

**Sources**: [src/praisonai-agents/praisonaiagents/guardrails/__init__.py](https://github.com/MervinPraison/PraisonAI/blob/ab80807b/src/praisonai-agents/praisonaiagents/guardrails/__init__.py) [src/praisonai-agents/praisonaiagents/__init__.py184-185](https://github.com/MervinPraison/PraisonAI/blob/ab80807b/src/praisonai-agents/praisonaiagents/__init__.py#L184-L185)

## Utility Functions

### Parse Utilities

Helper functions for configuration parsing.

**Sources**: [src/praisonai-agents/praisonaiagents/config/parse_utils.py](https://github.com/MervinPraison/PraisonAI/blob/ab80807b/src/praisonai-agents/praisonaiagents/config/parse_utils.py) [src/praisonai-agents/praisonaiagents/__init__.py369-373](https://github.com/MervinPraison/PraisonAI/blob/ab80807b/src/praisonai-agents/praisonaiagents/__init__.py#L369-L373)

## Lazy Loading System

The API uses lazy loading to minimize import time and memory usage.

### Lazy Loading Architecture

```

```

**Sources**: [src/praisonai-agents/praisonaiagents/__init__.py94-437](https://github.com/MervinPraison/PraisonAI/blob/ab80807b/src/praisonai-agents/praisonaiagents/__init__.py#L94-L437) [src/praisonai-agents/praisonaiagents/_lazy.py](https://github.com/MervinPraison/PraisonAI/blob/ab80807b/src/praisonai-agents/praisonaiagents/_lazy.py)

### Warmup Function

Pre-import heavy dependencies for first-call optimization.

```

```

**Purpose**: Pre-load LiteLLM (~2-3s) and/or OpenAI SDK (~100ms) to reduce first agent initialization latency.

**Note**: Warmup is **not needed** for default OpenAI usage (`llm="gpt-4o-mini"`). Only beneficial when using LiteLLM backend (triggered by "/" in model name, dict config, or base_url parameter).

**Sources**: [src/praisonai-agents/praisonaiagents/__init__.py471-524](https://github.com/MervinPraison/PraisonAI/blob/ab80807b/src/praisonai-agents/praisonaiagents/__init__.py#L471-L524)

## Example Usage Patterns

### Basic Agent Creation

```

```

**Sources**: [examples/consolidated_params/basic_agent.py1-18](https://github.com/MervinPraison/PraisonAI/blob/ab80807b/examples/consolidated_params/basic_agent.py#L1-L18)

### Agent with Consolidated Parameters

```

```

**Sources**: [examples/consolidated_params/basic_planning.py1-18](https://github.com/MervinPraison/PraisonAI/blob/ab80807b/examples/consolidated_params/basic_planning.py#L1-L18) [examples/consolidated_params/README.md1-97](https://github.com/MervinPraison/PraisonAI/blob/ab80807b/examples/consolidated_params/README.md?plain=1#L1-L97)

### Multi-Agent Workflow

```

```

**Sources**: [examples/consolidated_params/basic_agents.py](https://github.com/MervinPraison/PraisonAI/blob/ab80807b/examples/consolidated_params/basic_agents.py)

### Tool Creation

```

```

**Sources**: [src/praisonai-agents/praisonaiagents/tools/decorator.py](https://github.com/MervinPraison/PraisonAI/blob/ab80807b/src/praisonai-agents/praisonaiagents/tools/decorator.py)

## Summary

The PraisonAI Python API provides:

1. Core Components : Agent , Agents , Task for building AI workflows
2. Tool System : @tool decorator, BaseTool , ToolRegistry for extensibility
3. Embedding API : Simple functions ( embedding , aembedding ) for vector operations
4. Configuration : Type-safe config classes with preset support and parameter resolver
5. Workflows : Control flow operators ( Route , Parallel , Loop , Repeat )
6. Specialized Agents : 12+ domain-specific agent types
7. Memory & Knowledge : Multiple backends and RAG pipeline
8. Protocols : MCP and A2A for interoperability
9. Lazy Loading : Fast imports (~20ms) with on-demand dependency loading

All symbols are accessible via top-level imports or organized sub-packages (`config`, `tools`, `memory`, `workflows`).

**Sources**: [src/praisonai-agents/praisonaiagents/__init__.py1-594](https://github.com/MervinPraison/PraisonAI/blob/ab80807b/src/praisonai-agents/praisonaiagents/__init__.py#L1-L594) [api.md1-1207](https://github.com/MervinPraison/PraisonAI/blob/ab80807b/api.md?plain=1#L1-L1207)
