Pycon Day 2

State of the Python Universe – Guido van Rossum

Python source repository has been moved from Sourceforge CVS to svn on Buildbot checks out and builds code after each checkin, keeps code quality high by finding broken code fast. New site goes live next Sunday. 2.5 release around 09/30/06.

What’s new in 2.5:

  • absolute/relative import – applies to modules that are in a package, resolves ambiguities.
  • Conditional expressions – like C ?: operator. Guido’s choice: expr1 if cond else expr2.
  • try/except/finally unification
  • yield inside try in a generator is allowed
  • with statement – Context management, easy syntax for try/finally mutex code
  • Exception enhancements
    • All exceptions will be new-style classes
    • BaseException class which will be the base class of all exceptions
    • Maybe eventually get rid of except: syntax
  • __index__ to convert classes that represent exact ints to a python int. Allows these classes to be used as slice indices.
  • AST-based compiler – new bytecode compiler integrated into HEAD
  • ssize_t – Strings greater than 2Gb work on 64-bit platforms.
  • python -m
    . – runs package.module as __main__
  • Lots of new stuff in 2.5 standard library
  • defaultdict – {key:[]}, map one key to many values

wxPython BOF session

About 50 people showed up. Cool!

Internationalization in Chandler

i18n goes beyond string translation. Python doesn’t have internationalization built in. Used SWIG to wrap icu. All text data in unicode. All buttons, exceptions, etc. go through translation manager.


This talk was packed. It was in one of the smaller rooms, and about half the conference showed up for it. Because of the general craziness in the room, I wasn’t really able to follow this talk.
Lightning talk notes

  • Tsearch2 – Postgress full text search
  • Routes – URL mapping


  • Cool, but it’ll definitely make the security guys cringe.

Pycon Day 1

I’m surprised at the number of people here. I’m not surprised at all at the number of Macs.
Keynote – Alexander Limi & Alan Runyan from Plone
Talked about three organizations that are using Plone, and about the “software middle class” that python is creating. Plone is good for multilingual sites. Showed a “very scientific” graph of the amount of time it takes to set up Plone vs. other CMSs. One Plone developer is a prince. With a castle. Plone is an idea more than a piece of software. Having a good out-of-the-box experience is key to getting the software middle class.

Python for S60 – Matt Croydon

Project started at Nokia, released as open source. Can get things done in >100 lines of code. Lots of libs, apis available. Some really polished apps available.

Python in the Enterprise – David Stanek and Mike Pirnat from American Greetings

“Python doesn’t scale” is a common claim, AG thinks it scales fine. 760,000 lines of code, 90M page views/day, 1.7Gb/s sustained at peak times. “Scales as well as you can design”

The State of Dabo – Ed Leafe

Dabo is a desktop application framework, created by two former Microsoft users who didn’t like the way Microsoft developement platforms were heading. 3-tier application framework. DB layer is easy, UI is complicated. Chose wx because it was the best looking, mature, and stable. dabo.ui is a GUI api that is glued to wx. Dabo.ui is more pythonic than wx. Targetting the VisualC++/VisualBasic market. Assumes that you have a database, and want to write applications to use that database. Uses ReportLab to generate reports.

History and Origins of Python – Guido

Cool, but I didn’t take notes 🙁

Django – Adrian Holovaty

Django was developed at World Online – newspaper online department in Lawrence, KS. Used there for very in-depth local content. Deeply cross-linked sites. One slide said just “Pictures of drunk sorority girls” 🙂 Goals: 1. Develop sites fast. 2. Content and structure can be changed quickly and easily.

The Stack: URL Dispatcher;Database wrapper;Template system;Admin framework;Pain relievers.

1. Design URLs. URLs are decoupled from business logic

2. Use admin tool to add content

3. Create views = methods that respond to requests and return an HttpResponse

TurboGears – Mark Ramm

CherryPy – Maps requests to python methods

Kid – Templating

Mochikit – JavaScript library

SQLObject – Object-Relational mapper based on the Active Record Pattern (note-look that pattern up)

At this point, I got tired and stopped taking notes.


I leave for PyCon in about 2 hours. Our presentation is on Sunday, the last day of the conference. I’ll post updates here throughout the weekend.