Jul 27

EuroPython 2010 Core Sprint Report

From Michael Foord: This year EuroPython had an amazing turnout for the sprints. On the first day we had 83 sprinters and more than half of them stayed through for the second day. People were sprinting on PyPy, Plone, csp (a form of concurrency and a hot topic during the conference) and a whole host of topics - but of particular interest here is the core Python sprint.

There were around twenty five people in the core-sprint room, here's a photo from the first day:

Europython Sprints

Core developers present included me (Michael Foord), Ezio Melotti, Georg Brandl, Martin von Loewis, Mark Dickinson, Ronald Ousseron, Richard Jones, Steve Holden, Steven Bethard, and Brett Cannon. My apologies to anyone I have missed out, but there were a lot of people there! Other Python luminaries like Dr Ali Afshar, Armin Ronacher, and Nicholas Tollervey joined us as well.

During the conference Ezio Melotti gave a talk on contributing to Python development. Several of the folk who turned up were new to Python development and had been inspired by Ezio's talk. Here's a quote from one of the sprinters:

"Ezio Melotti followed after the break with a useful overview of the Python development process, which inspired me to join the Python Core sprint on Friday. I’ve already contributed my first couple of patches to Python 3.2 – the first of which has been committed to trunk already. "
(from https://metaljoe.wordpress.com/2010/07/24/europython-2010/)

Dr Brett Cannon gave an introductory talk and collected contributor agreements from the sprinters. Ezio and Brett worked together with the new sprinters on improving test coverage. There were quite a few patches committed during the sprint towards this end. Dmitry of Jetbrains looked at testing the nntplib for Python 3, only to discover that it wasn't correctly handling bytes / strings. He produced a patch to fix this.

Other sprinters worked on a range of different topics. I started a prototype of a plugin system for unittest which is nearly ready to be announced and discussed to iron the wrinkles out of it. Mark Dickinson spent his time learning about the Mercurial API and hooks mechanisms in order to start developing the commit hooks that Python will need when it transitions to Mercurial.

Richard Jones worked on tests for the smtpd module which had no direct tests. He also added various new features to the PyPI web interface, including a new JSON rpc interface.

Martin von Loewis summarised his work during the sprints:

"I worked on PyPI (the Cheese Shop). I added support for running it locally with sqlite, and added some demo data. I also started on implementing a mirror on AppEngine. I then also resolved a few bug reports and support requests. "

The changes Martin and Richard Jones made to PyPI were summarized on the catalog-sig:

  • There is now a way to request release information in JSON (see http://tinyurl.com/38lefsp)
  • It's possible to run the code base locally using sqlite (see the README)
  • There is now demodata available (see README); people won't need a full database dump anymore to develop on the code.
  • In addition, pypi.appspot.com is likely to become mirror E (perhaps B instead, so that E can have an A record).

Ezio Melotti did a lot of work on improving the Python bug tracker, a continuation of what he has been doing for google summer of code. He fixed and/or worked on:

Georg Brandl worked on Sphinx and also with Martin. He provided this summary of what he did:

  • Prepared and finished Sphinx 1.0 release, switched Python trunk to use it.
  • Got PyPI running locally, fixed 3-4 minor tracker items and the broken setup.py register.
  • Worked on pdb issues (none committed yet though).

Ronald Ousseron worked on a host of minor issues, mainly but not exclusively Mac OS X related issues. Steven Bethard was only around for the first day and spent most of it transferring issues from the old argparse issue tracker onto the Python issue tracker. He is notable as being the only sprinter who actively increased the number of open issues rather than reducing them.

Ɓukasz Langa was another sprinter new to Python development who had his first patches to Python accepted during the sprint. Since the sprint he has continued to work on Python, in particular fixing bugs and adding new functionality to the configparser module.

This sprint was particularly successful as not only did many issues get closed and patches committed, but several new contributors were inspired to work on core-Python.