skillfed

fastapi-poe

A demonstration of the Poe protocol using FastAPI

fastapi-poe v0.0.83 123.9K downloads/30d#11,895 on PyPI
Permissive license AGING released

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-poe

uv

uv add fastapi-poe

poetry

poetry add fastapi-poe

Installing 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

License :: OSI Approved :: Apache Software LicenseOperating System :: OS IndependentProgramming Language :: Python :: 3

Tags

poe bot frameworkpoe protocol fastapibuild poe botspoe server implementationfastapi poe integrationpoe bot developmentpoe protocol server
poe-platformbot-frameworkprotocol-implementation

More Dynamic Content packages