How to Propose a Talk?

For general proposal calling information, see Call for Proposals.

First of all, thank you for contributing to PyCon Taiwan! The following will help you submit a successful proposal. In the following, we are going to provide you the tips to make your proposal strong and informative and get the best chance of acceptance.

  • What’s your topic?
  • Who is your target audience?
  • What will the audience gain after your talk?
  • How will you organize your time slot?

You will be asked to fill the following fields in your proposal:

  • Title
  • Category
  • Duration
  • Language
  • Abstract
  • Python Level
  • Objectives
  • Detailed Description (optional)
  • Outline (optional)
  • Supplementary (optional)
  • Recording Policy
  • Slide Link (optional)

Hmmm, that is a lot. Well, if you skip all optional fields, it would only take you about 500 characters. But we encourage you to fill most of the fields to help reviewers understand your proposal.

Some of the fields are for reviewers only, so don’t worry about spoilers:

  • Objectives
  • Outline
  • Supplementary

If you are a very experienced speaker, you can directly enter the My PyCon page to propose!

Next, we will give more detailed advice on each aspect.

Topics and General Advice

To pick a topic that suits PyCon Taiwan, you can first find out what accepted talks are about from the previous PyCons:

Good Ideas

  • The abstract or detail description should include but not limited to:
    • Who is the intended audience?
    • What should they know before the talk?
    • Is there any special domain knowledge required?
    • What will they get after my talk?
  • The abstract and the content are as close as possible to the title.
  • Content must be original. Should let the audience and reviewer understand which part is original content in your proposal.
  • Enumerate each of your talk section in outline with estimated time length.
  • If your topic is not that familiar to normal Pythonistas, make sure you provide sufficient information through links of blog posts, wiki, source codes, or materials that help the understanding of your content.

Bad Ideas

  • Avoid infomercials.
    • Try not to merely sell your products or introduce how to use them in your talk. However, we do welcome talks about how your company solves the problem or your open source project that can benefit the general attendees.
  • Don’t assume everyone in the review committee knows you. Please always submit a full proposal.
  • Avoiding plagiarism. We welcome all forms of sharing, but it should be clear which sections are original and which are the citation of previous work.

How to Choose the Python Level?

It is very important for you to choose an appropriate Python level.

Your talk won’t be simply accepted because it is either super hard or deadly simple. The acceptance correlates with the specified Python level and your targeted audience.

If your talk is for Python first-timers and it is about your Python learning experience and how you solve some tricky issues you face. This is a proper proposal. If your talk is about inspecting the Python memory usage and coordinating two GC systems together with reusing pointers, and you specify your talk as being novice or intermediate, it is not a good idea.

For the extreme conditions (like topics above), it will be easy to decide. But topics lie somewhere in between are not. Therefore, there are more descriptions below to help you find the proper level.


People who have little to none Python knowledge. One can expect them to have basic knowledge about Python syntax and control flow (e.g. if-else, for loops; functions), but the audience does not understand every module in stdlib, nor the concepts of tricky variables visible scope and OOP (and MRO inheritance).

Sharing your experience learning Python, leading a community perfectly fits in this level. Generally, a talk about non-builtin Python packages, say pandas and Django, is not a novice talk. Unless people can actually learn all the content you give right after your talk.


The possible applications are more diverse than novice talks. Intermediate talks are for those who just learned how Python works and wish to know more about how it can be used in different tasks. The talk topic can be about setting up web frameworks, talking to databases, monitoring web traffic, auto trading in the stock market and so on.

From previous submissions over the past few years, around half of the talks should fall into this category. Note that we may contact you to adjust your talk to be novice or experienced based on your proposal.


People coming to experienced talks should have a good proficiency in Python (or programming).

The main difference between intermediate and experienced talks is that experienced talks assume more domain knowledge about the talk topic. For example, talks about optimization and tool’s internals should be at this level.