NDB 0.9.9 released

57 views
Skip to first unread message

Guido van Rossum

unread,
Mar 3, 2012, 1:17:28 PM3/3/12
to google-appe...@googlegroups.com, appengine-...@googlegroups.com, google-a...@googlegroups.com
Leading up to the (still :-) hopeful elevation of NDB's status out of experimental to fully supported in the next App Engine SDK release, I am pleased to release NDB 0.9.9.

Download: http://code.google.com/p/appengine-ndb-experiment/downloads/detail?name=appengine-ndb-experiment-0.9.9.zip

INCOMPATIBILITIES:

Be aware that the following incompatible changes will also be included in the next SDK and runtime.
  • Issue 163: String/TextProperty should not allow writing non-UTF-8 text.
  • Issue 139: Enforce size limits for indexed text/blob properties.
  • Issue 156: Changed query cache policy (again).
  • Issue 162: Raise an error on attempting to create a nested transaction.
  • Issue 161: Make get_or_insert() use existing transaction if one exist.
New feature:
  • Issue 158: Support GenericProperty(compressed=True).
Other fixes:
  • Issue 164: Reduce log spam for exceptions in production.
  • Issue 159: Make Model.__init__() signature more robust.
  • Fixed index_list() tests (were broken due to a last-minute runtime change).

About NDB:

NDB is a new, experimental Python client library for the App Engine
datastore. It is fully open source. I am looking for feedback and
contributions from users, but please understand that it is not yet
fully supported. A version of NDB is included in the official App
Engine runtime and SDK with experimental status, but those always lag
behind somewhat. (SDK 1.6.3 contains NDB 0.9.8.)

More Info:

Official docs (for 0.9.8): http://code.google.com/appengine/docs/python/ndb/
Tutorial (no longer maintained): http://goo.gl/6n6RO
Async tutorial (no longer maintained): http://goo.gl/uFXEG
Project page: http://code.google.com/p/appengine-ndb-experiment/
Issue tracker: http://code.google.com/p/appengine-ndb-experiment/issues/list
Mailing list / group: https://groups.google.com/group/appengine-ndb-discuss?pli=1
Check out the repo: hg clone https://code.google.com/p/appengine-ndb-experiment/

--
--Guido van Rossum (python.org/~guido)

Kaan Soral

unread,
Mar 3, 2012, 6:39:32 PM3/3/12
to google-a...@googlegroups.com, google-appe...@googlegroups.com, appengine-...@googlegroups.com
Great to hear,

"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."

How much of this warning will still be valid?

Guido van Rossum

unread,
Mar 3, 2012, 6:52:02 PM3/3/12
to google-appe...@googlegroups.com, google-a...@googlegroups.com, appengine-...@googlegroups.com
On Sat, Mar 3, 2012 at 15:39, Kaan Soral <kaan...@gmail.com> wrote:
> "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."
>
> How much of this warning will still be valid?

Good question. I wish I could guarantee that the 5 issues mentioned in
my original email under "INCOMPATIBILITIES" are the last incompatible
changes, but of course it's never done until it's done, and it's
*possible* that we'll find some more things that we'd like to change
before drawing the line in the sand. However you can tell from the
list of incompatibilities that they are definitely edge cases. The
changes in transaction semantics are the most serious IMO, but it's
always possible that someone has accidentally put strings over 500
characters in a StringProperty (or over 500 bytes in an indexed
BlobProperty). Still, no methods, functions or classes were renamed,
and no signatures changed. I hope to continue this trend.

In any case, I can't remind people enough that (at least) these
incompatibilities will hit production when the 1.6.4 SDK goes out
(actually production will see them a few days earlier) so please
review your code, and if possible test with NDB 0.9.9. I also hope
that 1.6.4 will see NDB's "experimental" label removed -- but no
guarantees!

Reply all
Reply to author
Forward
0 new messages