Friday, August 21, 2009

Jeff Hardy: Python compatibility projects and NWSGI release

Jeff Hardy is an extremely prolific developer who has been involved in IronPython for a long time. By testing large Python frameworks and libraries with IronPython he has reported many bugs to the IronPython team.

As part of this Jeff Hardy has accumulated repositories of more than a dozen different projects that he has been porting to IronPython. As you can imagine this is a lot of work and he is offering the opportunity for anyone else interested in these projects to take them on:
I was going through the “Repositories” folder on my machine, looking at all of the stuff I’ve downloaded since, well, the last time I went through this exercise. This time around, a lot of it is stuff I’ve tried to get working on IronPython. Here’s a sampling:
  • Django
  • setuptools
  • Trac
  • Genshi
  • Mercurial
  • SCons
  • CherryPy
  • docutils
  • moin
  • pygments
  • pymarkdown
  • nose
  • sqlalchemy
  • IronRubyMVC
On top of that, there’s the stuff I wrote: NWSGI, IronPython.Zlib, adonet-dbapi, and more.
The good news is that IronPython compatibility with CPython is improving, unfortunately this can actually make it harder to find the root causes of the remaining problems:
Debugging things is also pretty difficult – IronPython is getting good enough that the only bugs are really obscure. It probably takes me ten times longer to find a bug and isolate it into a testcase than it does for Dino to fix it.

Now, with all of that said, I have an offer: if anyone wants to work on the top part of that list (up to and including SCons), I’ll help get you up to speed on some of the issues with those programs, and some of the tricks involved in debugging them (hint: Debugger.Break). This will be limited-time offer, valid until I forget the details of the program in question. I really want to see these things compatible with IronPython, but I just no longer have the time to do it myself.
Jeff isn't backing out completely of course. He's been hard at work on NWGSI. NWSGI is a .NET implementation of the Python WSGI specification for IronPython; implemented as an ASP.NET HttpHandler for use with IIS 6 and 7. The goal is to allow you to serve WSGI web applications with IronPython and the IIS server.

Jeff has just released NWSGI 2.0 Beta 2, which is built against IronPython 2.6 Beta 2:
NWSGI 2.0 Beta 2 is now available. This release in linked against IronPython 2.6 Beta 2, and also fixes a couple of bugs. The big change is that the install does not add NWSGI to the GAC; without IronPython also installed to the GAC, it doesn't make much sense to put NWSGI there.

No comments:

Post a Comment

Note: only a member of this blog may post a comment.