Secrets of the Framework Creators
Presenter
Feihong Hsu and Kumar McMillan
Summary
We Python programmers all have our favorite modules, such as Django, Elixir, Trellis, Breve, pyglet, etc. We use them because they save us time and allow us to write less code. We benefit from the day-to-day usage of these modules, but we can also benefit greatly from peeking under the hood and seeing how they do what they do. In many cases, these modules make liberal use of advanced Python features such as frames, metaclasses, magic methods, and decorators. In this tutorial we'll show you how to use these features to create compelling libraries and frameworks.
In total we'll go through 8 recipes, all culled from real-world code. As we go through the examples we'll show case studies where the same or similar technique is used in a popular module. These case studies help participants to precisely understand what problem the recipe attempts to solve. There will be a high emphasis on live coding. The authors will develop each example from scratch, stopping frequently to run the code and show what the current version is doing. Each example will be accompanied by exercises that can be attempted by more advanced programmers as they wait for novice programmers to ask questions and get answers.
Requirements
This tutorial is targeted towards intermediate Python programmers. A lot of time will be given towards explaining and demonstrating concepts and syntax. However, the participant is supposed to know the following prior to attending this talk:
- How to use generators, list comprehensions, decorators, and the yield statement
- String interpolation. Knowing the string.Template class is helpful but not required.
- Regular expressions.
- Basic understanding of GUI concepts. Some familiarity with Tkinter is helpful but not required.
- A solid understanding of HTML and XML. It helps to know an XML processing library such as elementtree.
- Object-oriented programming in Python (inheritance, constructors, properties, etc.).
- How to use the bitwise operators (&, |, ^).
- Exception handling.
- Basic understanding of threads.
As for software, you won't need anything more than an installation of Python 2.4 or Python 2.5.
Files
This tutorial has a Google Group. You can use the group to post questions and comments, as well as download the files for the tutorial.
Presenter Bio
Feihong Hsu lives in the wild and woolly exurbs of northwest Chicagoland. Although primarily a Python programmer, he has another, darker persona that dabbles in C#. Currently, he is between jobs and enjoying some time off. His previous job was at Morningstar Inc, where his responsibilities were to cajole, conflate, and massage vast quantities of financial data. He is the author of wxPita (a wrapper library for wxPython), and he blogs at http://feihonghsu.blogspot.com.
Kumar McMillan lives in sunny Chicago, IL and works as a Senior Software Engineer at Leapfrog Online, LLC. He uses Python to manage Leapfrog's ETL pipeline (Extracting, Transforming, and Loading data) as well as build web applications / services and automated testing strategies. He is an active member of the open source community, maintaining several packages like fixture, wsgi_intercept, wikir, and helping out on nose, blogmaker and several others. He writes about software from time to time on his blog, http://farmdev.com/
























.