wiki:GSoC2013

Version 4 (modified by itamar, 19 months ago) (diff)

Added deferred cancellation project

Google Summer of Code 2013

PyCon 2012 sprint  Entertaining metrics PyCon 2011 sprint

Getting in Touch

Thanks for your interest in working on Twisted this summer through Google Summer of Code! Here's an overview of the application process:

  1. Get in touch and let us know that you're interested, by sending an e-mail to twisted-gsoc@twistedmatrix.com
  2. Get familiar with the Twisted development process (see below).
  3. Submit at least 1 patch to Twisted (don't worry, we're here to help if you need it!)
  4. Create a project proposal with a Twisted mentor
  5. Apply on the Google Summer of Code web page for the Python Software Foundation group, with the project proposal we created.

Project Ideas

More coming soon.

Deferred Cancellation

Deferreds are Twisted's abstraction for an eventual result of a task. They are thus a good place to have a hook for cancelling the task, and they provide a cancellation API. However, many Twisted APIs that return Deferreds don't provide cancellation support. The project would involve adding cancellation support to as many APIs as possible (e.g. various protocol clients like HTTP, POP3, SMTP, etc. that are missing it), starting with easy cases and moving on to more difficult ones.

Getting Started with Twisted Development

Before contributing to Twisted, please spend some time practicing the tools of open source development.

Here are some of the tools we use:

  1. IRC
  2. the Trac issue tracker
  3. the svn revision control system
  4. the diff and patch utilities

If you have not used IRC before, please go through this short tutorial on installing and using an IRC client:

Please familiarize yourself with how Twisted uses Trac by exploring the reports from this link: http://twistedmatrix.com/trac/report

With sufficient exploration you should be able to answer the following questions (you don't have to tell me the answers, just make sure you know how to find them):

  1. What is the oldest open Twisted ticket?
  2. How many tickets are currently waiting on review? How do we denote tickets waiting on a review (hint: look at the keyword)
  3. Using the custom query page at http://twistedmatrix.com/trac/query, find out how many open tickets we have that have the "documentation" keyword.

If you have not used svn before, please go through the svn training mission at: http://openhatch.org/missions/svn

If you have not used diff and patch before, please go through the diff and patch training mission at: http://openhatch.org/missions/diffpatch

If you have any questions while going through this material, don't hesitate to ask for help in #twisted on IRC or on the twisted-python mailing list.

Once you've gone through this material, the next steps will be to:

  1. Meet up on IRC (stop by the #twisted channel on Freenode)
  2. Check out and explore the Twisted source code
  3. Read a few parts of the Twisted core documentation and run some example Twisted scripts
  4. Run the Twisted test suite - cd into the checkout folder and run "bin/trial twisted".

And then you'll be in great shape to start working on your first Twisted ticket. We'll suggest a first ticket when you get in touch over email; you'd want to fix it in your Twisted svn checkout, run svn diff, upload the resulting patch to the ticket and then add the "review" keyword to the ticket. This process is described in detail here: http://twistedmatrix.com/trac/wiki/TwistedDevelopment#SubmittingaPatch