Skip to main content

Non-blocking MongoDB driver for Tornado or asyncio

Project description

https://raw.github.com/mongodb/motor/master/doc/_static/motor.png
Info:

Motor is a full-featured, non-blocking MongoDB driver for Python Tornado and asyncio applications.

Author:

A. Jesse Jiryu Davis

About

Motor presents a 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

“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

Installation

$ pip install motor

Dependencies

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

  • Unix, including Mac OS X. Windows is not supported.

  • PyMongo 2.8.0 exactly.

  • 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:

    $ python -c “import pymongo; print(pymongo.version); print(pymongo.has_c())”

  • The exact Tornado version, if you are using Tornado:

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

Documentation

Motor’s documentation is on ReadTheDocs.

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

Examples

See the examples on ReadTheDocs.

Testing

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

motor-0.6.2.tar.gz (144.6 kB view details)

Uploaded Source

File details

Details for the file motor-0.6.2.tar.gz.

File metadata

  • Download URL: motor-0.6.2.tar.gz
  • Upload date:
  • Size: 144.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for motor-0.6.2.tar.gz
Algorithm Hash digest
SHA256 f1222e4de786dd92f64ebd453be358f4fed72ceb1bb04525347b9dfafda7f2d2
MD5 4000e9f43f09a8680d5c09d0e78f4f36
BLAKE2b-256 274c65481387841b9989972106b74a1f96eae367d1b08948ae35c2b860fb713d

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page