[Twisted-Python] Re: Teach Me Twisted?

Jean-Paul Calderone exarkun at divmod.com
Fri Jan 25 19:13:34 EST 2008


On Fri, 25 Jan 2008 18:49:46 -0500, Steve Holden <steve at holdenweb.com> wrote:
>Cary Hull wrote:
>>Hey, I think some Twisted related sessions at PyCon would be great.
>>Based on what's been discussed so far, I would like to humbly suggest
>>the following (kind of breaking it down):
>>
>>1) Simple line based chat server/client.
>>2) Same thing except using AMP.
>>3) twistd and plugins
>
>These are things I would really like to get to, but I'm pretty sure half an 
>hour isn't going to cover it. Maybe we should be thinking BOF instead, then 
>we can take an evening over it under less stressful conditions (and, who 
>knows, even drink a beer or two in the process).

Maybe I can get you to go a little bit further than that in restricting
what you'd like to see covered.

Off the top of my head, and only continuing until I get bored with making
this point, here's what a "Twisted" session could cover:

  * event driven programming
  * Deferreds (making them; using them; debugging them; defgen; 
        locks/semaphors)
  * core reactor APIs
  * scheduling
  * implementing existing (TCP; UDP; IP) protocols
  * designing new (TCP; UDP; IP) protocols
  * using existing protocols in twisted core
  * integrating a protocol implementation with cred
  * process control/interaction
  * implementing a realm
  * implementing credentials/checkers
  * writing services
  * writing plugins (twistd; lore; cred)
  * handy general-purpose python utilities
  * adding new kinds of event sources to the reactor
  * gui/pygame/etc integration
  * threading
  * using SQL databases
  * Perspective Broker
  * writing unit tests
  * using trial
  * extending trial

Wandering outside of the core of Twisted:

  * serving web pages
  * running a chat server
  * extending the chat server
  * jabber (jabber; jabber; jabber; sasl; jabber)
  * marking up documentation
  * dns servers and clients
  * usenet servers and clients
  * ssh/sftp clients/servers
  * telnet clients/servers
  * asynchronous terminal interaction
  * terminal widget rendering
  * smtp client/server
  * imap4 client/server
  * pop3 client/server

Are any of these the things you have in mind?  Can I get you to pick
a very small number of them (1 or 2 per hour at most, I suspect; some
are smaller, others are quite large)?  Or did you have something else
in mind?

Jean-Paul




More information about the Twisted-Python mailing list