This manual provides guidance on organizing Python Pizza, sharing what worked for us and offering tips on how you might approach it. However, you donโt need to follow our steps exactlyโfeel free to be creative!
Since this documentation is open-source, we welcome all contributions or improvements.
Before announcing your event, there are a few key things to figure out:
There is a Github Organisation and a Discord server.
If you need an invitation, reach out to any of the current or previous organizers.
Build a team of ideally 3-5 people. Donโt do it alone.
Pizza is the second most important thing in the Python Pizza event.
Make sure to:
If youโre organizing a whole-day event, keep in mind you will also need tea, coffee, water and other beverages.
You probably also want some snacks for coffee breaks.
Make sure to not collide with any other nearby events. Check python.org events calendar https://www.python.org/events/ and python organizers calendar: https://github.com/python-organizers/conferences also local meetups, etc.
Python Pizza works very well as a 1-day Saturday event.
Another good option is to organize a half-a-day evening event.
The easiest way to secure funding is by reaching out to sponsors of local Python events, like PyCon, PyData, meetups, or similar gatherings.
Here are some ideas for what you can offer sponsors in return:
Every situation is different. Please consult with local lawyers and relevant organizations.
In general we recommend having a local Python NGO to handle all the paperwork with sponsors and venues.
More details in the Legal section below.
In addition to commercial sponsors, consider applying for grants from the EuroPython Society (EPS) or the Python Software Foundation (PSF). For the PSF, youโll need to have your event schedule finalized, and should apply at least 8 weeks in advance.
When planning a Python Pizza event, youโll need to figure out if it will be free or paid.
You donโt have to worry about the ticket price just yet, but itโs important to know which legal entity will be responsible for selling the tickets.
When choosing a venue, make sure it:
There are no restrictions on the type of venueโyou can choose a company office, a co-working space, or a local university, whatever works best for your event.
You will need some way to communicate with the participants, sponsors, etc.
One of the ways to do it is to create a shared account on gmail.
For example for Prague Python Pizza we used [email protected]. This account also owned all the documents on google drive.
In the future we would like to use official @python.pizza emails, however there is no python.pizza Google Workspace organization (yet).
All python pizza websites use the python.pizza domain with this format: https://<city>.python.pizza
To have your city added, simply ask in the #random channel in Discord.
Next, youโll need to create a repository. All Python Pizza source code is hosted on GitHub under the โPython Pizzaโ organization.
https://github.com/pythonpizza
To be added to the organization, request access in the same #random channel.
You can start by using one of the templates or duplicating one of the previous websites.
All previous websites are written in React, however there is also a jinja-based version in development.
Finally, update the main Python Pizza page with information about your event.
You can find an example of a merge request (MR) here: https://github.com/pythonpizza/python.pizza/pull/842/files
Make sure any photos you use are copyright-free. Unsplash https://unsplash.com/ is a good source for such images.
Weโve created a template folder with various templates, so you donโt reinvent the wheel. The folder is read-only, so please duplicate it and use whatever you need.
Link: https://drive.google.com/drive/folders/1c4U3Wn0A6dbhFZND8L54-BcKLDCo3Z-Z
We recommend visualizing all upcoming tasks to ensure you have enough time for everything. To help with this, weโve prepared a template spreadsheet that you can duplicate and customize to fit your needs. Itโs in the folder under the name โplan templateโ.
For your timeline, ensure that your Call for Proposals (CfP) is open long enough. If youโre applying for funds from the PSF, your event schedule should be finalized at least 2 months in advance. The template includes a โtimelineโ tab where you can adjust the dates, and the timeline will automatically update.
First rule of budget: Make sure that your income is higher than your expenses. ๐
Your biggest expenses will likely include:
Most of your income will likely come from sponsors, with some additional funds from ticket sales.
Sponsors can also donate venue space, catering, etc.
To give you some context about the budget: the total income of Prague Python Pizza 2024 was ~90K CZK, and total expenses were ~75K.
In the Czech Republic, Pyvec is your friend. For details please see: https://docs.pyvec.org/operations/runbooks.html#jak-si-nechat-neco-proplatit
Code of Conduct is mandatory for all Python Pizza event
You can reuse Prague Python Pizza CoC: https://prague.python.pizza/#coc
Python Pizza events usually consist of 10 minute long talks with ~2 minute breaks in between. The talks are grouped in 2-3 blocks, with longer breaks between them.
Keynote talks are typically longer than other sessions. For keynote speakers coming from abroad, itโs common to offer reimbursement for travel and accommodation if you have the budget.
Announcing Keynote Speakers early can help your CFP and ticket sales.
We recommend using a Google Form to manage submissionsโitโs easy to set up and track. After duplicating the form template, make sure to link it to your own spreadsheet.
CFP is a very deadline-driven activity, so expect most of the proposals to show up last minute.
Make sure to advertise the deadlines.
Once the CfP closes, go to the โProgramme Votingโ tab in the โplan templateโ spreadsheet. Copy all the data and have each committee member (in our case, all the organizers) rate the talks using the following scale:
The Call for Proposals ran for 47 days, with a 45% acceptance rate. Most proposals arrived on the last day.
The CFP Closed roughly two months before the event.
The programme was announced shortly after the CFP finished, around the same time we opened the ticket sales.
Once youโve selected the talks, copy them to the โAccepted Talksโ tab. This tab will serve as your central hub for all the necessary speaker information. At this point, youโll need to send out two emails:
Both templates are in the โSpeaker Communicationโ document: https://docs.google.com/document/d/1hlo_L0Ty1eVrfo6VhrGV-upqTu8Xjh4-Lk6Qe_9XPkA.
Columns Legend:
After a few days, youโll start receiving confirmations.
Have a few backup speakers, as cancellations can happen at the last minute.
For backup speakers, you can use the template under the name โFor waitlistโ.
Youโll need an MC to moderate the event. Instruct the MC to stop speakers if they go over their allotted 10 minutes. While we didnโt have any issues with speakers running over time, itโs good to be prepared. For speakers with demos, arrange for them to test their setups during lunch or coffee breaks.
We also asked all speakers to send us their slides in advance. To streamline the process, we used a single computer for all presentations, ensuring smooth transitions. Allow two minutes between each speaker for setup.
You can (manually) export the data to the JSON schema supported by the website. See this PR for inspiration: https://github.com/pythonpizza/prague.python.pizza/pull/12/files
Python Pizza doesnโt have a centralized newsletter. For the Prague Python Pizza edition 2024, we collected emails from those interested in updates.
We sent them two reminders:
If youโd like to send reminders, youโll need to collect the emails again and ensure users accept the privacy policy.
We use three social media platforms for all communication:
In order to receive access to these accounts, ask on Discord.
For social media posts we have templates in Canva. In order to use it, please duplicate the design and fill in templates as needed.
Link to templates: https://www.canva.com/design/DAGPavfLrtQ/fZPjwfF7Bi7UCh-6OFyStw/edit
In the template spreadsheet, thereโs a โmediaโ tab with a table that includes example announcements. You can choose the platform, set start and end dates, assign a responsible person, and check the โdoneโ box once itโs published.
For ticket sales, we used Pretix through the Pyvec account.
We did issue a few refunds, but keep in mind that refunds sometimes come with additional fees.
Before the event, itโs important to send attendees essential information. The template that we usd in named โParticipant email for on-site participantsโ: https://docs.google.com/document/d/1hlo_L0Ty1eVrfo6VhrGV-upqTu8Xjh4-Lk6Qe_9XPkA
If you plan to stream the event, youโll need a platform for participants to communicate with you.
Setting up a Discord server is a straightforward option. Thereโs already a participant server for some past Python Pizza events, so youโll just need to add a new channel for your event.
Streaming well is harder than it sounds.
Audio in particular is hard to do well.
Consult your local streaming professional.
There are a few things to do after the event is finished.