Including the Batteries in IronPython

Fans of Python use the phrase “batteries included” to describe the standard library, which covers everything from asynchronous processing to zip files.
About Python

I’m very happy to announce that as of IronPython Beta 4, we are including the Python standard library in an IronPython release. In addition to the usual binary and source zip archives, we’re shipping an MSI installer that gives you the option to include the library files. I mentioned a couple of weeks ago that I’ve been spending a lot of time with lawyers, and this is the first step towards making the IronPython project as open as possible. Note the use of the word “first” in that previous statement. In other words, I’ve got more lawyers to talk to.

We’ve added a new standard library component category to the IronPython Issue Tracker. So if you find any issues or incompatibilities with using the standard library with IronPython, please files bugs on them. We haven’t figured out what set of libraries we’re going to ship, but we don’t want to include ones that we know wont work. For example, Kevin Chu reported on the mailing list that importing the sqlite3 module fails. This is because we don’t have a managed version of the _sqlite3 C-based module. So that’s one we’ll probably remove outright.

Also, this is the first release we’ve distributed as an MSI file, and it looks some folks on the mailing list have had some troubles with it. If you have issues, please file setup bugs as well.


FePy project maintains a list of known-to-work standard library modules here: Feel free to consult it.
_sqlite3 could be implemented as a compatibility shim over System.Data.SQLite: This would be waaay better than removing the module. There are many standard library modules that could be supported using this technique. FePy has had a compatibility shim for pyexpat (over System.Xml) for a long time. The more of these modules that are supported the more Python applications and frameworks will work with IronPython.