Skip to main content

Non-blocking MongoDB driver for Tornado

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 applications.

Author:

A. Jesse Jiryu Davis

https://travis-ci.org/mongodb/motor.png

About

Motor presents a Tornado callback-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 10gen produce first-party asynchronous drivers for their products.”

Ben Darnell, Tornado maintainer

Issues / Questions / Feedback

Any 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 on jira in the “MOTOR” project.

Installation

$ pip install motor

Dependencies

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

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

  • PyMongo

  • Tornado

  • Greenlet

  • CPython 2.5, 2.6, 2.7, 3.2, or 3.3

  • Although Motor works with PyPy 1.9, limitations with greenlets and PyPy’s JIT compiler make PyPy applications that use Motor too slow to use. We eagerly await improvements in PyPy 2.0.

Additional dependencies are:

  • (to generate documentation) sphinx

  • (to run tests) nose

Documentation

You will need sphinx installed to generate the documentation. Documentation can be generated by running python setup.py doc. Generated documentation can be found in doc/build/html/. You can read the current docs at ReadTheDocs.

Examples

See the examples on ReadTheDocs or Chirp, a dumb Twitter clone.

Testing

The easiest way to run the tests is to install nose and run nosetests in the root of the distribution.

You can run all the tests in Python 3 with python setup.py nosetests. Due to a nose bug, running a subset of the tests in Python 3 is complicated. Build Motor and its tests with Python 3, then cd to the build directory and run nosetests:

$ python3.3 setup.py build --test
using 2to3
including test modules
running build
running build_py
creating build/lib/motor
...
$ cd build/lib
$ nosetests-3.3 test.test_motor_client

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.1.2.tar.gz (83.9 kB view details)

Uploaded Source

File details

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

File metadata

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

File hashes

Hashes for motor-0.1.2.tar.gz
Algorithm Hash digest
SHA256 dc2541572868ef1b9ccfecfe67036e42b97c951437c7290900eb1f33902e6170
MD5 f7477ac6c55046b2345bb91dce63fa83
BLAKE2b-256 6de23c9c35d0b8b3ff10f9a84067bbe8b071f492e1a3a5c95b0ce75bd00db78a

See more details on using hashes here.

Supported by

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