24 Apr - 14 Aug, 2020 Schedule Published

Welcome to PyCon India 2020 CFP

The major change this year is the online format of the Conference.

There are 2 categories of Proposals - Talks and Workshops. You can select the category from the 'Proposal Type' Dropdown in the Proposal Submission Page. Here is a brief overview of both Categories.


Technical talks are the most important event at PyCon India, the core of the conference essentially. Two of the four days are dedicated to talks. Talks are short lectures (25 min slot) supported by a presentation. Speakers come from the Python community.

This year we have introduced a preview video section where you need to add a short preview video mentioning the overview of the Talk. To know read the CFP announcement blog post

Talks are selected through a CFP (Call For Proposals) process. Interested members of the community propose their talks. An editorial panel designated by the organisers makes the selections. The 2019 edition of the conference saw some 303 proposals, of which 36 were selected.

CFP applications from the previous years can be seen here.

Important Points

  • There are three parallel tracks
  • Talk duration is __30__ mins (25 mins for the talk, 5 mins - Q&A)
  • CFP closes on 14th August 2020
  • Schedule shall be released on 1st September 2020
  • Talks will be presented on 2nd and 3rd October 2020


Workshops are an important part of the PyCon India. Hands on learning is as important as talks for a fulfilling conference experience. Like talks, workshops are also conducted by the members of the Python community.

Anyone can propose for conducting a workshop. Any topic of interest to the Python community is okay - the workshop should help attendees learn a new skill, technology or library. To get a sense of the topics from last year, take a look here.

In the CFP proposal, please mention an outline of the workshop and the prerequisites. And the slides if possible. Also mention if you have conducted the same workshop before.

The workshop should be interspersed with proper hands-on exercises. After the workshop people should be ramped up on the workshop topic, and should be able to take it forward themselves.

To know about Best practices please check the Workshop Proposal Announcement blog post.

Important Points

  • Workshop duration is 2.5 hours (A small break in between as planned by the speaker)
  • CFP closes on 31st August 2020
  • Schedule shall be released on 15th September 2020
  • Workshops will be conducted on 4th October 2020

What to Propose

Anything of interest to Python programmers is welcome. However, there are a few topics that we feel might be great -

  • Lessons from using Python in your project. Did you find something against conventional wisdom? Something confirming conventional wisdom ? Do you have advise for people solving similar problems? Example - I tried Python for video processing, or in my medical imaging project, and here are the lessons.
  • Something you're doing to make the language/ecosystem better. Writing a library to solve an interesting problem ? Or have some new ideas on optimisation.
  • Something you learned from a different language that may be useful to Python community. How about a type system? Or patterns from functional programming. Or logic programming maybe?
  • Thoughts on tech culture and living. Ideas on improving diversity and inclusiveness. On programmers’ physical and mental health. On getting better at productivity. On workplace issues. Anything that can make an impact, especially if you have used Python for any of the above or have seen someone using Python.

And if you don't get any ideas along these lines, try plain and simple teaching. Pick up an niche topic (maybe a recent technology, or a scientific paper), and help us learn. A well delivered lecture even at a beginner level is often well received.

The Review Process

  • Authors should propose their talks using the CFP application
  • CFP volunteers review the proposals for completeness
  • Once the proposals are ready, they are be reviewed by a panel of experts
  • If the proposal does not look complete, or the reviewers need clarifications, the author is notified via comments
  • The panel of experts finally vote on the proposals
  • A pre-final shortlist is eventually prepared based on the votes
  • The shortlisted proposals go through a round of rehearsals (more details in section below)
  • A final list is created and published.


Shortlisted speakers will be expected to participate in rehearsal sessions. Rehearsals will be done via teleconferencing, where the speaker shall give a mock run of their talks in a time-bound manner. The audience will consist of volunteers, reviewers and possibly other speakers. The speakers will be given feedback if necessary.

The point of this exercise is to make sure speakers are ready with their talks ahead of time. And also, to make sure they can finish the talk in the stipulated time. It is useful for the speakers too as they'd get feedback on the content delivery and presentation.

Participation in the rehearsal sessions is likely to be a required step - chances of an unrehearsed talk making it to the final stage are substantially lower.


We in the Python community believe in making our community more diverse. This means we are encouraging content from diverse walks of life. This also means we want to improve participation from under-represented groups.

Our goal is to maximise content from under-represented groups. You can help us by encouraging your friends, family and colleagues to submit talks. You can also help by mentoring.

Also note that we have a strict code-of-conduct. This is to make it clear, in intent and practice, that we are committed to making the conference a pleasant, welcoming and harassment free experience for everyone, especially for under-represented groups.

Best Practices for Speakers

1. Apply

Even if you have a vague idea, submit a proposal. We're available for help with ideas and feedback (contact information is in the section below). Don't worry about communication skills or English - we are there to help with that too. And our focus is more on the content.

2. Make it detailed

Add as much detail as possible to the proposal. Add the presentation slides if you already have one. Add a short minute video giving a summary of the proposal. More detail helps reviewers make better judgement.

3. Propose early

We will start the review process as the proposals come in, and not at the end. Proposals submitted early will get more attention and feedback

4. The code of conduct

Take a look at the code of conduct, and be mindful of it. The gist is, be nice and avoid using sexist language.

5. Add a preview video

Add a small intro video about what your talk is about to provide a preview to what's to be expected.

We've put together a set of detailed best practices - take a look. It also contains links to some well written proposals from previous years.

Questions and Discussions

Ping us on Zulip or IRC (#pyconindia) Or contact the coordinators through email:

Anirudha - anirudhastark@gmail.com

Ritesh - udr.ritesh@gmail.com

The team: cfp@in.pycon.org

Proposal Sections

  1. Decentralised and Distributed Technology - Blockchain, Tangle or any DLT protocol or infrastructure related product.
  2. Others - Everything else that may be of interest to the audience.
  3. Desktop Applications - Qt, GTK+, Tkinter, Gnome, KDE, Accessibility
  4. Scientific Computing - Python usage in scientific computing and research. GIS, Mathematics, Simulations
  5. Game Design and 3D Modelling - Python in developing games, 3-D modelling and animation
  6. Culture and society - Diversity, health, productivity, workspace issues, privacy, community building, coding for causes
  7. Embedded Python and IOT - MicroPython, Python on Hardware, Robotics, Arduino and Raspberry Pi
  8. Networking and Security - Network Programming, Network Security and Encryption
  9. Web development - Web, Apis, Microservices
  10. Developer tools and automation - Testing, CI/CD, Containers, Orchestration, Logging and Monitoring
  11. Data Science, Machine Learning and AI
  12. Core Python - Language Features, Python Implementations, Extending Python and Standard Library, language internals.

Proposal Types

  1. Talks
  2. Workshop

List of Proposals

2 10

1. Static Typing in Python

Sanchit Balchandani (~sanchit3) 25 Apr, 2020

1 6

2. Memory Management in Python

Jatin Goel (~jatin15) 25 Apr, 2020

0 6

3. Writing your own container in Python!

Shubham Sharma (~shubham1172) 25 Apr, 2020

4 2

4. The Hitchhiker's Guide to CLIs in Python

Vinayak Mehta (~vinayak-mehta) 25 Apr, 2020

1 2

6. How to double your productivity as a developer

Karthikeyan Vk (~karthikeyan76) 29 Apr, 2020

3 2

9. Indian Sign Language Recognition(ISLAR)

Akshay Bahadur (~akshaybahadur21) 01 May, 2020

1 3

10. Breaking the Black-box

uday kiran reddy kondreddy (~udaykiranreddykondreddy) 01 May, 2020

0 2

11. What happens behind execution of an `import` statement?

Shivashis Padhi (~shivashis) 02 May, 2020

0 0

12. Docker-compose for Pythonistas

onlinejudge95 04 May, 2020

0 1

13. Measuring the software project's health with Quality Models

Venu Vardhan Reddy Tekula (~vchrombie) 09 May, 2020

2 1

14. Machines with Power of Imagination

Utkarsh Mishra (~utkarsh13) 10 May, 2020

1 2

15. Deal Enterprise Cloud with Python

Wriju - Personal (~wrijugh) 10 May, 2020

2 1

22. Introduction to NLP with BERT

Milind Thombre (~thombrem) 30 May, 2020

1 13

25. Hands on Python

@coderoflagos 01 Jun, 2020

1 4

29. Security in Flask

Dhinesh (~dini-rockz93) 07 Jun, 2020

1 4

30. Beyond Unit Testing for Data Intensive Apps

אייל טרבלסי (~eyaltrabelsi) 08 Jun, 2020

1 4

31. Practical Performance Optimisation for Pandas

אייל טרבלסי (~eyaltrabelsi) 08 Jun, 2020

1 0

34. NLP Applications Crash Course

Dipanjan Sarkar (~dipanjan) 09 Jun, 2020

4 2

36. Effective Development Patterns for Micro-services

Prashanth Raghu (~prashanthraghu2) 09 Jun, 2020

0 2

38. The website story

arjoonn sharma (~theSage21) 10 Jun, 2020

1 1

41. Data Visualization with python

ravindra raut (~ravindra48) 15 Jun, 2020

3 1

42. Tricks to Optimise Numerical Code

Kousik Krishnan (~kousik) 15 Jun, 2020

0 12

43. Let's Make Tetris with Pygame!

Aditya Abhiram (~Aa20475) 17 Jun, 2020

1 2

44. Flask Modular Flow: Going Beyond The Factory

Abdur-Rahmaan Janhangeer (~Abdur-rahmaanJ) 19 Jun, 2020

0 2

46. Python Emergency Remote Teaching

Fernando Masanori Ashikaga (~fernando_masanori) 19 Jun, 2020

0 2

47. Build an automated trading BOT for Indian Stock Market

Yatin Chaubal (~yatin09) 19 Jun, 2020

4 3

50. Static Typing in Python

Shubhi Khanna (~shubhi09) 22 Jun, 2020

0 2

53. Build plugins using Pluggy

Kracekumar Ramaraju (~kracekumar) 24 Jun, 2020

0 15

54. Automatically Refactoring Python Code

Ganesh Samarthyam (~ganesh71) 25 Jun, 2020

0 1

57. Transfer Learning with Tensorflow 2.0

Joinal Ahmed Borbhuiya (~joinalahmed) 26 Jun, 2020

1 2

61. Concurrency in Python : from Beginner to Pro

Prakhar Agarwal (~prakhar-agarwal) 27 Jun, 2020

0 1

66. Interactive ATM Analytics using Dash

pgovindaraju 29 Jun, 2020

0 22

68. Testing in Production

Talia Nassi (~talia) 30 Jun, 2020

0 1

71. Distributed Training with PyTorch

Shagun Sodhani (~shagunsodhani) 05 Jul, 2020

1 2

72. Time and Space Complexity in Python

Yogendra Singh (~yogendra35) 06 Jul, 2020

2 0

78. Hands on Pandas session

Aarthi_Kalyanasundaram 13 Jul, 2020

3 0

79. Creating new worlds in Minecraft

Anand S (~anand40) 13 Jul, 2020

0 0

82. Python and `cffi` - Visualizing Network Traces

Abhijit Gadgil (~gabhijit) 14 Jul, 2020

1 1

85. The Curious Case of RegEx

Divya Mohan (~divya78) 17 Jul, 2020

0 3

86. Programming for Accessibility

Rory Preddy (~rory) 19 Jul, 2020

0 -1

89. Demystifying PIP and Conda by visualizing the work environment

Vijay Sajjanar (~vijay125) 20 Jul, 2020

0 1

91. Best Debugging Practices in Python

Mohammed Mohsin (~mohammed43) 21 Jul, 2020

1 0

93. Simple InProcess APM

Abhishek Dutta (~codejunction) 23 Jul, 2020

0 0

94. Concurrency and Distributed Processing

Abhishek Dutta (~codejunction) 23 Jul, 2020

1 2

96. Asynchronous programming in Python

Christopher Harrison (~GeekTrainer) 24 Jul, 2020

1 2

97. Understanding virtual environments

Christopher Harrison (~GeekTrainer) 24 Jul, 2020

2 5

98. Quantum Computing - An Untouched Realm?

shubhayan saha (~ShubhayanS) 25 Jul, 2020

2 3

99. Developing a Single-Sign-On Service using Django

Vibhu Agarwal (~vibhu) 25 Jul, 2020

2 0

101. A thousand Django's within (or Django multi-tenant)

Lorenzo Peña (~lorenzo) 27 Jul, 2020

0 3

107. How I built a Ray Tracer in Pure Python

Arun Ravindran (~arocks) 27 Jul, 2020

0 0

117. Interactive Mapmaking with Python

Sangarshanan (~Sangarshanan) 31 Jul, 2020