This talk explains modern techniques that any developer can use to support multiple versions of Python. You probably already have a massive test suite using a tool like nosetests, py.test, hand rolled unittest, etc. This talk will focus on using the tox command line tool to build and run your tests in all versions of Python, from 2.4 to Jython and, most importantly, Python 3.
tox lets you set up isolated virtual environments to test your module's deployment and compatibility with all major versions of Python. It's easy to install and is flexible enough that it probably already supports your existing test suite. With one simple command you can execute your test suite in each version of Python, you can build its documentation with Sphinx, and get a nice printout of the results. It has also been designed from the ground up to integrate into continuous integration (CI) tools like Jenkins.
Using practical examples, this talk will show you how to toxify your existing test suite and trick it out with the tox.ini config file. You'll also see how to leverage a Jenkins matrix build so that each code checkin will run tests in all versions of Python and report detailed failures.
Your app supports Python 3, right? No? Tox is the best way to develop in parallel with 2 and 3. We'll go over how to set up tox for that.
by Mike Pirnat
Believe it or not, but you can write pretty horrendously awful code even in a language as elegant as Python. Over the years, I've committed my share of sins; now it's time to come clean. Step right up for a tour of twisted, evil, and downright wrong code, and learn some strategies to avoid writing criminally bad code--if you dare!
by Gavin M. Roy
Tornado is an open source version of the scalable, non-blocking web server and tools that power FriendFeed. It is not only a web server but it is a light-weight, use only what you need, web development framework. In this talk we will review the current state of the Tornado project, review the features Tornado provides and give examples of how to implement asynchronous web applications in Tornado.
Topics covered will include:
9th–13th March 2011