Motor: Asynchronous Python driver for MongoDB



Motor presents a coroutine-based API for non-blocking access to MongoDB from Tornado or asyncio.

The source is on GitHub and the docs are on ReadTheDocs.

“We use Motor in high throughput environments, processing tens of thousands of requests per second. It allows us to take full advantage of modern hardware, ensuring we utilise the entire capacity of our purchased CPUs. This helps us be more efficient with computing power, compute spend and minimises the environmental impact of our infrastructure as a result.”

David Mytton, Server Density

“We develop easy-to-use sensors and sensor systems with open source software to ensure every innovator, from school child to laboratory researcher, has the same opportunity to create. We integrate Motor into our software to guarantee massively scalable sensor systems for everyone.”

Ryan Smith, inXus Interactive

Install with:

$ python -m pip install motor

Getting Help

If you’re having trouble or have questions about Motor, ask your question on our MongoDB Community Forum. You may also want to consider a commercial support subscription. Once you get an answer, it’d be great if you could work it back into this documentation and contribute!


All issues should be reported (and can be tracked / voted for / commented on) at the main MongoDB JIRA bug tracker, in the “Motor” project.

Feature Requests / Feedback

Use our feedback engine to send us feature requests and general feedback about PyMongo.


Motor has a large community and contributions are always encouraged. Contributions can be as simple as minor tweaks to this documentation. To contribute, fork the project on GitHub and send a pull request.


See the Changelog for a full list of changes to Motor.



Logo by Musho Rodney Alan Greenblat