views:

293

answers:

1

Information on frameworks, languages, and libraries for GAE/J is maintained at : http://groups.google.com/group/google-appengine-java/web/will-it-play-in-app-engine

Is there a similar page for GAE/Py?

+3  A: 

From http://code.google.com/appengine/docs/python/overview.html

The Python runtime environment uses Python 2.5.2.

All code for the Python runtime environment must be pure Python, and not include any C extensions or other code that must be compiled.

The environment includes the Python standard library. Some modules have been disabled because their core functions are not supported by App Engine, such as networking or writing to the filesystem. In addition, the os module is available, but with unsupported features disabled. An attempt to import an unsupported module or use an unsupported feature will raise an exception.

A few modules from the standard library have been replaced or customized to work with App Engine. For example:

* cPickle is aliased to pickle. Features specific to cPickle are not supported.
* marshal is empty. An import will succeed, but using it will not.
* These modules are similarly empty: imp, ftplib, select, socket
* tempfile is disabled, except for TemporaryFile which is aliased to StringIO.
* logging is available and its use is highly encouraged! See below.

In addition to the Python standard library and the App Engine libraries, the runtime environment includes the following third-party libraries:

* Django 0.96.1
* WebOb 0.9
* PyYAML 3.05

You can include other pure Python libraries with your application by putting the code in your application directory. If you make a symbolic link to a module's directory in your application directory, appcfg.py will follow the link and include the module in your app.

The Python module include path includes your application's root directory (the directory containing the app.yaml file). Modules you create in your application's root directory are available using a path from the root. Don't forget to create init.py files in sub-directories, so Python will recognize the sub-directories as packages.

Dan Lorenc