Motor, my async driver for MongoDB and Tornado, is now compatible with all the same Python versions as Tornado: CPython 2.5, 2.6, 2.7, and 3.2, and PyPy 1.9.
To get Motor working with Python 3 I had to make a backwards breaking change:
MotorCursor.next is now
next_object. So this:
cursor = db.collection.find() cursor.next(my_callback)
... must now be:
cursor = db.collection.find() cursor.next_object(my_callback)
I had to do this to neatly support Python 3, because
2to3 was unhelpfully transforming
__next__. But the change was worthy even without that problem:
next_object is closer to
nextObject in the Node.js MongoDB driver, whose API I'm trying to emulate. Besides, I wasn't using
next the way Python intends, so I went ahead and renamed it. I'm sorry if this breaks your code. This is what the alpha phase is for.
The only remaining feature to implement is GridFS, which I'll do within the month. There's some more testing and documentation to do, and then we'll move from alpha to beta.
I know a few people are trying out Motor. I've received no bug reports so far, but some users have reported omissions in the docs which I've filled in. If you're using Motor, get in touch and let me know: firstname.lastname@example.org.