Python SDK
respiresoft-meet for Python 3.10 or newer. No required dependencies.
pip install respiresoft-meetPublishing. The SDK packages are not on npm, PyPI, Packagist or the Go module proxy yet. Until they are, the REST API works from any language over plain HTTPS: every REST reference page has a curl example.
For a task by task start see the server quick start.
Reference from the package README#
Server SDK for the Meet API (rooms, meeting tokens, live control, sessions, recordings, webhooks, usage). Python 3.10+, no required dependencies (standard library urllib); cryptography only for offline token verification.
pip install respiresoft-meet # core
pip install "respiresoft-meet[tokens]" # + Meet.tokens.verifyfrom respiresoft_meet import Meet
meet = Meet(api_key="mk_test_...") # or env MEET_API_KEY
room = meet.rooms.create(name="order-1042", privacy="private")
token = meet.rooms.create_token(room["name"], user_name="Ann", role="host", ttl=3600)["token"]
# browser: embed("#meeting", { url: room["url"], token }) with @respiresoft/meet-embed
for r in meet.rooms.list(): # every page, automatically
print(r["name"])Sync client only (an async client is not included; wrap calls in asyncio.to_thread if you need one). Results are plain dicts.
Surface (same as the Node SDK, snake_case)#
meet.whoami(); meet.rooms create list get update delete create_token check_token presence end eject mute mute_all message update_live; meet.sessions list get transcript(id, format="json"|"txt"|"vtt"|"srt", lang=) chat; meet.recordings list get start(room, video=) stop download_link delete; meet.webhooks list create get update delete test roll_secret deliveries list_events get_event redeliver and verify construct_event sign; meet.usage get(from_=, to=, granularity=) estimate.
- Lists return a
Page(.data,.has_more,.next_page()); iterating it walks every page. - Retries on 429 (honours
Retry-After), 5xx and network errors (max_retries=2, jittered backoff). POSTs carry anIdempotency-Key(fresh UUID, same across retries; passidempotency_key=to choose). Every method also takestimeout=andmax_retries=. - Errors:
MeetError(code,status,request_id,param,retry_after),MeetConnectionError,SignatureError,TokenError.
from respiresoft_meet import Meet, SignatureError
# FastAPI / Flask / Django: use the RAW body bytes
event = Meet.webhooks.construct_event(raw_body, headers["Meet-Signature"], WEBHOOK_SECRET) # raises SignatureError
claims = Meet.tokens.verify(token, jwks_url="https://meet.respiresoft.com/.well-known/meet-jwks.json", room="order-1042")
# offline: Meet.tokens.verify(token, jwks=jwks_dict)