PyCon Pittsburgh. April 15-23, 2020.

Proposing a Tutorial

PyCon US 2020 Tutorials CFP will be open September 12 to November 22, 2019!

Remaining timeline:
  • November 22, 2019 — Our Call For Proposals closes.
  • January 2020 — We send acceptance and rejection emails.
  • February 2020 — The schedule is posted here on the web site.
  • April 15-16, 2020 — The tutorials are all presented at PyCon 2020.
  • May 2020 — All tutorials that were recorded should appear online.

To learn the mechanics of submitting a proposal, visit the main Speaking page.

We’ve provided some examples of tutorial proposals we’ve loved in the past. Please note that guidelines have changed since these samples were submitted.

Do you think that you would be able to assemble 3 hours of material and lead a classroom full of PyCon attendees through learning a new skill, library, or technology? Then you might want to apply to be one of our tutorial instructors for PyCon 2019! PyCon 2020 tutorials will be held April 15-16, 2020 at the David L Lawrence Convention Center in Pittsburgh, PA.

As you think about your experiences, skills, and knowledge, here are some links that might help you get started in thinking about the expertise that you could bring for the benefit of the conference:


What information to submit

  1. First,sign up for a new account .
  2. Once you are logged in proceed to your account dashboard and create a speaker profile.
  3. At this point, you can submit tutorials, fill in the fields as follows:


Give your tutorial a name that accurately describes the tutorial’s focus to potential students.


A high-level description of the tutorial, limited to ~400 characters. The description is used to describe your tutorial online should it be selected. So we ask that you make it brief.


At what level of Python and other topic-specific experience or expertise is the tutorial aiming for?

‘Advanced’, ‘Intermediate’, and ‘Beginner’ mean something different to everyone. Feel free to include additional detail regarding the sort of background expected, as well as who may benefit. Reviewers need to know what level of Python experience is targeted and also what level(s) of domain-specific expertise is targeted, for example networking, SQL, database, etc. See our sample tutorial proposals for details.


Please describe what portion of the tutorial you plan to spend on student exercises, lecture, or other activities. We don’t want precision: we just want to know what teaching tools you’ll use, and how interactive your tutorial will be. If you want to describe this via other means, feel free.

NOTE: In past years, we instead requested submitters categorize their tutorials as ‘labs’, ‘workshops’, or ‘lectures’, but found everyone’s definition of those terms varied.


Your outline should list the topics and activities you will guide your students through during your 3 hour tutorial. You may wish to consult the markdown guide for styling. Please err on the side of ‘too much detail’ rather than ‘not enough’.

You should also include timing notes, estimating what portion of your tutorial you’ll devote to each major topic (usually there are 2-5 of those).

The outline will not be shared with conference attendees.

What should my timing notes look like? How precise do I need to be?

We request you provide a rough estimate of how much time (or percentage of the talk) you’ll dedicate to each major topic (not subtopics). We recommend these timings be no more precise than 30-minute increments, but we’ll allow some leeway. Please don’t give your timings down to the minute!

Alternatively, you are welcome to provide the portion of time you expect to spend on each major topic. Please indicate whether you are using percentages or minutes.

Why an outline with timings?

We want to assess what topics the tutorial will focus most on, as well as the level of student the course is appropriate for. For example, a course that spends 2.5 hours on simple concepts and ends with a brief tour of advanced features is more appropriate for a beginner audience than one with the opposite structure.

We hope these timings will help first-time tutorial presenters think about their material: can their planned material realistically presented in the time allotted and in the depth they want.

We don’t want you to rehearse the entire tutorial ahead of time. We hope, however, that these outline and timing notes will inform your decision on what is reasonable and inform us regarding what your tutorial will be like. It’s fine if these timings change when you give the tutorial. We just want to see where the focus will be.

Past Experience

Please summarize your teaching or public speaking experience, as well as your experience with the subject of the tutorial.

Tell us what experience you have in the subject, in activities such as teaching or public speaking, or anything else that would help us understand and gauge your abilities as a tutorial presenter. If possible, include a link to a video and slides from the tutorial itself (if it’s been presented before), or of other material you have presented in the past.

This section is for the reviewers’ benefit only and will not be published in the PyCon guide.


Let us know if you have specific needs or special requests — for example, requests that involve accessibility, audio, or restrictions on when your talk can be scheduled.

We’re considering making tutorial assistants available to instructors. These would be volunteers with Python experience who will provide one-on-one help during the tutorial when students are working on exercises. If we do this, would you be interested and if so how many students per assistant would you want?

Known Conflicts
Please note that the education summit occurs on April 16 (conflicting with the second day of tutorials). We have a list of potentially conflicting holidays here.

We will accommodate disability-related needs whenever possible, and the merit of your tutorial will be judged independently from any request made here. This section will not be visible to attendees.

Miscellaneous Notes About Proposals and Tutorials

Here are some notes about the proposal, selection, and delivery process for tutorials.


Q: What can I do to increase the likelihood my tutorial is accepted?

Things we like to see include:

We’ve provided some examples of tutorial proposals we’ve loved in the past.

Please note that even if your tutorial is excellent, there’s no guarantee that it will be accepted. The tutorial selection process attempts to choose a good variety of tutorial topics and levels that will be in demand, i.e., it doesn’t just select the best proposals!

Q: What should I avoid in my tutorial proposal?

Your tutorial is less likely to be approved if it includes:

We will not accept any tutorial that violates the code of conduct.

Q: Who should apply?

While we don’t speak in absolutes, we’d like to see that presenters have experience with teaching, public speaking, or both. This assures us that you’re prepared to deliver what you’ve promised and understand the work going in. If you’ve never engaged in teaching or public speaking, we encourage you to gain more experience first. For example, you can submit talks (rather than tutorials) or teach with local usergroups.

Q: Is there an honorarium? If so, why?

Tutorials require significantly more preparation than talks. To compensate the instructor(s) for the time they must take away from work or other activities, we provide a $1,500 honorarium per tutorial.

We will need to collect a W9 form from US tax payers.
If you are a non-US tax payer, you will need to fill out a W8BEN form.

Q: Help! I’m traveling from another country without a work visa, and cannot accept the stipend.

We understand that without a work visa, many of our international applicants may be unable to accept the stipend. Unfortunately, we can’t get you a work visa. However, our financial aid application is open to all. If you can accept financial aid, we encourage you to apply to help cover the cost of attending.

Q: How else can I help with tutorials?

Questions or Suggestions

If you have questions about any of this, or suggestions, please contact us at: