Tag: Python

Guido Van Rossum, who has been working with team working on Google App Engine, has released the open source version of Mondrian. Mondrian is the code review tool heavily used at Google by Google Engineers, Mondrian was developed by Guido as his first project at Google. Guido said:

My first project as a Google engineer was an internal web app for code review. According to Wikipedia, code review is “systematic examination (often as peer review) of computer source code intended to find and fix mistakes overlooked in the initial development phase, improving both the overall quality of software and the developers’ skills.” Not an exciting topic, perhaps, but the internal web app, which I code-named Mondrian after one of my favorite Dutch painters, was an overnight success among Google engineers (who evidently value software quality and skills development :-). I even gave a public presentation about it: you can watch the video on YouTube.

Guido always wanted to release Mondrian as open source, but due to its popularity amongst Google Engineers he couldn’t released it as Mondrian is heavily tied to Google internal development tools. According to Guido:

I’ve always hoped that we could release Mondrian as open source, but so far it hasn’t happened: due to its popularity inside Google, it became more and more tied to proprietary Google infrastructure like Bigtable, and it remained limited to Perforce, the commercial revision control system most used at Google.

But After joining Google App Engine Team Guido got a chance to write the clone of Mondrian which he named Rietveld and released as OpenSource. Rietveld is available at: codereview.appspot.com

According to Guido:

The Rietveld app serves several purposes at once: it is a demo of fairly large-scale use of the popular web framework Django with App Engine.

Oh yes! Finally. Google has releast a Django helper for their Google Apps Engine. The helper gives you the blank project the same that would be provided by django-admin’s startproject command. From the README file:

The helper is provided in the context of a blank Django project, very similar to what would be provided by the django-admin.py startproject command. This project contains minor customisations to manage.py and settings.py that demonstrate how to integrate the helper with a Django project.

Helper helps you use your Django framework almost natively and build your Django apps that would be runnable on Google App Engine. The Django helper provides following functionality:

The ability to use most manage.py commands

A BaseModel class that appears the same as the standard Django Model class.

The ability to serialize and deserialize model instances to JSON, YAML and XML.

Access to Django’s test framework with a test datastore and support for fixtures.

The steps Google has taken will really help Django Community to get their hands dirty with Google Apps Engine. As now they have BaseModel class that is same as Model class provided by the Django framework. The people who have used Django would agree with me that Django DB Models are very easier to manage and use then any other frameworks (I have used CakePHP, Django and Google Apps Engine). But I am fan of Django DB Models as they provide the Pythonic interface to your Database.

As summer is near and I am committed with my self to get my hands dirty on Ruby this summer and Google App Engine Team is working hard to add other languages support like PHP, Ruby & perl. So hopefully by this summer they will be able to add Ruby until then I would be familiar with Ruby on Rails framework, then I might be in better position to decide which framework gives your the easiest DB API and DB Models.