PromptFloe Developer Docs
Client SDKs

Python SDK

The promptfloe package — sync and async clients, native iterators over streaming events, full type hints. Works on CPython 3.9+ and PyPy.

#Install

pip install promptfloe

#Basic usage

main.py
import os
from promptfloe import PromptFloe

client = PromptFloe(api_key=os.environ["PROMPTFLOE_API_KEY"])

# One-shot
app = client.apps.generate(prompt="A pricing page for a CRM SaaS")
print(app.preview_url)

# Streaming
for ev in client.apps.generate_stream(prompt="landing page"):
    print(ev.type)

#Async client

async_main.py
import asyncio, os
from promptfloe import AsyncPromptFloe

async def main():
    client = AsyncPromptFloe(api_key=os.environ["PROMPTFLOE_API_KEY"])

    app = await client.apps.generate(prompt="pricing page")
    print(app.preview_url)

    async for ev in client.apps.generate_stream(prompt="landing"):
        print(ev.type)

asyncio.run(main())

#Types and dataclasses

Response shapes are typed with typing + dataclasses. Use your IDE's autocomplete or import the types directly:

python
from promptfloe import (
    App, GenerateAppRequest, AppEvent,
    Skill, SkillRunResult, SkillRunEvent,
    CustomSkill, WorkspaceContext,
    PromptFloeError, PromptFloeAPIError, PromptFloeRateLimitError,
)

#Error handling

python
from promptfloe import PromptFloeAPIError, PromptFloeRateLimitError
import time

try:
    client.apps.generate(prompt="...")
except PromptFloeRateLimitError as e:
    time.sleep(e.retry_after)
except PromptFloeAPIError as e:
    print(e.code, e.message, e.request_id)

#Where to go next

PromptFloe developer docs