Motor logo by Musho Rodney Alan Greenblat

Three weeks after I released the beta, I’m proud to present Motor 0.7.

For asynchronous I/O Motor now uses a thread pool, which is faster and simpler than the prior implementation with greenlets. It no longer requires the greenlet package, and now requires the futures backport package on Python 2. Read the beta announcement to learn more about the switch from greenlets to threads.

Install with:

python -m pip install motor

This version updates the PyMongo dependency from 2.8.0 to 2.9.x, and wraps PyMongo 2.9’s new APIs.

Since the beta release, I’ve fixed one fun bug, a manifestation in Motor of the same import deadlock I fixed in PyMongo, Tornado, and Gevent last year.

The next release will be Motor 1.0, which will be out in less than a month. Most of Motor 1.0’s API is now implemented in Motor 0.7, and APIs that will be removed in Motor 1.0 are now deprecated and raise warnings.

This is a large release, please read the documentation carefully:

If you encounter any issues, please file them in Jira.

Peace,
—A. Jesse Jiryu Davis