Skip to main content

A demonstration of the Poe protocol using FastAPI

Project description

fastapi_poe

An implementation of the Poe protocol using FastAPI.

To run it:

  • Create a virtual environment (Python 3.7 or higher)
  • pip install .
  • python -m fastapi_poe
  • In a different terminal, run ngrok to make it publicly accessible

Write your own bot

This package can also be used as a base to write your own bot. You can inherit from fastapi_poe.PoeHandler to make a bot:

from fastapi_poe import PoeHandler, run

class EchoHandler(PoeHandler):
    async def get_response(self, query):
        last_message = query.query[-1].content
        yield self.text_event(last_message)

if __name__ == "__main__":
    run(EchoHandler())

Enable authentication

Poe servers send requests containing Authorization HTTP header in the format "Bearer <api_key>," where api_key is the API key configured in the bot settings. \

To validate the requests are from Poe Servers, you can either set the environment variable POE_API_KEY or pass the parameter api_key in the run function like:

if __name__ == "__main__":
    run(EchoHandler(), api_key=<key>)

For a more advanced example that exercises more of the Poe protocol, see Catbot.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fastapi_poe-0.0.7.tar.gz (5.1 kB view details)

Uploaded Source

Built Distribution

fastapi_poe-0.0.7-py3-none-any.whl (7.3 kB view details)

Uploaded Python 3

File details

Details for the file fastapi_poe-0.0.7.tar.gz.

File metadata

  • Download URL: fastapi_poe-0.0.7.tar.gz
  • Upload date:
  • Size: 5.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.16

File hashes

Hashes for fastapi_poe-0.0.7.tar.gz
Algorithm Hash digest
SHA256 08a8ab2b0c1c6e24473dcd57d0f38b97df3dab36e7fb61995f9f0735b3b45925
MD5 14fee417cf0378b938e5c34450a91aa4
BLAKE2b-256 4b25bea38e86b4c9277e953c90a822f4861c62b230a69e700bd9b0151876b6c1

See more details on using hashes here.

Provenance

File details

Details for the file fastapi_poe-0.0.7-py3-none-any.whl.

File metadata

  • Download URL: fastapi_poe-0.0.7-py3-none-any.whl
  • Upload date:
  • Size: 7.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.16

File hashes

Hashes for fastapi_poe-0.0.7-py3-none-any.whl
Algorithm Hash digest
SHA256 02172470656e66376df1f37fea48ffe56f221261deee2d53d3036575fd914048
MD5 2a5ce4da345f849fa613a65a0dae18d8
BLAKE2b-256 4d48f79c00c9523f8f5d4ed3a4a54689b48ee80761be9a77d43de78e995f2e58

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page