Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

110 lines (71 sloc) 2.988 kB

Info:Motor is a full-featured, non-blocking MongoDB driver for Python Tornado applications.
Author:A. Jesse Jiryu Davis


Motor presents a Tornado_callback- or Future-based API for non-blocking access to MongoDB. The source is on GitHub and the docs are on ReadTheDocs.

"Motor uses a clever greenlet-based approach to fully support both synchronous and asynchronous interfaces from a single codebase. It's great to see companies like MongoDB produce first-party asynchronous drivers for their products."

Ben Darnell, Tornado maintainer


$ pip install motor


Motor works in all the environments officially supported by Tornado. It requires:

  • Unix, including Mac OS X. Windows is not supported.
  • PyMongo
  • Tornado
  • Greenlet
  • Python 2.6 or later.
  • backports.pbkdf2 for faster authentication with MongoDB 3.0+, especially on Python older than 2.7.8, or on Python 3 before Python 3.4.

See "Requirements" for details about compatibility.

How To Ask For Help

Issues with, questions about, or feedback for Motor should be sent to the mongodb-user list on Google Groups.

For confirmed issues or feature requests, open a case in Jira in the "MOTOR" project. Please include all of the following information:

  • Detailed steps to reproduce the problem, including your code and a full traceback, if possible.

  • What you expected to happen, and what actually happened.

  • The exact python version used, with patch level:

    $ python -c "import sys; print(sys.version)"
  • The exact version of PyMongo used, with patch level:

    $ python -c "import pymongo; print(pymongo.version); print(pymongo.has_c())"
  • The exact Tornado version:

    $ python -c "import tornado; print(tornado.version)"
  • The operating system and version (e.g. RedHat Enterprise Linux 6.4, OSX 10.9.5, ...)


Motor's documentation is on ReadTheDocs.

To build the documentation, install sphinx and do cd doc; make html.


See the examples on ReadTheDocs.


Run python test. Tests are located in the test/ directory. In Python 2.6, unittest2 is automatically installed.

Jump to Line
Something went wrong with that request. Please try again.