Mobi is also available on the Python Package Index:
Note: Mobi was officially announced at the EuroPython conference in Birmingham, UK, on 21 july 2010. A full release followed in September.
Mobile user agent middleware
Mobi is a set of libraries and WSGI components that interact between a webserver and applications which make mobile data available. Mobi detects the user agent header in web requests. If it's a 'UA' on a mobile phone Mobi categorizes it into one of three device types.
If a request is going to a service that doesn't handle presntation (e.g. LDAP), Mobi packages the content in an appropriate skin and provides navigation. For requests that are bound for an application that handles its own presentation the cellphone category is added to the request and the receiving application then decides how to present its content.
The middleware is based on research by Bob Albrecht and Judith A. Pirani who published the paper “Massachusetts Institute of Technology: Transforming the Campus Experience with the MIT Mobile Web”. This paper details what MIT did to build their mobile applications.
For a look at the prototype documentation, visit http://mobi.infrae.com/.