Please note that the contents of this offline web site may be out of date. To access the most recent documentation visit the online version .
Note that links that point to online resources are green in color and will open in a new window.
We would love it if you could give us feedback about this material by filling this form (You have to be online to fill it)



Tools and Tips

This page summarizes many useful tools and resources for working in App Engine. Use this document to find tools related to the following common uses or APIs.

  1. Index of topics (expand for full list)
    1. App Development
      1. AppStats
      2. Datastore SQLite Stub
      3. Local Unit Testing
      4. Samples for Google App Engine
    2. App Management
      1. Capabilities API
      2. DoS Protection Service Configuration
      3. Zipserve
    3. App Performance
      1. AppStats
      2. Precompilation
    4. App Testing
      1. Local Unit Testing
    5. Blobstore API
      1. Blobreader and BlobstoreInputStream
    6. Datastore
      1. Backup, Restore, Copy, and Delete
      2. Datastore Statistics
      3. Datastore SQLite Stub
      4. Development Console
      5. Expando Class
      6. Mapper API
      7. Remote API
      8. Transactional Tasks
    7. Mail API
      1. Ereporter
    8. Memcache
      1. Development Console
    9. Task Queue
      1. Deferred Library
      2. Task Queue Storage Limits
      3. Transactional Tasks
    10. Users API
      1. OAuth
      2. OpenID

App Development

Name What it is, and why use it? More Information
AppStats Language: Python and Java

Description: Measure the performance of your app with Appstats. Appstats is a suite of App and API call profiling tools that record events and provide a web-based administrative interface for browsing statistics.

More Info:
Datastore SQLite Stub Language: Python Only

Description: If you store a lot of data in your datastore, you can improve performance and startup times by switching to SQLite as the backend for your local datastore stub.

More Info:
Local Unit Testing Language: Java Only

Description: Write tests that use local service implementations that are bundled with the SDK.

More Info:
Samples for Google App Engine Language: Python Only

Description:

More Info:

App Management

Name What it is, and why use it? More Information
Capabilities API Language: Python and Java

Description: Use the Capabilities API to identify API outages and scheduled downtime.

More Info:
DoS Protection Service Configuration Language: Python and Java

Description: Protect your application from running out of quota when subjected to DoS attacks or similar events with App Engine Denial of Service Protection Service. You can update the DoS configuration when you upload your application to App Engine, or you can update just the DoS configuration without uploading the rest of your application.

More Info:
Zipserve Language: Python Only

Description: Use Zipserve to allow your app to serve static files from a zipfile. This is useful for apps that need to serve a 1000+ small static files while staying within the 1000-file limit.

More Info:

App Performance

Name What it is, and why use it? More Information
AppStats Language: Python and Java

Description: Measure the performance of your app with Appstats. Appstats is a suite of App and API call profiling tools that record events and provide a web-based administrative interface for browsing statistics.

More Info:
Precompilation Language: Python and Java

Description: Enhance the performance of your app using precompilation. Precompilation is already enabled by default, but you have the option to disable it.

More Info:

App Testing

Name What it is, and why use it? More Information
Local Unit Testing Language: Java Only

Description: Write tests that use local service implementations that are bundled with the SDK.

More Info:

Blobstore API

Name What it is, and why use it? More Information
Blobreader and BlobstoreInputStream Language: Python and Java

Description: Read Blobs via a file-like interface using BlobReader in Python and/or BlobstoreInputStream in Java.

More Info:

Datastore

Name What it is, and why use it? More Information
Backup, Restore, Copy, and Delete Language: Python and Java

Description: Back up, restore, or delete your application's datastore, or copy the data to another application.

More Info:
Datastore Statistics Language: Python and Java

Description: View statistics about the data stored for an application using Datastore Statistics. You can view these statistics from the Administration Console under Datastore > Statistics or access these values programmatically within your application.

More Info:
Datastore SQLite Stub Language: Python Only

Description: If you store a lot of data in your datastore, you can improve performance and startup times by switching to SQLite as the backend for your local datastore stub.

More Info:
Development Console Language: Python and Java

Description: Use the development console included in the development web server to browse the local datastore.

More Info:
Expando Class Language: Python Only

Description: Use dynamic properties with datastore entities.

More Info:
Mapper API Language: Python and Java

Description: Manipulate data on a large scale using the Mapper API, which is one component of the MapReduce toolkit.

More Info:
Remote API Language: Python Only

Description: Access the datastore remotely while still using the standard familiar APIs with the remote_api module. This is useful when you need to manipulate the datastore in ways that are not well suited to the request/response model used for serving web applications.





More Info:
Transactional Tasks Language: Python and Java

Description: Enqueue tasks as part of a datastore transaction using Transactional Tasks such that the task is only enqueued—and guaranteed to be enqueued—if the transaction is committed successfully.

More Info:

Mail API

Name What it is, and why use it? More Information
Ereporter Language: Python Only

Description: Receive exception reports from your application via email by using the google.appengine.ext.ereporter package.

More Info:

Memcache

Name What it is, and why use it? More Information
Development Console Language: Python and Java

Description: Use the development console included in the development web server to browse the local datastore.

More Info:

Task Queue

Name What it is, and why use it? More Information
Deferred Library Language: Python Only

Description: Execute arbitrary functions using the Task Queue. This can be useful for one-off or ad-hoc tasks. The Deferred library lets you bypass all the work of setting up dedicated task handlers and serializing/deserializing parameters by exposing a simple function, deferred.defer() .

More Info:
Task Queue Storage Limits Language: Python and Java

Description: Configure your task queue to specify or limit the total amount of storage task data that is allowed to be consumed over all queues.

More Info:
Transactional Tasks Language: Python and Java

Description: Enqueue tasks as part of a datastore transaction using Transactional Tasks such that the task is only enqueued—and guaranteed to be enqueued—if the transaction is committed successfully.

More Info:

Users API

Name What it is, and why use it? More Information
OAuth Language: Python and Java

Description: Allow users to grant a third party or application limited permission to access your app on his or her behalf without sharing credentials using the OAuth protocol.

More Info:
OpenID (Experimental) Language: Python and Java

Description: Allow users to authenticate using their OpenID credentials by selecting Federated Login" instead of "Google Accounts" at creation time.

More Info:

Authentication required

You need to be signed in with Google+ to do that.

Signing you in...

Google Developers needs your permission to do that.