Explore Twisted, the Python-based event-driven networking engine, and review several of its most popular application projects. It is written by community leaders who have contributed to many of the projects covered, and share their hard-won insights and experience.
Expert Twisted starts with an introduction to event-driven programming, explaining it in the context of what makes Twisted unique. It shows how Twisted’s design emphasizes testability as a solution to common challenges of reliability, debugging, and start-to-finish causality that are inherent in event-driven programming. It also explains asynchronous programming, and the importance of functions, deferreds, and coroutines. It then uses two popular applications, treq and klein, to demonstrate calling and writing Web APIs with Twisted.
The second part of the book dives into Twisted projects, in each case explaining how the project fits into the Twisted ecosystem and what it does, and offers several examples to bring readers up to speed, with pointers to additional resources for more depth. Examples include using Twisted with Docker, as a WSGI container, for file sharing, and more.
What You’ll Learn
- Integrate Twisted and asyncio using adapters
- Automate software build, test, and release processes with Buildbot
- Create clients and servers with Autobahn
- Transfer files with Magic Wormhole
- Distribute cloud-based file storage with Tahoe LAFS
- Understand HTTP/2 with Python and Twisted
- Support for asynchronous tasks using Django Channels
Who This Book Is For
Readers should have some Python experience and understand the essentials of containers and protocols, but need not be familiar with Twisted or the associated projects covered in the book.
Tabella dei contenuti
Part 1: Foundations.-
1. Introduction to Event-Driven programming via Twisted.-
2. Introduction to Asynchronous Programming with Twisted.- 3. Practical Twisted Applications with treq and klein.- Part 2: Projects.- 4. Twisted and Docker.- 5. Twisted as a WSGI Container.- 6. Tahoe LAFS.- 7. Magic Wormhole.- 8. Autobahn.- 9. Integrating Twisted and Asyncio.- 10. Buildbot.- 11. HTTP2.- 12. Twisted and Django Channels.
Circa l’autore
The authors of
Expert Twisted include leaders in the Python community and core developers of many of the projects covered.
Mark Williams works on Twisted and helps develop the Python Cryptographic Authority’s pure-Python TLS implementation. At e Bay and Pay Pal, he worked on high-performance Python web services (over a billion requests a day!), application and information security, and porting enterprise, Java-only libraries to Python.
Cory Benfield is an open source Python developer heavily involved in the Python HTTP community. He’s a Requests core contributor, a urllib3 core contributor, and the lead maintainer of the Hyper Project, a collection of HTTP and HTTP/2 tools for Python. For his sins, he also helps out with the Python Cryptographic Authority on Py Open SSL.
Brian Warner is a security engineer and software developer, having worked at Mozilla on Firefox Sync, the Add-On SDK, and Persona. He is co-founder of the Tahoe-LAFS distributed secure filesystem, and develops secure storage and communication tools.
Moshe Zadka has been part of the open source community since 1995, made his first core Python contributions in 1998 and is a founding member of the Twisted open source project. He also loves to teach Twisted and Python, having given tutorials at several conferences as well regularly blogging.
Dustin J. Mitchell has contributed to Buildbot and is a member of the Task Cluster team at Mozilla, having also worked on the Release Engineering, Release Operations, and Infrstructure teams.
Pierre Tardy is a Continuous Integration Specialist with Renault Software Labs, and is currently the lead committer for Buildbot