Thursday, July 26, 2007

mod_wsgi 1.0 Release Candiate Available

Today Graham Dumpleton tagged the SVN and has made available the release candidate of mod_wsgi. The mod_wsgi adapter is an Apache module that provides a WSGI compliant interface for hosting Python 2.3+ Python based web applications under Apache. Graham has written it completely in C code so it has a lower overhead than the mod_python or CGI adapters. It can be used with Apache 1.3, 2.0 or 2.2 and normally runs in 'embedded mode' where the application code is executed within the context of normal Apache child processes. If you run mod_wsgi with Apache 2.x on a Unix/Linux system, it can also run in a 'daemon mode' where one or more distinct processes can be dedicated to one or more WSGI applications. Graham has put together great documentation including instructions on using mod_wsgi with some of the common Python web frameworks and applications including Trac, Django, Pylons, MoinMoin and TurboGears.

Adal Chiriliuc has built Win32 binaries of the release candidate and these can be found here.

I have lucky enough to have been associated with the testing of mod_wsgi since it's inception and want to thank Graham for all his efforts in developing and releasing a WSGI adapter of high quality and functionality. Also thanks to other testers who kept Graham honest and busy. In my humble and most likely biased opinion, I think it will become the WSGI adapter of choice when serving Python applications under Apache.

Monday, July 23, 2007

IronRuby Pre Alpha Source Code Released

Today John Lam announced the first release of IronRuby source code. Of interest to me in the announcement was the following quote:

"We're also happy to announce that we will be accepting source code contributions into the IronRuby libraries."

This policy is what many users of IronPython have been wanting since it's first release. Since both language implementations are released under the same license, hopefully Microsoft will see fit to change their policy for IronPython as well. And once the DLR reaches 1.0, hopefully we will be able to contribute to the IronPython compiler codebase as well.

So congratulatons to the IronRuby team on the progress to date, great to see dynamic languages getting more exposure in the .NET world.

Friday, July 06, 2007

Sydney traffic chaos disrupts SyPy meeting

Update: It would appear the Nine News website doesn't have permanent urls so removed their link. Try this one for more background.

Yesterday I hosted the July SyPy meetup at my work. Since the office is North Sydney based, many pythoneers would need to travel to the meeting using Sydney's rail network. It doesn't have the best record for reliability, and yesterday was a classic example. A panel was ripped off a CityRail train as it crossed the Harbour Bridge resulting to commuter chaos for many hours. The good news is that python programmers are a hardy bunch and ten overcame the chaos so we still managed to have a great meeting.

Tim Churches gave a talk on the NetEpi Project which is open-source, network-enabled tools for epidemiology and public health practice. It is consists of two components:
  1. NetEpi Collection, a Web-based outbreak data management tool, written in Python and using open-source components and infrastructure, including the PostgreSQL database.
  2. NetEpi Analysis, a tool for interactive exploratory data analysis of large (10-100 million rows) population health/clinical data sets. It is mainly written in Python, uses Numeric Python (NumPy) and the R statistical environment.
It is good to see that at least one NSW government department is making an investment in open source.

Nigel Tao talked about the Gnome Deskbar Applet, which is written in Python and can be extended using python scripts. He also introduced us to YubNub, the commandline for the web. Something else to distract me, thanks Nigel.

Dyan Jay, web designer, and entrepreneur did a lightning talk about AGX which is a code-generator for CMF/Plone Products based on the Archetypes framework. The design is done in UML, saved in XMI-Format, and AGX parses the saved model, producing the python code.