pretalx-client¶
A typed Python client for the Pretalx REST API. No Django required.
pretalx-client talks to the Pretalx conference management
API and gives you back frozen dataclasses instead of nested dicts. It handles pagination,
multilingual field extraction, and the /talks/ vs /submissions/ endpoint
inconsistency so you don’t have to.
The package depends only on httpx. Install it anywhere Python runs.
from pretalx_client import PretalxClient
client = PretalxClient("pycon-us-2026", api_token="abc123")
for speaker in client.fetch_speakers():
print(f"{speaker.name} ({speaker.code})")
for talk in client.fetch_talks():
print(f"{talk.title} -- {talk.submission_type}")
Install the package and make your first API call in under a minute.
Complete autodoc reference for every public class, function, and module.
Three-layer design, adapter patterns, and the generated HTTP layer.
What It Does¶
Typed responses –
PretalxSpeaker,PretalxTalk,PretalxSlotfrozen dataclasses withfrom_api()constructorsAutomatic pagination – follows
nextlinks until all pages are collectedMultilingual fields – extracts the
envalue from Pretalx’s{"en": "...", "de": "..."}dictsEndpoint fallback – tries
/talks/first, falls back to/submissions/?state=confirmed+acceptedwhen the endpoint 404sID-to-name resolution – maps integer IDs for rooms, tracks, submission types, and tags to display names
Event discovery –
PretalxClient.fetch_events()lists all events visible to your tokenNo framework dependency – just
httpxunder the hood