Typhoon App Engine.
Project description
The TyphoonAE project aims at providing a full-featured and productive serving environment to run Google App Engine (Python) applications. It delivers the parts for building your own scalable App Engine while staying compatible with Google’s API.
Copyright and License
Copyright 2009, 2010 Tobias Rodaebel
This software is released under the Apache License, Version 2.0. You may obtain a copy of the License at
Google App Engine is a trademark of Google Inc.
Installation
Since the TyphoonAE Python package contains glue code for various service components, it is recommended to install this software with zc.buildout and the buildout configuration which can be downloaded here:
http://typhoonae.googlecode.com/files/typhoonae-buildout-0.2.0.tar.gz
Unpack the archive and follow the steps described in the README.txt file. This package and the Google App Engine SDK 1.4.0 will also be installed by the buildout.
For the ones who don’t want to build their own TyphoonAE environment, we supply a preconfigured VMware appliance. See http://code.google.com/p/typhoonae/wiki/VMware for a brief documentation.
Visit the project page http://typhoonae.googlecode.com for further information.
CHANGES
Version 0.2.0 (2010-12-12)
Supports Google App Engine SDK 1.4.0.
Implements Channel API backed by the NGINX push module.
Adds experimental support for the appcfg.py update command.
Incoming Mail Service through a configurable IMAP listener and HTTP dispatcher.
Adds process monitor for automatically restarting appserver processes consuming more than a given amount of memory that is held in RAM (RSS).
Using Celery as alternative Task Queue backend.
Appserver imports and initializes API proxy stubs for various service backends only when needed.
Updated Web Socket Service to provide the latest Web Socket protocol.
Removed obsolete service for sequential integer ids and so eliminated a typical ‘Single Point Of Failure’.
Fixes an issue where spaces in application paths caused failures on startup.
Fixes issues where develop mode didn’t work.
Fixes an issue where the Capability API did not work with remote Datastore configuration.
Fixes a critical issue where an application hangs if the connection to the MySQL database server is temporarily lost.
Fixes a compatibility issue with Memcache.
Fixes compatibility issues with adding new tasks.
Version 0.1.5 (2010-07-09)
Supports Google App Engine SDK 1.3.5.
Introducing MySQL backed Datastore.
Added support for configuring and running multiple applications.
The apptool takes new options for configuring SSL support.
The apptool takes a new option to specify a root directory for HTML error pages.
Fixes an issue where Blobstore creates invalid upload URLs.
Fixes an issue where the appserver crashes due to absolute script paths in the app.yaml file.
Fixes an issue where some users experiencing strange behaviours with module imports.
Fixes an issue where request handlers get executed, even though they require login.
Fixes an issue where script handlers referring to a package path don’t work.
Version 0.1.4 (2010-04-26)
Supports Google App Engine SDK 1.3.3.
Implements new features of Google App Engine SDK 1.3.2.
Blobstore API to read the contents of uploaded Blobs.
Task Queue API for adding multiple tasks in a single call.
Fixes an issue where it was nearly impossible to use a custom login/logout handler.
Fixes an issue where bulkloader.py didn’t fetch any results from our MongoDB backed datastore.
Fixes a compatibility issue with crontab on Fedora.
Updated memcached, MongoDB, ejabberd and various Python packages.
Adds experimental JSON/RPC handler.
Version 0.1.3 (2010-03-12)
Supports Google App Engine SDK 1.3.1.
Adds support for Datastore Query Cursors.
The apptool takes a new option to configure an application for development.
Fixes an issue where memcache batch support wasn’t implemented.
Version 0.1.2 (2010-02-08)
Adds experimental Web Socket service API.
Adds support for remote datastore.
Adds command line options to configure the HTTP port and SMTP host.
Fixes two issues where some static_dir and static_files handler options where misinterpreted.
Fixes an issue where an incomplete cron.yaml file caused apptool to fail.
Fixes an issue where BlobKey types can’t be stored in the mongoDB datastore.
Fixes an issue where the Blobstore API wasn’t fully implemented.
Version 0.1.1 (2009-12-28)
Supports Google App Engine SDK 1.3.0.
Adds support for the new Blobstore API.
Adds optional HTTP basic authentication.
Fixes an issue where the XMPP/HTTP dispatcher didn’t handle unicode.
Fixes an issue where memcache.get_multi(keys) raises a KeyError.
Fixes an issue where the SCRIPT_NAME variable is missing in the CGI environment.
Fixes an issue where the login parameter of URL handler definitions in the app.yaml configuration file got ignored.
Adds several new command line options to the apptool and fcgiserver.
Version 0.1.0b2 (2009-12-04)
Using Google App Engine SDK 1.2.8.
Added BDBDatastore support.
Fixes an issue where the CURRENT_VERSION_ID variable is missing in the CGI environment.
Deferred API works now.
Fixes an issue where memcache.put() raises a UnicodeDecodeError when trying to store an encoded protocol buffer.
Added support for datastore queries with the keys_only keyword argument.
Fixes an issue where writing unicode strings to the FastCGI output stream raises a TypeError.
Version 0.1.0b1 (2009-11-20)
Added support for scheduled tasks.
Fixes an issue where the params keyword argument gets ignored when adding a task.
Minor refactoring.
Version 0.1.0a3 (2009-10-22)
Added support for sending XMPP invitations.
Fixes an issue where static file pattern handlers got ignored.
Fixed unit tests.
Version 0.1.0a2 (2009-10-17)
Added XMPP support.
Fixed an issue where an incorrect module path within a handler definition can cause the fcgiserver to crash on startup.
Refactored integer ID client API out of datastore stub.
Version 0.1.0a1 (2009-10-05)
First alpha release.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.