Sunday, April 29, 2012

IronPython 2.7.3 Features: the SuperConsole

Internally, IronPython has two implementations of the console: BasicConsole and SuperConsole. The BasicConsole is very simple with no extras, while the SuperConsole has line history and tab completion added. Prior to 2.7.3, the BasicConsole was the default, but starting with 2.7.3 the SuperConsole is the default.

The main reason for this is the difference between Windows and Unix systems: on Windows the console provides line history for every application, while on Unix each program has to implement it for itself. In practice, Unix apps use something like GNU readline to implement it, but IronPython can’t use a native library.

I was all set to write the history code when I discovered that the SuperConsole already had it! It also has tab completion, which the default CPython shell lacks (although the brilliant IPython does have it). Once you get used to having tab completion in the shell, it’s really hard to go back.

The SuperConsole has been tested on multiple platforms and seems to work just fine, but if you have any issues you can switch back to the BasicConsole by passing -X:BasicConsole to ipy.exe. Also, please create an issue if you have any difficulty with the new console.

IronPython 2.7.3 Alpha 1 Available

The first preview release of IronPython 2.7.3 is now available. This release includes new modules, improvements to, and several other enhancements (and more are coming before 2.7.3 is released).

Unfortunately, there is an issue with having both IronPython 2.7.3 (and 2.7.2, actually) and IronRuby 1.1.3 installed at the same time, so if you want to use IronPython you must uninstall IronRuby. This will be resolved before the final IronPython 2.7.3 release.

Wednesday, April 4, 2012

IronPython & Google Summer of Code 2012

The student application deadline for Google Summer of Code 2012 is coming up this Friday (April 6th). GSoC is a program where Google pays students to work on open-source code over the summer, and I would very much like to see some work done for IronPython. If you're a student, you're interested in
IronPython, and you want to get paid to work on it, this is yourchance. Check out the ideas page, which also directs you where to apply.

A huge thank-you to the Mono project for allowing us to use their slots if we get some good applications.