Archive for the 'Python' tag

April
8th 2008
Google App Engine SDK Bug

Tags: , , , ,

There’s a bug in the way the windows version of the Google App Engine SDK handles static directory handling. Basically, the way the SDK figures out the request URL and path to map it to don’t handle the backslashes properly. Single backslashes are left in the variable that is later used in a regular expression match. Here’s what you can do to modify the code to escape the path and make the SDK work on windows:

Open up this file in your favorite editor: C:\Program Files\Google\google_appengine\google\appengine\tools\dev_appserver.py

Search for this code block: (line 2369)

regex = os.path.join(re.escape(regex), '(.*)')
path = os.path.join(path, '\\1')

Replace it with these lines:

# urls should always have forward slashes
regex = re.escape(regex) + '/(.*)'
# be careful turning paths into regex strings
path = re.escape(path + os.sep) + '\\1'

1 Comment »

April
8th 2008
Google App Engine

Tags: , , , ,

Google announced a new product yesterday called Google App Engine.  It looks very interesting.  The jist of it is, you can write your own dynamic web application and have it run on Google’s servers, using their fancy software.  This means you get to use GFS and BigTable as well as a bunch of other proven Google technologies.

The current offering is only a preview, which was limited to 10,000 users.  I didn’t read about it until this morning, so I missed the preview window by a long shot.  If you try to sign up now you can have them notify you when a spot is open.

They have a SDK available to write and test applications locally.  It has a stand-alone webserver so you can have a development environment similar to what you’ll see when you upload your application to Google.  Speaking of uploading, the SDK contains the tools to upload your code to Google.  The configuration is done with YAML files.  You set your application’s name, version, runtime, and the version of the App Engine API you’d like to go against.

Though they claim the underlying framework is runtime agnostic, the only currently available runtime is Python.  They’ve got the full core language and a neutered version of its standard libraries.  They’ve even made Django available in their hosted environment.

This seems like it will be a pretty cool option for future web applications.  The scaling and redundancy is what interests me the most.  Not to mention the cost: free.

Comments Off