Wednesday, March 30, 2011

IPython and scientific Python go to Sage Days 29

Last week I was in Seattle, attending part of of the Sage Days 29 workshop, which had a strong focus on the more numerical/applied topics and the 'scipy ecosystem', as it's funded by William Stein's Sage: Unifying Mathematical Software for Scientists, Engineers, and Mathematicians grant.

I gave a talk that covered topics that are fairly familiar to many in the scipy community, about using Python for numerical work, but was intended to address many from the Sage group who come from a pure mathematics/number theory background.  I have posted the PDF of my slides; William recorded the talk and posted it online, as well as posting some pictures from the last day (the anecdote about how I unplugged Colombia from the internet when I was a physics undergrad is from 0:11:20 to 0:14:12):

For me, the bulk of the workshop's focus was to make progress on IPython.  Thomas Kluyver, a new core IPython developer, was able to take a week off from his studies and attend from his home in Sheffield; it was great to meet Thomas in person, given the fantastic work he has done on the project in the recent months.  He's been extremely productive and got us out from a number of areas were we had been somewhat stuck, so I'm looking forward to a lot more collaboration with him in the future.  Min Ragan-Kelley was also present, and Brian Granger unfortunately couldn't make it but joined us for a number of long skype-based discussions.  Paul Ivanov, who was officially on matplotlib duty, also helped us a lot with a number of bugs and new pull requests.

In the end, we had a tremendously productive three days.  We closed 66 tickets in total.  Many of these were triage work, but that's still very useful, and we also did major code review to merge most of the outstanding pull requests, as well as having detailed design discussions on the newparallel branch that will provide zeromq-based high-level parallel tools.   We now see light at the end of the tunnel, and I think we'll be able to release the massive amount of work we've been calling IPython 0.11 in a matter of weeks.  I'll write in more detail later on that topic, but at least I think those willing to run code from git master can start playing with it now.  Things are shaping up quickly, and we'd love to get feedback from early adopters to solidify the APIs.

I'm extremely pleased with this workshop: for IPython the progress was massive, and I think the outcome was similar for numpy, matplotlib and the others.  These highly focused development meetings, when held in a good environment (and  the UW facilities we had, in their gorgeous new PACCAR hall, were spectacular), can really be amazingly productive.  A big thank you to William for the funding and all the organization/logistical work!

Now I just have to get caught up with the other million things that piled up on my inbox/todo in the meantime...