Skip to main content

Wafer apps for DebConf

This package contains several Django apps used by the DebConf conference.

badges - Name tag generation

bursary - Bursary requests and review

debconf - Random bits and pieces

exports - CSV data exports for organisers

front_desk - Check-In

invoices - Paid Attendee Invoicing

register - Attendee Registration

volunteers - On-site volunteer wrangling

Configuration

Uses the following Django settings:

Invoicing

  • DEBCONF_INVOICE_ADDRESS: String. Postal address to issue invoices from.
  • DEBCONF_BILLING_CURRENCY_SYMBOL: String. The billing currency symbol. (e.g. $)
  • DEBCONF_BILLING_CURRENCY: String. The billing currency code. (e.g. USD)
  • DEBCONF_BURSARY_CURRENCY_SYMBOL: String. The bursary currency symbol. (e.g. $)
  • DEBCONF_BURSARY_CURRENCY: String. The bursary currency code (e.g. USD)
  • DEBCONF_LOCAL_CURRENCY_RATE: Decimal. The exchange rate. What does 1 DEBCONF_BILLING_CURRENCY buy in local currency.
  • DEBCONF_LOCAL_CURRENCY_SYMBOL: String. The local currency symbol.
  • DEBCONF_LOCAL_CURRENCY: String. The local currency code.
  • INVOICE_PREFIX: String. Prefix to invoice IDs.
  • PRICES: Dict of Dicts, with purchasable items and prices.
    • fee: Dict of conferences fees, each having a name and price.
    • meal: Dict of Dicts, (breakfast, lunch, dinner, conference_dinner):
      • Each having a price and optional name.
    • accomm: Dict of Dicts, (description (String), price (Decimal/int) per night, bursary (bool), paid_separately (bool), included_meals (set of strs), full (bool)) for each accommodation option. If an option has a price, it's for sale. If bursary, it'll be available for free for bursaried attendants. If full, it won't be able to be selected by anybody new.
    • daytrip: Dict of Dicts, (description (String), long_description (String), price (Decimal/int), capacity (int), closed (bool)) per option.
  • DAYTRIP_OPEN: Boolean. Close daytrip registration.
  • DAYTRIP_INSURANCE_OPEN: Boolean. Close daytrip insurance registration.
  • DAYTRIP_INSURANCE_REQUIRED: Boolean. Require daytrip registrations to register for insurance.
  • STRIPE_PUBLISHABLE_KEY: String. Stripe API Publishable Key.
  • STRIPE_SECRET_KEY: String. Stripe API Secret Key.
  • STRIPE_ENDPOINT_SECRET: String. Stripe Webhook endpoint secret.

Dates

  • DEBCONF_BURSARY_DEADLINE: Date. The date that bursaries need to be submitted by, AoE
  • DEBCONF_BURSARY_ACCEPTANCE_DEADLINE: Date. The date that all bursaries need to be accepted by, or the attendee will be issued an invoice.
  • DEBCONF_BURSARY_PARTIAL_CONTRIBUTION: Boolean. Request partial contributions for bursaries.
  • DEBCONF_CONFERENCE_DINNER_DAY: Date. The day that has the conference dinner.
  • DEBCONF_CONFIRMATION_DEADLINE: Date. The date that attendance needs to be confirmed by, AoE.
  • DEBCONF_DATES: List of (Description, Start Date, End Date) for the parts of the conference.
  • DEBCONF_SKIPPED_MEALS: List of (String: meal name, Date) of meals that will not be provided.
  • VOLUNTEERS_FIRST_DAY: Date. The first day of volunteering.
  • VOLUNTEERS_LAST_DAY: Date. The last day of volunteering.

Registration

  • BURSARIES_CLOSED: Boolean. Can bursary requests still be submitted.
  • DEBCONF_ACCOMMODATION_CLOSED: Boolean. Can accommodation requests still be submitted.
  • DEBCONF_BREAKFAST: Boolean. Is DebConf providing breakfast for attendees.
  • DEBCONF_BRUNCHES: List of dates that have brunch instead of breakfast and lunch.
  • DEBCONF_SHOE_SIZES: List of (Key, Description) for Shoe sizes.
  • DEBCONF_T_SHIRT_SIZES: List of (Key, Description) for T-Shirt sizes.
  • RECONFIRMATION: Boolean. Is there a reconfirmation round (set True once it has started).
  • DEBCONF_REVIEW_FREE_ATTENDEES: Boolean. Use the bursary system to review the attendance of free attendees too.
  • DEBCONF_COLLECT_AFFILIATION: Boolean. Ask attendees for their affiliation, for government sponsors.
  • DEBCONF_DEPARTURE_DAY: Boolean. Is there a departure day after the final conference day.
  • DEBCONF_DEPARTURE_TIME: time: The latest time that attendees can depart at.
  • DEBCONF_ORGA_EARLY_DAYS: int: Number of days early that orga are allowed to arrive.
  • DEBCONF_TSHIRT_SWAP_ON_OR_AFTER: Optional date, after which t-shirts may be swapped.
  • DEBCONF_LIMITED_BURSARIES: Boolean. Display a banner saying bursaries are limited this year, discouraging requests.
  • DEBCONF_BURSARY_BUDGETS: Dict of dicts for bursary budget options. Each key represents an option.
    • description: The user-facing description of the options.
    • required_fields: Optional list of fields to require input in. Can contain (contributions, diversity).
    • permissions: Optional list of permissions required to use this budget.
  • ZAMMAD_URL: URL of the Zammad instance.
  • ZAMMAD_TOKEN: Token for Zammad access.

MiniDebConf registration

  • MINIDEBCONF_REGISTER_PHONE: for minidebconfs, whether to ask for phone numbers upon registration. Values:
    • None - don't ask (default)
    • False - ask but not require
    • True - ask and require
  • MINIDEBCONF_REGISTER_BURSARY_CONTRIBUTORS_ONLY: boolean. Determines whether bursary (food, accomodation and travel) are only available to Debian contributors (and DMs/DDs). Defaults to False.
  • MINIDEBCONF_REGISTER_ARRANGED_ACCOMMODATION: boolean. Determines whether contributors can request to stay at the accomodation arranged by the orga team (default: False).
  • MINIDEBCONF_REGISTER_ACCOMMODATION_EARLIEST_CHECK_IN: date. The earliest possible check-in date. Defaults to the day before the beginning of the schedule.
  • MINIDEBCONF_REGISTER_ACCOMMODATION_LATEST_CHECK_OUT: date. The latest possible check-out date possible. Defaults to the day after the last day of the schedule. This date must be higher than the one in MINIDEBCONF_REGISTER_ACCOMMODATION_EARLIEST_CHECK_IN, otherwise strange things will happen.
  • MINIDEBCONF_REGISTER_ARRANGED_FOOD: boolean. Determines whether attendees can request to eat the meals arranged by the orga team (default: False).
  • MINIDEBCONF_REGISTER_TRAVEL_REIMBURSEMENT: whether contributores can request travel bursaries to the MiniDebConf (default: False).
  • MINIDEBCONF_REGISTER_DEFAULT_COUNTRY: string. Which country should be selected by default in MiniDebConf registration form (default: None)
  • MINIDEBCONF_REGISTER_BURSARY_INFO_PAGE: string. URL to a page with bursary information. If informed, will be linked from the MiniDebConf registration form (default: None)
  • MINIDEBCONF_REGISTER_SHIRT_INFO_PAGE: string. URL to a page with information about T-shirt sizes. If informed, will be linked from the MiniDebConf registration form (default: None)
  • MINIDEBCONF_REGISTER_PAYMENT_CODE: boolean. whether to display a field to collect payment code (default: False)
  • MINIDEBCONF_REGISTER_PAYMENT_CODE_LABEL: string. Text to be used as label for the payment code field, if enabled. (default: None)

Content

  • TRACKS_FILE: String. path to a YAML file with the list of tracks to be loadede into the database
  • TALK_TYPES_FILE: String. path to a YAML file with the list of talk types to be loaded into the database
  • DEBCONF_TALK_PROVISION_URLS: Dictionary of {Key: {pattern: String, private: Boolean}} for online services to generate links for. Format string parameters available: id, slug, secret16).

Misc

  • DEBCONF_CITY: String. The name of the city hosting DebConf.
  • DEBCONF_NAME: String. The name of the Debconf (e.g. "DebConf XX").
  • DCSCHEDULE_TOKEN: String. Authentication token for the DCSchedule IRC bot to hit the API.
  • SANDBOX: Boolean. Is this a development instance or production.
  • ISSUE_KSP_ID: Boolean. Is the key-signing sign-up still open?

Streaming

  • DEBCONF_VENUE_STREAM_HLS_URL: String. URL to the HLS stream. {name}, if present, is replaced with with the venue name in lower case and with all sequences of non-alphanumeric characters replaced with a "-". Examples:
    • Fixed URL: "https://foo.bar/stream.m3u8" (good enough for single-venue conferences.)
    • Per-venue URL: "https://foo.bar/stream/{name}.m3u8" becomes "https://foo.bar/stream/my-venue.m3u8"
  • DEBCONF_VENUE_STREAM_RTMP_URL String. URL to the RTMP stream. {name} is substituted as with DEBCONF_VENUE_STREAM_HLS_URL; {quality} is replaced with the quality (src, high, mid, low). Examples:
    • Fixed URL: "rtmp://foo.bar/stream" (for single-venue conferences)
    • Per-venue URL: "rtmp://foo.bar/stream/{name}_{quality}" becomes "rtmp://foo.bar/stream/my-venue_high" ("high" quality stream for "My Venue")
  • DEBCONF_VENUE_SLUGS: Dictionary mapping venue IDs to override slugs.
  • DEBCONF_VENUE_IRC_CHANNELS: List of strings. List of channels to join for each venue; {name} is replaced as above. Examples:
    • Single-channel conference: ["#conference"]
    • Multi-venue conference: ["#thatconf2020-{name}", "#thatconf2020"] becomes ["#thatconf2020-my-venue", "#thatconf2020"]

Stripe Payments

First, configure the STRIPE_PUBLISHABLE_KEY and STRIPE_SECRET_KEY settings, with the API keys from the Stripe dashboard.

To receive payment confirmation from Stripe, we need to receive a webhook from them.

For local development, you can receive this with the stripe CLI:

$ stripe login
...
$ stripe listen --forward-to http://127.0.0.1:8000/invoices/stripe-webhook/
> Ready! Your webhook signing secret is whsec_I_AM_A_SECRET_KEY (^C to quit)

Configure STRIPE_ENDPOINT_SECRET with the secret key provided by stripe-cli listen.

For production use, configure a webhook in the Stripe dashboard. The endpoint should be https://my.debconf/invoices/stripe-webhook/. Listen for charge.dispute.created, charge.refunded, and payment_intent.succeeded. Again, STRIPE_ENDPOINT_SECRET should be configured to the webhook's signing secret.

Metadata

Release files for wafer-debconf 0.20.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for wafer-debconf 0.20.0
File Size Uploaded
wafer_debconf-0.20.0.tar.gz 4.5 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for wafer-debconf 0.20.0
File Interpreter ABI Platform
wafer_debconf-0.20.0-py3-none-any.whl Python 3 none any Details

Total release size: 9.5 MB

Release files / wafer_debconf-0.20.0.tar.gz

Download URL wafer_debconf-0.20.0.tar.gz
Size 4.5 MB
Tags Source
SHA-256 checksum
How to use checksums
790d80c8169fece85492d229f6841c62cacb3c4fdc2e7a22f845036bc444acf4
BLAKE2b-256 checksum
How to use checksums
64a8f1cd9c54ac99a2b90759a833cebdf67bc3fc2c29405b694c33a9e3379cb1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.8

Release files / wafer_debconf-0.20.0-py3-none-any.whl

Download URL wafer_debconf-0.20.0-py3-none-any.whl
Size 5.0 MB
Tags Python 3
SHA-256 checksum
How to use checksums
d8e851da6c50dd45cb4d053a9b24ef058b049db58a297b71e7cc6eb08575fe1f
BLAKE2b-256 checksum
How to use checksums
efc494c984fad8b55e8ffb5dc2efdfdfcb9c9f15f10f089f029e698e5d6e6bd2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.8

Release history Release notifications | RSS feed

This release

0.20.0 This release

2 release files

0.19.8

2 release files

0.19.7

2 release files

0.19.6

2 release files

0.19.3

2 release files

0.19.2

2 release files

0.19.1

2 release files

0.19.0

2 release files

0.18.2

2 release files

0.18.1

2 release files

0.18.0

2 release files

0.17.5

2 release files

0.17.4

2 release files

0.17.3

2 release files

0.17.2

2 release files

0.17.1

2 release files

0.17.0

2 release files

0.16.9

2 release files

0.16.7

2 release files

0.16.6

2 release files

0.16.5

2 release files

0.16.4

2 release files

0.16.3

2 release files

0.16.2

2 release files

0.16.1

2 release files

0.16.0

2 release files

0.15.7

2 release files

0.15.6

2 release files

0.15.5

2 release files

0.15.4

2 release files

0.15.3

2 release files

0.15.2

2 release files

0.15.0

2 release files

0.14.0

2 release files

0.13.2

2 release files

0.13.1

2 release files

0.13.0

2 release files

0.12.0

2 release files

0.11.9

2 release files

0.11.8

2 release files

0.11.7

2 release files

0.11.6

2 release files

0.11.5

2 release files

0.11.4

2 release files

0.11.3

2 release files

0.11.2

2 release files

0.11.1

2 release files

0.11

2 release files

0.10.2

2 release files

0.10.1

2 release files

0.10

2 release files

0.9

2 release files

0.8

2 release files

0.7.1

2 release files

0.7

2 release files

0.6.10

2 release files

0.6.9

2 release files

0.6.8

2 release files

0.6.7

2 release files

0.6.6

2 release files

0.6.5

2 release files

0.6.4

2 release files

0.6.3

2 release files

0.6.2

2 release files

0.6.1

2 release files

0.6.0

2 release files

0.5.3

2 release files

0.5.2

2 release files

0.5.1

2 release files

0.5.0

2 release files

0.4.0

2 release files

0.3.20

2 release files

0.3.18

2 release files

0.3.17

2 release files

0.3.13

2 release files

0.3.12

2 release files

0.3.11

2 release files

0.3.10

2 release files

0.3.9

2 release files

0.3.8

2 release files

0.3.7

2 release files

0.3.6

2 release files

0.3.5

2 release files

0.3.4

2 release files

0.3.3

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.22

2 release files

0.1.20

2 release files

0.1.19

2 release files

0.1.18

2 release files

0.1.17

2 release files

0.1.16

2 release files

0.1.15

2 release files

0.1.14

2 release files

0.1.13

2 release files

0.1.12

2 release files

0.1.10

2 release files

0.1.9

2 release files

0.1.8

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page