detour-onboarding
Complete onboarding guide for developers who are new to Detour, the open-source deferred deep…
Python server SDK for Fishjam — backends that create rooms, mint peer tokens, receive server notifications, and run voice agents. Use when writing a Python backend (FastAPI, Flask, Starlette, aiohttp) that talks to Fishjam, decorates a notification handler, decodes a Fishjam
$ npx -y skills add software-mansion-labs/skills --skill python-server-sdk --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/python-server-sdkContext preview
The summary Claude sees to decide when to auto-load this skill.
Python server SDK for Fishjam — backends that create rooms, mint peer tokens, receive server notifications, and run voice agents. Use when writing a Python backend (FastAPI, Flask, Starlette, aiohttp) that talks to Fishjam, decorates a notification handler, decodes a Fishjam
name: fishjam-python-server-sdk description: "Python server SDK for Fishjam — backends that create rooms, mint peer tokens, receive server notifications, and run voice agents. Use when writing a Python backend (FastAPI, Flask, Starlette, aiohttp) that talks to Fishjam, decorates a notification handler, decodes a Fishjam webhook, or builds an AI voice agent in Python. Trigger on: 'fishjam-server-sdk', 'pip install fishjam-server-sdk', 'from fishjam import', 'fishjam.FishjamClient', 'FishjamNotifier', 'on_server_notification', 'receive_binary', 'fishjam Agent', 'AgentSession', 'PeerOptions', 'RoomOptions', 'AgentOptions', 'AgentOutputOptions', 'OutgoingAudioTrackOptions', 'create_room', 'create_peer', 'create_agent', 'create_vapi_agent', 'create_livestream_streamer_token', 'create_moq_token', 'subscribe_peer', 'fastapi fishjam', 'flask fishjam', 'fishjam python', 'gemini fishjam python'. Python 3.10+. The REST client is synchronous; notifier and agent are async." license: Apache-2.0
`fishjam-server-sdk` on PyPI; `import fishjam`. Server-side Python SDK for Fishjam.
> **Read `../platform/SKILL.md` first.** It defines rooms, peers, tracks, the two-tier token model, and the WS-vs-webhook tradeoff that the Python SDK is built on.
The architecture differs from the JS SDK in one important way:
pip install fishjam-server-sdk # or: uv add fishjam-server-sdk # or: poetry add fishjam-server-sdk
import os
from fishjam import FishjamClient, PeerOptions
fishjam_client = FishjamClient(
fishjam_id=os.environ['FISHJAM_ID'],
management_token=os.environ['FISHJAM_MANAGEMENT_TOKEN'],
)
room = fishjam_client.create_room()
peer, peer_token = fishjam_client.create_peer(
room.id,
PeerOptions(metadata={'userId': 'user-123'}),
)
# ship `peer_token` to your client| Component | What it does | Reference | |---|---|---| | `FishjamClient` (sync) | REST — rooms, peers, agents, livestream/MoQ tokens, subscribe modes. | `client.md` | | `FishjamNotifier` (async) | Persistent WebSocket; one handler via decorator gets every event. | `notifier.md` | | `receive_binary(bytes)` (sync) | Decode an HTTP webhook body to a typed event. | `webhooks.md` | | `Agent` + `AgentSession` (async) | Server-side voice agent — async iter over incoming, `await track.send_chunk(...)`. | `agent.md` |
| Task | Reference | |---|---| | Any REST method on `FishjamClient` | `client.md` | | Background WS task receiving events | `notifier.md` | | HTTP route receiving webhook payloads | `webhooks.md` | | Build a voice agent in Python | `agent.md` | | Wire Gemini Live to an agent | `gemini-integration.md` | | FastAPI / Flask wiring patterns | `fastapi.md` | | Issue livestream / MoQ tokens | `livestream-and-moq.md` | | Use manual subscribe mode | `selective-subscriptions.md` |
| File | When to read | |---|---| | `client.md` | `FishjamClient` — every method, dataclass, error type. | | `notifier.md` | `FishjamNotifier`, `wait_ready`, the decorator pattern, pattern-matching on event types. | | `webhooks.md` | `receive_binary`, FastAPI / Flask receivers, security patterns. | | `agent.md` | `Agent`, `AgentSession`, `OutgoingAudioTrackOptions`, `receive()` async iterator. | | `gemini-integration.md` | `fishjam.integrations.gemini`, the `GeminiIntegration` singleton. | | `fastapi.md` | FastAPI patterns (`Depends`-injected client, async webhook route, background notifier). | | `livestream-and-moq.md` | `create_livestream_streamer_token`, `create_livestream_viewer_token`, `create_moq_token`. | | `selective-subscriptions.md` | `subscribe_peer` / `subscribe_tracks` with `subscribe_mode='manual'` rooms. |
Software Mansion's set of skills for AI-assisted React Native development.
Repo: software-mansion-labs/skills
Complete onboarding guide for developers who are new to Detour, the open-source deferred deep…
Use when the user mentions migrating deep links, switching away from Branch or AppsFlyer,…
Software Mansion's guide for migrating Expo SDK apps to Meta Quest using expo-horizon…
Software Mansion's Fishjam — hosted WebRTC platform for video, audio, and one-to-many…
Node.js / TypeScript server SDK for Fishjam — backends that create rooms, mint peer tokens,…
Fishjam platform fundamentals — domain model and auth shared by all SDKs. Covers glossary…