Thursday, March 20, 2014

IronPython 3 Update

I know a lot of people are interested in IronPython 3, so I'm going to provide an idea of where things are right now and where they are headed.

First off, IronPython 3 development will take place in a new repository to break from the old repo that was converted from Microsoft's internal TFS. It is not up-to-date with the old repo and I probably won't sync them until after 2.7.5 is released. Doing so while preserving committers should be possible but I haven't tried yet. One side effect of the repo split is that the history is also split; preserving it in a sane way was not really possible.

The README has the necessary instructions to get started (finally!).

There is also a new test runner based on NUnitLite; you can run the tests by running make test from a command prompt. I haven't tested it on Mono yet but it should work there as well. The Makefile needs to be updated to include testing.

The Python 3 standard library has been imported; it doesn't really work because it uses Python 3 features, but that should provide some prioritization (the new metaclass syntax is pretty critical now, because uses it). All of the old IronPython tests are there as well, although many will have to be updated (or removed, if they're redundant with CPython tests) for Python 3.

I'm going to add the needed PEPs to the issues list for the new repo so that anyone interested can claim them.

The new repo structure should make working on IronPython much easier than before, which will hopefully encourage more people to contribute. It also make it easier to push stdlib changes back upstream to reduce the maintenance load.

As always, I'm happy to answer any questions.

Wednesday, March 19, 2014

IronPython 2.7.5 Beta 1 Released

On behalf of the IronPython team, I'm happy to announce the first beta release of IronPython 2.7.5. This release includes everything from IronPython 2.7.4 and earlier. Like all IronPython 2.7-series releases, .NET 4 is required to install it. Installing this release will replace any existing IronPython 2.7-series installation. Assemblies for embedding are provided for .NET 3.5, .NET 4, .NET 4.5, and Silverlight 5.

IronPython 2.7.5 Beta 1 is primarily a collection of bug fixes which smooth off many of the remaining rough edges. The complete list of changes is also available.

A huge thanks goes out to Pawel Jasinski, who contributed most of the changes in this release. Thanks is also due to Simon Opelt, Alex Earl, Jeffrey Bester, and yngipy hernan.

For Visual Studio integration, check out Python Tools for Visual Studio which has support for IronPython as well as CPython, and many other fantastic features.

IronPython 2.7.5 Beta 1 is also available for embedding via NuGet. The main package is IronPython, and the standard library is in IronPython.StdLib.