# A new App Engine datastore API

DevFeed: [A new App Engine datastore API](<https://devfeed.tech/articles/a-new-app-engine-datastore-api-38889.md>)

Original publisher: [Read original article](<http://neopythonic.blogspot.com/2011/01/new-app-engine-datastore-api.html>)

Author: Guido van Rossum (noreply@blogger.com)

Published: 2011-01-07T20:20:00Z

Content type: release

Language: en

Sources: [Guido van Rossum](<https://devfeed.tech/sources/guido-van-rossum.md>)

Topics: [Python](<https://devfeed.tech/topics/python.md>), [API](<https://devfeed.tech/topics/api.md>), [Databases](<https://devfeed.tech/topics/databases.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>), [generators](<https://devfeed.tech/topics/generators.md>), [Coroutines](<https://devfeed.tech/topics/coroutines.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [appengine](<https://devfeed.tech/tags/appengine.md>), [classes](<https://devfeed.tech/tags/classes.md>), [coroutines](<https://devfeed.tech/tags/coroutines.md>), [design](<https://devfeed.tech/tags/design.md>), [generators](<https://devfeed.tech/tags/generators.md>), [kind](<https://devfeed.tech/tags/kind.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [python](<https://devfeed.tech/tags/python.md>)

## AI overview

Guido van Rossum introduces Datastore Plus, a preliminary redesign of the Python datastore API for App Engine users. The proposal includes cleaner Key, Model, Property, and Query implementations and a high-level asynchronous API using Python generators as coroutines. The implementation is available as an open-source project for review, with feedback requested on its documentation, implementation, and API design.

## Source excerpt

This post is primarily intended for App Engine users (and of those, only Python users :-). Over the past months I've been working on a new design for the Python datastore API, under the code name Datastore Plus. The new design is very ambitious, and changes a lot of things: New, cleaner implementations of Key, Model, Property and Query classes High-level asynchronous API using Python generators as coroutines (PEP 342) The design is meant to eventually replace the existing db package in the App Engine runtime library, but for now, it is just an open source project which you have to download and copy into your application. I am not at all finished with this design, but I believe in listening to users, so I am making a preliminary version of the new API available for review. Please send me your thoughts, either in this blog, or via private mail to guido (at) google.com. Note that the implementation works, but I cannot guarantee that it won't change. Documentation is here: http://goo.gl/D6Onw The project to check out is here: http://goo.gl/GapXI You must use Mercurial to check out the project, but it's fine to check it out anonymously -- I don't require anybody to log in to look or comment. (If using Mercurial is too much of a burden, there's also a zipfile on the site, but I don't plan to update it frequently.) I'm interested in receiving any kind of feedback at all. It would help me if you could clarify whether your feedback is about an issue with the documentation, an issue with the implementation, or an issue with the API design -- though I realize you can't always tell the difference. :-) (You can also comment on the thread in the google-appengine-python group here: https://groups.google.com/group/google-appengine-python/browse_thread/thread/454cb81d49e759f2.)