Home >>> Courses >>> Twisted

What customers say ...


Mr. Müller explained very well and exhasutively. Alle question were answered. The learned material will definitely speed up my daily work. Thank you very much!

Martin Siemann, German Aerospace Stuttgart about the course "Python für Programmierer und Python für Wissenschaftler und Ingenieure" more...


Very good introduction to the programming language.

Matthias Enderle, freelancer programmer about the German version of the course "Python for Programmers" more...


The standard Python for programmers and the customized "Python for Experts" course where a great success. ..

Bart Hillaert, Alcatel-Lucent, Belgium more...


I can absolutely recommend this course to everybody who wants to become productive with Python very quickly. ...

Dr. med. Beat Meister, Bern, Switzerland more...


Mike is a great professor. He has an amazing knowledge of Python. It has been a pleasure to be his student for 3 days!

David Doblas about the course "Python for Scientists and Engineers" more...


Course: Twisted Training

Dates for Open Courses

Course available as open and in-house training. Currently no dates for open courses. Please ask us at info@python-academy.de

Intended audience

This tutorial is intended for programmers with at least some Python experience who want to use the Twisted framework. It is suitable for people trying to start new Twisted projects, are looking to integrate Twisted with an existing non-Twisted project, or who have inherited an existing Twisted project.

Course content

Many components of the course can be left out or adjusted to suit your specific needs.

Core course

  • Introduction (40 min)
    • Event loops (10 min)
    • Environment setup (25 min)
      • Dependencies and required software
    • Where to get help (10 min)
      • Documentation
      • Support channels: IRC, mailing list...
  • Protocols, factories and endpoints (40 min)
    • Introduction (5 min)
    • Building a simple protocol (15 min)
    • Client and server factories (5 min)
    • Serving your protocol: (5 min)
      • reactor.listen/connect
      • endpoints
    • Existing and composable protocols (10 min)
  • Deferreds (60 min)
    • Introduction (10 min)
    • Exercises (30 min)
    • @inlineCallbacks (20 min)

Important toplevel packages

  • Twisted Web (90 min)
    • Servers (with exercises) (60 min)
      • Resource traversal
    • Clients (exercises based on previous servers) (60 min)
  • Twisted Cred: pluggable authentication (45 min)
    • Overview
    • Exercises

Other toplevel packages and third party packages

  • twisted.words: Chat protocols & IRC support
    • IRC clients
      • A simple bot (30 min)
      • Adding more advanced behavior (e.g. webhooks) (45 min)
    • Building an IRC server (30 min)
    • Wokkel (Friend fork with advanced Jabber/XMPP support) (30 min)
  • twisted.news: NTTP support (30 minutes)
  • twisted.conch: SSH support (timing depends on level of detail and which components)
  • Database access
    • twisted.enterprise + txpostgres (60 min)
    • txredis, paisley (couchdb), telephus (cassandra) (each 60 min individually)
    • Axiom (60 min)
  • twisted.spread: distributable computing (60 min)
  • twisted.names: DNS servers and clients (30 min)
  • Twisted Community Code (tx) (length depends on the package)
  • scrapy: advanced scraping architecture built on Twisted (120 min)

Advanced topics

  • Dealing with legacy/synchronous code (1h 45 min)
    • WSGI app case study: django-packages (60 minutes)
    • Threads: deferToThread(Pool), blockingCallFromThread (45 minutes)
  • Dealing with CPU-bound problems
    • Introduction (15 min)
    • Explicit cooperative multitasking (45 min)
    • Threads (reference; see previous mention of threads) (30 min)
    • Multiprocessing options and Ampoule (60 min)
  • Application framework (1h 30 min)
    • Services and applications (15 min)
    • twistd: running servers & daemonization (30 min)
    • Twisted's plugin system (15 min)
    • Writing your own twisted plugins (30 min)
  • Advanced application concepts (1h 30 min)
    • Process monitoring: daemontools, upstart, systemd, etc. (30 min)
    • Live server monitoring and maintenance with manhole (60 min)
  • Contributing to Twisted (1h 30min)
    • Issue tracker (30 min)
    • Setting up the environment (45 min)
    • Review process (15 min)

In addition to the previous topics, the following topics are touched on as needed:

  • Test Driven Twisted: twisted.trial (tutorial is TDD where sensible)
  • twisted.python: useful random python utilities
    • FilePath: like paths but better
    • Logging

Course Duration

3 days

Course Material

Every participant receives comprehensive printed materials that cover the whole course content as wells as all source codes and used software.

Costs

See prices.

Trainer

Laurens Van Houtven has extensive programming and entrepeneurial experience. He is a Twisted committer, has built two business on top of Twisted, and is a member of the Python Software Foundation.

[Follow @pyacademy]

The Python Academy is sponsor of PyConIE 2018.

[PyConIE 2018]

The Python Academy is sponsor of PyCon.DE 2018.

[PyCon.DE  2018]

The Python Academy is sponsor of PyCon Spain 2018.

[PyCon ES 2018]

The Python Academy is sponsor of PyCon Ghana 2018.

[PyCon GH 2018]

The Python Academy is sponsor of EuroPython 2018.

[EuroPython 2018]

The Python Academy is sponsor of DjangCon Europe 2018.

[DjangCon Europe 2018]

The Python Academy is sponsor of PyCon US 2018.

[PyCon US 2018]

The Python Academy is sponsor of PyConIE 2017.

[PyConIE 2017]

The Python Academy is sponsor of EuroPython 2017.

[EuroPython 2017]

The Python Academy is sponsor of PyCon US 2017.

[PyCon US 2017]

The Python Academy is sponsor of PythonCamp Köln 2017.

[PythonCamp 2017]

The Python Academy is sponsor of Django Girls Leipzig 2016

[Django Girls Leipzig 2016]

The Python Academy is sponsor of PyCon DE 2016.

[PyCon DE 2016]

The Python Academy is sponsor of PyCon Ireland 2016.

[PyCon IE 2016]

The Python Academy is sponsor of EuroSciPy 2016.

[EuroSciPy 2016]

The Python Academy is sponsor of PyCon US 2016.

[PyCon US 2016]

The Python Academy is sponsor of PyData Berlin 2016.

[PyData Berlin 2016]

The Python Academy is sponsor of PyCon Sweden 2016.

[PyCon SE 2016]

The Python Academy is sponsor of Python Unconference 2015.

[PyUnconf 2015]

The Python Academy is sponsor of EuroSciPy 2015.

[EuroSciPy 2015]

The Python Academy is sponsor of EuroPython 2015.

[EuroPython 2015]

The Python Academy is sponsor of PyData Berlin 2015.

[PyData Berlin 2015]

The Python Academy is sponsor of PyCon Montréal 2015.

[PyCon Montréal 2015]

The Python Academy is sponsor of Python BarCamp Köln 2015.

[Python BarCamp 2015]https://www.euroscipy.org/2016/

The Python Academy is sponsor of Chemnitzer Linux-Tage 2015.

Chemnitzer Linux-Tage 2015 - 21. und 22. März 2015

The Python Academy is sponsor of Django Girls Wroclaw 2015.

[Django Girls Wroclaw 2015]

The Python Academy is sponsor of PyCon Ireland 2014.

[PyCon Ireland 2014]

The Python Academy is sponsor of EuroSciPy 2014.

[EuroSciPy 2014]

The Python Academy is sponsor of PyData London 2014.

[PyData London 2014]

The Python Academy is sponsor of EuroPython 2014.

[EuroPython 2014]

The Python Academy is sponsor of PyCon 2014 Montréal.

[PyCon 2014 Montréal]

The Python Academy is sponsor of Python BarCamp Köln 2014.

[Python BarCamp 2014]

The Python Academy is sponsor of PyConDE 2013.

[PyCon DE 2013]

The Python Academy is sponsor of EuroPython 2013.

[EuroPython 2013]

The Python Academy is sponsor of PyCon US 2013.

[PyCon US 2013]

The Python Academy is sponsor of EuroSciPy 2013.

[EuroSciPy 2013]

The Python Academy is sponsor of PyConPL 2012.

[PyCon PL 2012]