django-program¶
Modern conference management for Django - registration, ticketing, Pretalx schedule sync, sponsors, and program activities.
django-program is a pluggable Django app for running conferences. It covers the full lifecycle: defining ticket types and add-ons, processing payments through Stripe, syncing speaker schedules from Pretalx, managing sponsors, and coordinating program activities like sprints, tutorials, and open spaces.
Built for PyCon US but designed to work for any conference that uses Django.
Install django-program and bootstrap your first conference from a TOML config file.
The TOML bootstrap schema and Django settings reference.
How the cart, checkout, and Stripe payment pipeline works end to end.
Speaker and schedule sync architecture, schema regeneration, and the pretalx-client package.
Travel grants, sprints, tutorials, open spaces, and activity signups.
Financial overview, voucher bulk generation, and organizer tools.
Autodoc reference for all public modules.
Key Features¶
Ticket Sales – Ticket types with availability windows, stock limits, per-user caps, and voucher-gated access
Cart & Checkout – Expiring carts, voucher discounts (percentage, fixed, comp), Stripe PaymentIntents confirmed via Stripe.js
Pretalx Sync – Typed HTTP client with automatic /talks/ fallback, multilingual field handling, and weekly drift detection
Sponsors – Sponsor levels, benefits, comp vouchers auto-generated on sponsor creation
Program Activities – Sprints, tutorials, open spaces with signup caps, waitlisting, and travel grants
Management Dashboard – Organizer-facing SSE-powered import/sync UI
TOML Bootstrap – Define an entire conference (sections, tickets, add-ons, sponsor levels) in a single file
Quick Start¶
uv add django-program
# settings.py
INSTALLED_APPS = [
...,
"django_program.conference",
"django_program.registration",
"django_program.pretalx",
"django_program.sponsors",
"django_program.programs",
"django_program.manage",
]
DJANGO_PROGRAM = {
"stripe": {
"secret_key": "sk_test_...",
"publishable_key": "pk_test_...",
"webhook_secret": "whsec_...",
},
"pretalx": {
"base_url": "https://pretalx.com",
"token": "your-api-token",
},
"currency": "USD",
"currency_symbol": "$",
}