# The Python NDB API - Google App Engine - Google Code

English ▼
Skip to page content Skip to main navigation
e.g. "templates" or "datastore"

# The Python NDB API

#### Experimental!

NDB is an experimental, innovative, and rapidly changing new feature for App Engine. Unfortunately, being on the bleeding edge means that we may make backwards-incompatible changes to NDB. We will inform the community when this feature is no longer experimental.

The NDB API provides persistent storage in a schemaless object datastore. It supports automatic caching, sophisticated queries, and atomic transactions. NDB is well-suited to storing structured data records. It provides an alternative to the App Engine Datastore API. NDB has some features that the Datastore API lacks:

- The `StructuredProperty` class, which allows entities to have nested structure
- Integrated automatic caching, which typically gives fast (and inexpensive) reads via an in-context cache and Memcache
- Asynchronous APIs which allow concurrent actions (and "synchronous" APIs if you don't need that)

This reference describes the Python NDB API. It has the following sections:

- NDB Overview
- Entities and Keys
- Properties
- Writing Property Subclasses
- Queries
- Transactions
- Administration
- Asynchronous Operation
- Caching
- Reference
  - Context
  - Future
  - Key
  - Model
  - Query
  - PolyModel
  - Metadata
  - functions