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.
