Home >>> Courses >>> Special Topics >>> Twisted

What customers say ...


Good course. Very competent trainer for this introduction. The course offers wide spectrum of topics and goes into depth were participants need it most.

Helmut Dittrich, CEO DiFis-Engineering UG, arrow-fix.com, about the German introduction to Django "Einstieg in Django" more...


Good course. Very fast progress without any prior Python knowledge.

Daniel Fuchs, GIGATRONIK Ingolstadt GmbH, about the German version of the course "Python for Programmers" more...


We had a wide range of Python experience in our group and each person gained something valuable to take away....

Dr. Ryan Woodard, Chair of Entrepreneurial Risks, ETH ETH Zurich, Switzerland more...


The course "Python for Scientists and Engineers" is a very useful introduction to Python programming for scientific applications ...

Dr. Mihai Duta, Oxford Supercomputing Centre, UK more...


Very nice course, got many useful suggestions.

Dr.-Ing. Ralf Wieland, Institut für Landschaftssystemanalyse, Leibniz-Zentrum für Agrarlandschaftsforschung e.V. about the German version of the course "Python for Scientists and Engineers" more...


Course: Twisted Training

Dates for Open Courses

Location Course Date Registration
LeipzigTwisted Training 09.09.-11.09.2013 PDF

Also available as in-house course.

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 well as a CD with source code 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.



The Python Academy is sponsor of EuroPython 2013.

[EuroPython 2013]

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

[Python BarCamp 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 PyConDE 2012.

[PyCon DE 2012]

The Python Academy is sponsor of PyConPL 2012.

[PyCon PL 2012]

News


The next open cousers
details ...


Python Academy sponsors EuroPython conference 2013
details ...


Python Academy sponsors Python BarCamp in Cologne
details ...


Python Academy sponsors EuroSciPy conference 2013
details ...


Next Meeting of Leipzig Python User Group, May 14, 2013
details ...


Einstieg in Django (German), June 3 - 5, 2013
details ...


Django für Fortgeschrittene (German), June 6 - 8, 2013
details ...


Python for Scientists and Engineers, June 10 - 12, 2013
details ...


Professional Testing with pytest and tox, June 24 - 26, 2013
details ...


Introduction to Django, November 11 - 13, 2013
details ...


Advanced Django, November 14 - 16, 2013
details ...


Python Academy sponsors PyCon US conference 2013
details ...


Python Academy founder receives PSF Community Service Award
details ...