ai-parrot
Framework for building AI agents for Navigator
What it is and what it does
AI-Parrot is an async-first framework for building AI agents and chatbots in Python. It abstracts over multiple LLM providers (OpenAI, Anthropic, Google, Groq, X.AI, HuggingFace, vLLM, OpenRouter, and Ollama), exposing a unified client interface for completions, vision, embeddings, and image generation. The core package provides base abstractions (`AbstractTool`, `AbstractToolkit`, `@tool` decorator) and lightweight built-in tools; heavier implementations and specialized pipelines are split into separate packages (ai-parrot-tools, ai-parrot-loaders, ai-parrot-pipelines) so you install only what you need.
The framework is built on navigator-api and emphasizes async-first design with support for agent-to-agent (A2A) communication, memory management, tool orchestration, and serving agents via the Model Context Protocol (MCP). It includes a CLI (`parrot`) for interactive setup, configuration, MCP server startup, and autonomous agent deployment as systemd services. Whether you need a simple chatbot, multi-agent workflows, or a production-ready AI service, the framework exposes the primitives to build it efficiently.
Use it for:
- Build a chatbot with tool-calling capabilities that queries weather APIs, databases, or custom services in response to user queries.
- Orchestrate multi-agent workflows where agents communicate with each other to solve complex tasks (e.g., research agent + summarizer agent).
- Deploy an autonomous agent as a systemd service using the CLI, with configuration-driven LLM provider selection and credential management.
- Serve agents via the Model Context Protocol (MCP) to integrate with external tools and clients that speak the MCP protocol.
- Rapidly prototype AI applications by switching between LLM providers (OpenAI, Claude, Gemini, etc.) without rewriting agent logic.
- Build RAG (Retrieval-Augmented Generation) pipelines using the document loaders package for PDF, YouTube, audio, and web content.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
AI-Parrot is an async-first Python framework for building, extending, and orchestrating AI agents and chatbots with unified LLM provider support, tool management, agent-to-agent communication, and Model Context Protocol (MCP) serving.
Yes, with conditions. AI-Parrot is actively maintained, has no known vulnerabilities, and offers a well-structured async framework for agent and chatbot development with broad LLM provider support. The modular monorepo design lets you install only what you need. However, the 44 runtime dependencies create medium install friction; verify that the dependency footprint is acceptable for your deployment environment. Best suited for developers building production AI agents or multi-agent orchestration systems who can tolerate the dependency load and require async-first design.
Install
ai-parrot on PyPI
pip
pip install ai-parrotuv
uv add ai-parrotpoetry
poetry add ai-parrotInstalling ai-parrot
Before you install
Medium install friction: 44 runtime dependencies including Cython, pydantic, aiohttp, and navigator ecosystem packages. Active maintenance (last commit 2026-08-14, released 2026-08-13) with binary wheels for Python 3.11–3.14 on Linux. No known vulnerabilities.
License in practice
MIT license (permissive): you can use, modify, and distribute this package freely in commercial and open-source projects with minimal restrictions—only attribution required.
Quickstart
import asyncio
from parrot.bots import Chatbot
from parrot.tools import tool
@tool
def get_weather(location: str) -> str:
return f"Weather in {location} is Sunny, 25C"
async def main():
bot = Chatbot(
name="WeatherBot",
llm="openai:gpt-4o",
tools=[get_weather],
system_prompt="You are a helpful weather assistant."
)
await bot.configure()
response = await bot.ask("What's the weather in Madrid?")
print(response)
asyncio.run(main())
Requires Python 3.11+; LLM provider API keys (e.g., OpenAI, Anthropic, Google) must be configured via environment or the `parrot setup` CLI wizard.
Verify before relying
- Exact scope of the 44 runtime dependencies and whether all are required for basic usage or only for optional features.
- Performance characteristics and scalability limits for multi-agent orchestration workflows.
- Stability guarantees for the monorepo split (ai-parrot-tools, ai-parrot-loaders, ai-parrot-pipelines) and backward compatibility across versions.
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (>=3.11) |
| Install friction | medium — platform-specific wheel |
| Runtime dependencies | 44 — Cython, tabulate, markdown2, beautifulsoup4, nh3, python-datamodel, backoff, tenacity, typing-extensions, pydantic, PyYAML, python-frontmatter, xmltodict, tiktoken, psutil, semantic-text-splitter, navconfig, navigator-auth, navigator-session, navigator-api, asyncdb, ormsgpack, rich, requests, click, prompt_toolkit, aiohttp-swagger3, aiohttp-sse-client, aiohttp-cors, brotli |
| Maintenance | actively maintained — 1 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 86,802/month — #13,836 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: ai_parrot-0.25.35-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl; ai_parrot-0.25.35-cp311-cp311-musllinux_1_2_x86_64.whl; ai_parrot-0.25.35-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl; ai_parrot-0.25.35-cp312-cp312-musllinux_1_2_x86_64.whl; ai_parrot-0.25.35-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl; ai_parrot-0.25.35-cp313-cp313-musllinux_1_2_x86_64.whl; ai_parrot-0.25.35-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl; ai_parrot-0.25.35-cp314-cp314-musllinux_1_2_x86_64.whl
Keywords: asyncio, asyncpg, aioredis, aiomcache, artificial intelligence, ai, chatbot, agents
Tags
More Python Modules packages
Converts domain names between Unicode and…
permissive · top 100 on PyPI
setuptoolsSetuptools is a Python build backend and…
permissive · top 100 on PyPI
PyYAMLPyYAML parses and emits YAML 1.1 data format,…
permissive · top 100 on PyPI
pydanticPydantic validates Python data structures…
permissive · top 100 on PyPI
annotated-typesProvides reusable metadata objects for use with…
permissive · top 100 on PyPI
typing-inspectionProvides runtime tools to inspect and…
permissive · top 100 on PyPI
agent-framework-coreBuild, orchestrate, and deploy AI agents and…
permissive · top 5,000 on PyPI
stirrupStirrup is a lightweight Python framework for…
permissive · top 15,000 on PyPI
praisonaiagentsPraisonAI agents is a Python framework for…
unclear · top 15,000 on PyPI
livekit-plugins-anthropicIntegrates Anthropic's Claude models into…
permissive · top 5,000 on PyPI
tooluniverseToolUniverse provides a standardized interface…
unclear · top 15,000 on PyPI
leptonaiLepton AI is a Python framework for building…
unclear · top 15,000 on PyPI
PraisonAIPraisonAI is a framework for building and…
permissive · top 15,000 on PyPI
xpander-sdkPython SDK for building, deploying, and…
permissive · top 15,000 on PyPI
chainlitChainlit provides a web UI framework for…
permissive · top 15,000 on PyPI
npmai-agentsAutonomous AI agent framework that executes…
permissive · top 15,000 on PyPI