Skip to main content

Four-Layer Package Architecture

Since v4.6.122+, PraisonAI ships as four independently-installable PyPI packages. Dependencies flow upward — each layer only knows about the layers below it:
Each layer is independently installable and testable. Install praisonaiagents alone for pure SDK embedding, praisonai-code for the terminal CLI without gateway/bot features, praisonai-bot[gateway,bot] for a standalone gateway + channel bots without the wrapper, or praisonai for the full stack. Old wrapper imports (praisonai.bots, praisonai.gateway, praisonai.scheduler.executor) still resolve via alias_package shims — no code change required to migrate.

Protocol vs ABC

Bot and gateway protocols live in praisonaiagents; their implementations live in praisonai-bot, not the wrapper.

Adding a New Feature

Step 1: Core SDK - Protocol + Default

Step 2: Wrapper - Heavy Implementations

Step 3: Export from Core


Usage

Production

Testing (Mock)


Decision Tree


File Structure


Benefits


Existing Examples