PyCon 2010 Atlanta

PyCon 2010 was in Atlanta this year.  It wasn’t quite as warm as I hoped it would be, but definitely an improvement over the 2-3 feet of snow we got in the DC region.  I do feel a little smarter after attending PyCon, but also infinitely humbled by the creativity, energy, and raw intelligence in the Python community.  Here are some notes I took from the talks I attended…

Python in the Browser, Jimmy Schementi
Using Python in the web browser leverages Microsoft’s Python implementation.  The goal is to use Silverlight/Moonlight with IronPython as a client-side browser language.

State of PyPy, Maciej Fijalkowski
PyPy is an implementation of Python written in Python.  But why?  (UPDATE:  What is the purpose of PyPy?)

Python 3: Next Generation, Wesley Chun
This talk went through a laundry list of new features and bug fixes in Python 3.

Unladen Swallow: fewer coconuts, faster Python, Collin Winter
Unladen Swallow is Google’s Python implementation branch of CPython.  It claims significant speed improvements.  Currently, the interpreter is a virtual machine with a JIT built using LLVM.

Understanding the Python GIL, David Beazly
Discussed key issues with the global intepreter lock (GIL).  It seems improvements in Python 3 solve some problems associated with the GIL, but create new ones.  Beazly goes over how difficult the problem is, and how he feels it can be solved.

Easy command-line applications with cmd and cmd2, Catherine Devlin (a.k.a. PyOraGeek)
The talk title was a bit deceiving.  She prefaced the talk with a disclaimer, because the topic was actually command-line interpreters.  This is more along the lines of applications like the bash shell or Python’s REPL.  cmd is Python’s class for line-oriented command interpreters.  cmd2 is Devlin’s enhancements to cmd.

The rest of the talks I attended were about software testing!

Why not run all your tests all the time?  A study of continuous integration systems, C. Titus Brown
Brown compared continuous integration systems: Hudson, Buildbot, CruiseControl, Bamboo, Bitten, Pony-build (his project).  Despite this possible bias, a strong recommendation was give for Hudson (Java-based).

Tests and Testability, Ned Batchelder
Batchelder discussed testing lifecycle: test isolation, harvesting output, dependency injection and mocking.

Rapid Multi-purpose Testing, Holger Krekel
Krekel’s py.test is a command-line tool to collect, run and report about automated tests.  It supports test skipping, test running modes, parametric testing, test discovery, and multi-cpu testing.

New and Improved: Coming changes to unittest, the standard library test framework, Michael Foord
These changes will be new for Python 2.7:

  • New assert methods.
  • No more fail methods, standardize on assert*.
  • Better multiline string testing.
  • Unit test discovery.
  • cleanup() method cleans up in reverse order (improvement over current tearDown() method).

Backported to Python 2.4, 2.5, and 2.6.  Check it out at unittest2.

Tags:

Leave a Reply