Many tools have been written for working with PyMongo. If you know of or have created a tool for working with MongoDB from Python please list it here.


We try to keep this list current. As such, projects that have not been updated recently or appear to be unmaintained will occasionally be removed from the list or moved to the back (to keep the list from becoming too intimidating). If a project gets removed that is still being developed or is in active use please let us know or add it back.

ORM-like Layers

Some people have found that they prefer to work with a layer that has more features than PyMongo provides. Often, things like models and validation are desired. To that end, several different ORM-like layers have been written by various authors.

It is our recommendation that new users begin by working directly with PyMongo, as described in the rest of this documentation. Many people have found that the features of PyMongo are enough for their needs. Even if you eventually come to the decision to use one of these layers, the time spent working directly with the driver will have increased your understanding of how MongoDB actually works.

The MongoKit framework is an ORM-like layer on top of PyMongo. There is also a MongoKit google group.
Ming (the Merciless) is a library that allows you to enforce schemas on a MongoDB database in your Python application. It was developed by SourceForge in the course of their migration to MongoDB. See the introductory blog post for more details.
MongoEngine is another ORM-like layer on top of PyMongo. It allows you to define schemas for documents and query collections using syntax inspired by the Django ORM. The code is available on github; for more information, see the tutorial.
pymongo-bongo is a project to add some syntactic sugar on top of PyMongo. It is open source and the code is available on github.

Smaller or less well-maintained projects (in order from most to least recently committed to at the time of the last update to this list):

Framework Tools

This section lists tools and adapters that have been designed to work with various Python frameworks and libraries.

mango provides MongoDB backends for Django sessions and authentication (bypassing django.db entirely).
mongodb_beaker is a project to enable using MongoDB as a backend for beaker’s caching / session system. The source is on bitbucket.
MongoLog is a Python logging handler that stores logs in MongoDB using a capped collection.
c5t is a content-management system using TurboGears and MongoDB.
rod.recipe.mongodb is a ZC Buildout recipe for downloading and installing MongoDB.
repoze-what-plugins-mongodb is a project working to support a plugin for using MongoDB as a backend for repoze.what.

Alternative Drivers

These are alternatives to PyMongo.

PyMonga is an asynchronous Python driver for MongoDB, although it is not currently recommended for production use.

Table Of Contents

Previous topic

grid_file – Tools for representing files stored in GridFS

Next topic


This Page