Metadata-Version: 2.4
Name: praisonai-frameworks
Version: 0.1.10
Summary: Optional agent framework adapters for PraisonAI (CrewAI, AutoGen, extensions)
Project-URL: Homepage, https://praison.ai/docs
Project-URL: Repository, https://github.com/MervinPraison/PraisonAI-Frameworks
Project-URL: Documentation, https://praison.ai/docs/frameworks
Project-URL: Issues, https://github.com/MervinPraison/PraisonAI-Frameworks/issues
Author: Mervin Praison
License: MIT
License-File: LICENSE
Keywords: agents,agno,ai,autogen,crewai,framework,google-adk,langgraph,openai-agents,praisonai,pydantic-ai
Requires-Python: <3.15,>=3.10
Requires-Dist: praisonaiagents>=1.6.82
Provides-Extra: ag2
Requires-Dist: ag2>=0.11.0; extra == 'ag2'
Requires-Dist: praisonai-tools>=0.1.0; extra == 'ag2'
Provides-Extra: agno
Requires-Dist: agno[openai]<2.7,>=2.6.0; extra == 'agno'
Requires-Dist: praisonai-tools>=0.1.0; extra == 'agno'
Provides-Extra: all
Requires-Dist: agno[openai]<2.7,>=2.6.0; extra == 'all'
Requires-Dist: crewai; extra == 'all'
Requires-Dist: crewai>=0.157.0; extra == 'all'
Requires-Dist: langchain-openai>=0.3.0; extra == 'all'
Requires-Dist: langgraph>=1.0.0; extra == 'all'
Requires-Dist: litellm>=1.81.0; extra == 'all'
Requires-Dist: openai-agents<0.18,>=0.17.7; extra == 'all'
Requires-Dist: praisonai-tools>=0.1.0; extra == 'all'
Requires-Dist: pyautogen==0.2.29; extra == 'all'
Requires-Dist: pydantic-ai[google,openai]<0.9,>=0.8.0; extra == 'all'
Provides-Extra: autogen
Requires-Dist: crewai; extra == 'autogen'
Requires-Dist: praisonai-tools>=0.1.0; extra == 'autogen'
Requires-Dist: pyautogen==0.2.29; extra == 'autogen'
Provides-Extra: autogen-v4
Requires-Dist: autogen-agentchat>=0.4.0; extra == 'autogen-v4'
Requires-Dist: autogen-core>=0.4.0; extra == 'autogen-v4'
Requires-Dist: autogen-ext[openai]>=0.4.0; extra == 'autogen-v4'
Requires-Dist: crewai; extra == 'autogen-v4'
Requires-Dist: praisonai-tools>=0.1.0; extra == 'autogen-v4'
Provides-Extra: crewai
Requires-Dist: crewai>=0.157.0; extra == 'crewai'
Requires-Dist: litellm>=1.81.0; extra == 'crewai'
Requires-Dist: praisonai-tools>=0.1.0; extra == 'crewai'
Provides-Extra: dev
Requires-Dist: pytest-asyncio>=0.23; extra == 'dev'
Requires-Dist: pytest>=8.0; extra == 'dev'
Provides-Extra: google-adk
Requires-Dist: google-adk[extensions]<2.4,>=2.3.0; extra == 'google-adk'
Requires-Dist: praisonai-tools>=0.1.0; extra == 'google-adk'
Provides-Extra: langgraph
Requires-Dist: langchain-openai>=0.3.0; extra == 'langgraph'
Requires-Dist: langgraph>=1.0.0; extra == 'langgraph'
Requires-Dist: praisonai-tools>=0.1.0; extra == 'langgraph'
Provides-Extra: openai-agents
Requires-Dist: openai-agents<0.18,>=0.17.7; extra == 'openai-agents'
Requires-Dist: praisonai-tools>=0.1.0; extra == 'openai-agents'
Provides-Extra: pydantic-ai
Requires-Dist: praisonai-tools>=0.1.0; extra == 'pydantic-ai'
Requires-Dist: pydantic-ai[google,openai]<0.9,>=0.8.0; extra == 'pydantic-ai'
Description-Content-Type: text/markdown

# PraisonAI Frameworks

Optional agent framework adapters for [PraisonAI](https://github.com/MervinPraison/PraisonAI).

Implements the `praisonai.framework_adapters` entry-point group so YAML `framework:` values
(`crewai`, `autogen`, …) resolve without bloating the core SDK or wrapper wheel.

## Install

```bash
# Native PraisonAI only (no third-party frameworks)
pip install praisonaiagents praisonai

# CrewAI backend
pip install praisonai-frameworks[crewai]

# AutoGen v0.2 backend
pip install praisonai-frameworks[autogen]

# LangGraph backend
pip install praisonai-frameworks[langgraph]

# OpenAI Agents SDK backend
pip install praisonai-frameworks[openai-agents]

# Agno backend
pip install praisonai-frameworks[agno]

# Google ADK backend
pip install praisonai-frameworks[google-adk]

# Pydantic AI backend
pip install praisonai-frameworks[pydantic-ai]

# AutoGen v0.4 backend (autogen-agentchat / autogen-ext)
pip install praisonai-frameworks[autogen-v4]
```

### Selecting an AutoGen version

Use `framework: autogen` and set `AUTOGEN_VERSION` to choose a backend:

| `AUTOGEN_VERSION` | Backend |
|-------------------|---------|
| `v0.2`            | AutoGen v0.2 (`autogen`) |
| `v0.4`            | AutoGen v0.4 (`autogen-agentchat`) |
| `ag2`             | AG2 fork |
| `auto` (default)  | First available: v0.2 → v0.4 → ag2 |

## Usage

```yaml
# agents.yaml
framework: crewai
topic: Research AI trends
roles:
  researcher:
    role: Research Analyst
    goal: Find accurate information
    backstory: Expert researcher
    tasks:
      research:
        agent: researcher
        description: Research {topic}
        expected_output: A concise summary
```

```bash
praisonai run agents.yaml
```

## Architecture

- Depends on **`praisonaiagents` only** (protocol + base helpers in `praisonaiagents.frameworks`)
- Registers adapters via setuptools entry points — no wrapper import required
- Lazy-imports CrewAI / AutoGen inside `run()` only

## Adding a framework

See `examples/third_party_adapter/` and `docs/adding-a-framework.md`.
