Three-Tier Package Model (C7.1)
Current release: v4.6.110 ·praisonaiagents 1.6.110 · praisonai-code 0.0.8 · praisonai 4.6.110
Dependency rule:
praisonai-code does not declare praisonai in pyproject.toml.
Standalone pip install praisonai-code runs run/chat/code without the wrapper.
Optional wrapper features use lazy imports via _wrapper_bridge only.
Publish order:
praisonaiagents → praisonai-code → praisonai
C7.1 Boundaries
Full boundary spec, invocation matrix, sign-off
C8+ Backlog
Future package splits and import reduction plan
CLI routing
Package Hierarchy (legacy view)
Core SDK Modules
agent/
agent/
Purpose: Agent class and execution
tools/
tools/
Purpose: Tool SDK and registry
memory/
memory/
Purpose: Memory persistence
hooks/
hooks/
Purpose: Hook system and middleware
workflows/
workflows/
Purpose: Multi-agent coordination
bus/
bus/
Purpose: Event bus for pub/sub
Data Flow
Extension Points
Tools
Add capabilities via @tool decorator or BaseTool
Hooks
Intercept events with before_tool, after_tool, etc.
Memory
Custom adapters implementing MemoryProtocol
Workflows
Multi-agent patterns with Route, Parallel, Loop
Repository Map
- Core SDK
- Terminal CLI (praisonai-code)
- Wrapper (praisonai)
- Examples
- Documentation
Design Methodology
1
Three Tiers
praisonaiagents (core) → praisonai-code (terminal CLI) → praisonai (wrapper).
Code tier must not PyPI-depend on the wrapper.2
Protocol First
Define abstract interfaces before implementations
3
Lightweight Core
Keep praisonaiagents minimal - protocols, hooks, base classes only
4
Heavy in Wrapper
Gateway, bots, framework adapters, and heavy integrations stay in
praisonai5
Optional Dependencies
Use
pip install praisonaiagents[memory] for extras6
Lazy Loading
Import heavy deps inside functions, not at module level

