EuroPython 2016

Present-day Async Web development training: from Twisted to Tornado and AsyncIO

Speaker(s) Anton Caceres

Objective

Get hands-on experience with async Python frameworks, learn which tool works best for which task.

Description

This beginner-friendly workshop contains an overview, code tasks and a benchmark for production-ready Python async tools for the time being:

  • AsyncIO
  • Tornado
  • Twisted

Workshop does not promote any particular framework; we practically try each option and develop personal preferences.

Plan

  1. Introduction to async web servers and frameworks (15 min)
  2. Formulating typical web tasks that need async design (10 min)
  3. for task in tasks: (1 h)
    • implement with Twisted
    • Tornado
    • AsyncIO
  4. Take a realistic parallel requests use-case and use LAN to experiment (30 min)
  5. Discuss peculiarities of implementations (10 min)
  6. Run same task on different platforms with a benchmark (10 min)
  7. Integrate frameworks: (15 min)
    • run Tornado on AsyncIO loop
    • convert Future objects
    • Q & A (10 min)

Practical part

We try different frameworks to implement typical web tasks: handling requests, fetching data from external APIs and proxying connections. In case of reliable LAN we will use laptops of each other as services to call asynchronously. This part is interactive, everyone is a creator of own service. Then we will put some service down and do error handling, try to integrate future objects of different frameworks, run a benchmark.

Pre-requirements

  • Laptop with Python 3.4+

in on Tuesday 19 July at 10:15 See schedule

Comments

  1. Gravatar
    Can you explicit contents of the interactive part of the training and share a timeline?

    Thx+Peace,
    R.
    — Roberto Polli,
  2. Gravatar
    Thanks for the feedback, abstract updated
    — Anton Caceres,

New comment