fastapi-poe
A demonstration of the Poe protocol using FastAPI
What it is and what it does
fastapi-poe is a Python library that implements the Poe protocol specification on top of fastapi, enabling you to build and deploy bots that work with the Poe platform. It provides a base class, PoeBot, that you subclass to define your bot's behavior by implementing an async get_response method. The library handles the HTTP protocol details, request parsing, and response streaming so you can focus on the bot logic itself.
The package depends on fastapi, httpx, httpx-sse, pydantic, sse-starlette, typing-extensions, and uvicorn. It's designed for developers who want to create custom bots for Poe without building the protocol layer from scratch. To make your bot accessible to Poe, you run it locally and use a tunneling tool to expose it publicly, then register it on the Poe platform.
Use it for:
- Build a custom bot that responds to user queries on the Poe platform without implementing the protocol yourself.
- Create a bot that echoes or transforms user messages, or wraps an existing API as a Poe-compatible service.
- Integrate a local service or model with Poe by exposing it through fastapi-poe.
- Prototype and test bot behavior locally before deploying to production.
- Extend Poe's capabilities with domain-specific bots that inherit from PoeBot and override get_response.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Implements the Poe protocol using FastAPI, allowing you to build and deploy bots that integrate with the Poe platform.
Yes, if you are building a bot for the Poe platform and want to avoid implementing the protocol yourself. The low install friction and permissive license make it straightforward to adopt. However, note that maintenance is aging, so verify compatibility with your fastapi and Python versions before committing to production use.
Install
fastapi-poe on PyPI
pip
pip install fastapi-poeuv
uv add fastapi-poepoetry
poetry add fastapi-poeInstalling fastapi-poe
Before you install
Low install friction with a pure-Python wheel distribution. Maintenance status is aging, so expect slower response to issues or breaking changes in dependencies.
License in practice
Licensed under Apache Software License (permissive), so you can use and modify the package freely in commercial and open-source projects without significant legal constraints.
Quickstart
pip install fastapi-poe
import fastapi_poe as fp
class EchoBot(fp.PoeBot):
async def get_response(self, request: fp.QueryRequest):
last_message = request.query[-1].content
yield fp.PartialResponse(text=last_message)
if __name__ == "__main__":
fp.run(EchoBot(), allow_without_key=True)
Requires Python >=3.9. To expose your bot publicly for Poe integration, you will need a tunneling tool.
Verify before relying
- Whether the aging maintenance status indicates active development or dormancy.
- Real-world performance characteristics when handling concurrent requests or large message volumes.
- Compatibility with recent versions of fastapi and its ecosystem dependencies.
Package facts
| License | not declared (permissive) |
| Python support | supports the current Python release (>=3.9) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 7 — fastapi, httpx, httpx-sse, pydantic, sse-starlette, typing-extensions, uvicorn |
| Maintenance | aging — 204 days since the last release |
| First released | |
| Downloads | 123,862/month — #11,895 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: fastapi_poe-0.0.83-py3-none-any.whl
Tags
More Dynamic Content packages
MarkupSafe provides a text object that escapes…
permissive · top 100 on PyPI
Jinja2Jinja2 is a templating engine that renders…
permissive · top 100 on PyPI
soupsieveSoupsieve is a CSS selector library designed to…
permissive · top 100 on PyPI
WerkzeugWerkzeug is a WSGI utility library providing…
permissive · top 1,000 on PyPI
FlaskFlask is a lightweight WSGI web application…
permissive · top 1,000 on PyPI
MakoMako compiles Python-embedded templates into…
permissive · top 1,000 on PyPI
botframework-streamingProvides streaming protocol support for…
permissive · top 5,000 on PyPI
botbuilder-coreProvides the core SDK for building bots that…
permissive · top 5,000 on PyPI
botbuilder-integration-aiohttpIntegrates a Microsoft Bot Framework bot into…
permissive · top 15,000 on PyPI
line-bot-sdkSDK for building LINE bots that handles webhook…
permissive · top 5,000 on PyPI
botframework-connectorEnables Python bots to send and receive…
permissive · top 5,000 on PyPI
pyTelegramBotAPIA Python library that wraps the Telegram Bot…
copyleft · top 5,000 on PyPI
zulipPython client library for sending and receiving…
permissive · top 15,000 on PyPI
python-telegram-botProvides a pure Python asynchronous interface…
copyleft · top 1,000 on PyPI
twitchAPIA Python client library for the Twitch Helix…
permissive · top 15,000 on PyPI
fastapi-cliFastAPI CLI is a command-line tool that runs…
permissive · top 1,000 on PyPI