People who have been reading my blog for a while may remember Reinteract. I haven’t written anything about it here for a while, but I’ve still been working on it; usually in a spurts of a few weeks of evening hacking at a time. I’m going to be talking about Reinteract at Pycon this weekend, which inspired me to go ahead and finish up something worth calling a release. Reinteract 0.5.0: Source, installers for Windows and OS X.

One big change over the last year is the notebook user interface. Any decent size project is going to have multiple worksheets along with the Python libraries and data files that they use. The Reinteract main window now represents a notebook – an entire project – instead of a single worksheet.

Another major effort was porting Reinteract to Windows and OS X. Since Python and GTK+ already worked on these platforms, it was mostly a question of putting together existing pieces. But there was quite a bit of work to get things installed properly, and to create slick installers that combine Reinteract with the libraries and Python modules it depends upon. On OS X, I also wrote some native code to get a proper global menu.

With the new version, the work of computing a Reinteract worksheet occurs in a separate thread; this allows the user interface to stay responsive during long running operations. And allows you to interrupt running operations, which is a very handy thing to have if you accidentally write an infinite loop, or start some calculation that’s going to take a year to finish.

And of course, there are lots of bug fixes and small features as well. I’ve had useful suggestions, bug reports, and patches from a great number of people. I’d like to thank Kai Willadsen and Jon Kuhn in particular for their active contributions. Among other things, Kai recently landed a change that makes the replot module considerably more useful: instead of being restricted to a single plot command, you can use all the methods of the matplotlib Axes object.