Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

YouTube

The Report of Twisted's Death

EuroPython Conference via YouTube

Overview

Limited-Time Offer: Up to 75% Off Coursera Plus!
7000+ certificate courses from Google, Microsoft, IBM, and many more.
This course aims to teach learners how Twisted or Tornado supplement asyncio, how asyncio can be integrated with these frameworks, and advocates for the continuous development of new and existing selector-loop based frameworks. The course covers the historical context of asynchronous I/O in Python, the role of asyncio, the technical details of asyncio, and the future direction of Twisted. Learners will also gain insights into concurrency, parallelism, event loop implementations, and the interoperability of different frameworks. The teaching method includes a lecture format with a focus on technical explanations and practical examples. This course is intended for developers interested in asynchronous programming in Python, particularly those looking to enhance their understanding of asyncio, Twisted, and Tornado frameworks.

Syllabus

Intro
Release Manager
Deployed with runners that run many copies using threads or processes
use safely (without race conditions)
Thread memory overhead: 32kB to 8MB per thread
The approach of Twisted, Tornado, asyncio, curio
Identical system call at their core: Selector functions
Selector functions take a list of file descriptors (e.g. sockets, open files) and tell you what is ready for reading or writing
Selector loops can handle thousands of open sockets and events
Data is channeled through a transport to a protocol implementation (e.g. HTTP)
Sending data is queued until the network is ready
Higher density per core No threads required! Concurrency, not parallelism
You're probably waiting on the client or the database
coroutines are a special generator
Repairing library API fragmentation
It should be easy for (Python 3.3 ports of) frameworks like Twisted, Tornado, or even gevent to either adapt the default event loop implementation to their needs using a lightweight adapter or proxy, or to replace the default event loop implementation with an adaptation of their own event loop implementation.
Reducing duplication
For this interoperability to be effective, the preferred direction of adaptation in third party frameworks is to keep the default event loop and adapt it to the framework's API. Ideally all third party frameworks would give up their own event loop implementation in favor of the standard implementation.
asyncio is an apple Twisted is a fruit salad
Tornado is a great example of interoperation
Asynchronous code executed in a synchronous style
Why Twisted is still worth using
Time based releases, taken off our trunk branch
Super easy to make your own protocols!
Established library support
Code review Automated testing Thousands of tests
Python 3.4/3.5 is coming to Windows soon!

Taught by

EuroPython Conference

Reviews

Start your review of The Report of Twisted's Death

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.