A simple, ready-to-use client for testing the SmallWebRTCTransport.
This prebuilt client provides basic WebRTC functionality and serves as a lightweight tool to quickly verify transport behavior without needing a custom implementation.
Ideal for development, debugging, and quick prototyping.
If you just want to use the prebuilt WebRTC client in your own Python project:
pip install pipecat-ai-small-webrtc-prebuiltfrom fastapi import FastAPI
from fastapi.responses import RedirectResponse
from pipecat_ai_small_webrtc_prebuilt.frontend import SmallWebRTCPrebuiltUI
app = FastAPI()
# Mount the frontend at /prebuilt
app.mount("/prebuilt", SmallWebRTCPrebuiltUI)
@app.get("/", include_in_schema=False)
async def root_redirect():
return RedirectResponse(url="/prebuilt/")Want to see it in action? Check out our sample app demonstrating how to use this module:
If you want to work on the prebuilt client itself or use it locally in development:
- Clone the Repository
git clone https://github.com/your-org/small-webrtc-prebuilt.git
cd small-webrtc-prebuilt- Build the Client
The Python package serves a built React client, so you need to build it first:
cd client
npm install
npm run build
cd ..This creates the client/dist/ directory that the Python package will serve.
- Try the Sample App
Now you can test the local package with the sample app:
cd test
uv sync # Installs dependencies and the local package in editable mode
uv run bot.pyThen open http://localhost:7860 in your browser.
Publishing is automated via GitHub Actions using trusted publishing (no API tokens needed).
-
Update the version in
pyproject.toml:version = "2.0.3"
-
Create a git tag:
git tag -m v2.0.3 v2.0.3 git push --tags origin
- Go to GitHub Actions in your repository
- Select the "publish" workflow
- Click "Run workflow"
- Enter the git tag (e.g.,
v2.0.2) - Click "Run workflow"
The workflow will:
- Build the client (React/Vite)
- Bundle it into the Python package
- Build the Python package with version from
pyproject.toml - Publish to both Test PyPI and PyPI
To test publishing without creating a release:
-
Use the
publish-testworkflow (publishes to Test PyPI only):- Go to GitHub Actions → "publish-test" workflow
- Click "Run workflow"
- No git tag needed!
-
Install from Test PyPI:
pip install --index-url https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple/ pipecat-ai-small-webrtc-prebuilt
-
Test your changes, then use the regular
publishworkflow for production
To test the build locally before publishing:
# Build the client
cd client
npm install
npm run build
cd ..
# Copy client to package
mkdir -p pipecat_ai_small_webrtc_prebuilt/client
cp -r client/dist pipecat_ai_small_webrtc_prebuilt/client/
# Build the package
uv build
# Clean up
rm -rf pipecat_ai_small_webrtc_prebuilt/client