Asynchronous Programming with Python

Priyank Trivedi (~priyankt68)


27

Votes

Description:

Abstract

As a programmer, each one of us begin their programming with sequential execution of a program loop. But as we build more and more complex applications, there exists a need to do some input/output which should not block the execution of your program. For instance, a program is halted while it's waiting for user to provide input. Now, that's a problem and certainly not an efficient utilisation of one's computing resources. How do you solve it ?

One maybe tempted to use threads or multiprocessing but it has it's own share of memory constraints.

To your rescue comes, Asynchronous Programming.

Asynchronous Programming or I/O is a form of input/output processing that permits other processing to continue before the transmission has finished. More on it here.

This talk will discuss more on the drawbacks of multiprocessing and thread and build a case for asynchronous programming. At the end of the talk, a demo will make things much clearer to the audience.

Key Takeaways

  1. Key concepts related to asynchronous programming and concurrency.
  2. Knowledge of applications built on top of the above mentioned concepts.
  3. Demo of an application and code to play around with. This will give participants a working understanding of twisted and asyncio modules.

Prerequisites:

Participants are expected to have basic working knowledge of Python and socket programming.

Content URLs:

What to expect in the talk is briefly described in the presentation here : http://slides.com/priyankt68/asynchronous-programming-in-python

Speaker Info:

Priyank Trivedi works as a Backend Engineer at Zenatix Solutions, an energy analytics startup. At Zenatix, he heavily uses asynchronous programming paradigm to manage incoming stream of time series data from numerous sensors. Priyank has worked with twisted, an event-driven networking engine in the past.

Speaker Links:

  • Blog : http://medium.com/@priyankt68
  • Twitter : http://twitter.com/@priyankt68
  • Github : http://twitter.com/priyankt68

Section: Network Programming
Type: Talks
Target Audience: Intermediate
Last Updated: