Tools

    Note

    If a project gets removed that is still being developed or is in active useplease let us know or add it back.

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

    • PyMODM
    • is an ORM-like framework on topof PyMongo. PyMODM is maintained by engineers at MongoDB, Inc. and is quickto adopt new MongoDB features. PyMODM is a “core” ODM, meaning that itprovides simple, extensible functionality that can be leveraged by otherlibraries to target platforms like Django. At the same time, PyMODM ispowerful enough to be used for developing applications on its own. Completedocumentation is available on readthedocs in addition to a for discussing the project.
    • Humongolus
    • Humongolus is a lightweight ORMframework for Python and MongoDB. The name comes from the combination ofMongoDB and (theconcept of a miniature though fully formed human body). Humongolus allowsyou to create models/schemas with robust validation. It attempts to be aspythonic as possible and exposes the pymongo cursor objects wheneverpossible. The code is available for downloadat GitHub. Tutorials and usageexamples are also available at GitHub.
    • Ming
    • (the Merciless) is alibrary that allows you to enforce schemas on a MongoDB database inyour Python application. It was developed by SourceForge in the course of their migration toMongoDB. See the for more details.
    • MongoEngine
    • MongoEngine is another ORM-likelayer on top of PyMongo. It allows you to define schemas fordocuments and query collections using syntax inspired by the DjangoORM. The code is available on ; for more information, seethe tutorial.
    • MotorEngine
    • uMongo
    • is a Python MongoDB ODM.Its inception comes from two needs: the lack of async ODM and thedifficulty to do document (un)serialization with existing ODMs.Works with multiple drivers: PyMongo, TxMongo, motor_asyncio, andmongomock. The source is available on GitHub
    • MongoKit
    • The frameworkis an ORM-like layer on top of PyMongo. There is also a MongoKitgoogle group.
    • MongoAlchemy
    • is another ORM-like layer on top ofPyMongo. Its API is inspired by SQLAlchemy. Thecode is available ;for more information, see the tutorial.
    • Minimongo
    • is a lightweight,pythonic interface to MongoDB. It retains pymongo’s query and update API,and provides a number of additional features, including a simpledocument-oriented interface, connection pooling, index management, andcollection & database naming helpers. The source is on GitHub.
    • Manga
    • aims to be a simpler ORM-likelayer on top of PyMongo. The syntax for defining schema is inspired by theDjango ORM, but Pymongo’s query language is maintained. The source is onGitHub.
    • is a connector for usingDjango with MongoDB as the database backend. Use the Django Admin GUI to add andmodify documents in MongoDB.The Djongo Source Code is hosted on GitHuband the is on pypi.
    • Django MongoDB Engine is a MongoDBdatabase backend for Django that completely integrates with its ORM.For more information .
    • mango provides MongoDB backends forDjango sessions and authentication (bypassing entirely).
    • is aproject to enable using MongoDB as a backend for beaker’s caching / session system..
    • Log4Mongo is a flexiblePython logging handler that can store logs in MongoDB using normal and cappedcollections.
    • is a Python logginghandler that stores logs in MongoDB using a capped collection.
    • c5t is a content-management systemusing TurboGears and MongoDB.
    • is aZC Buildout recipe for downloading and installing MongoDB.
    • repoze-what-plugins-mongodb is a projectworking to support a plugin for using MongoDB as a backend forrepoze.what.
    • is a tool to run a sandboxedMongoDB instance from within a python app.
    • Flask-MongoAlchemy AddFlask support for MongoDB using MongoAlchemy.
    • Flask extensionto better integrate MongoKit into Flask.
    • Flask-PyMongo Flask-PyMongobridges Flask and PyMongo.

    These are alternatives to PyMongo.

    • is a full-featured, non-blockingMongoDB driver for Python Tornado applications.
    • TxMongo is an asynchronous TwistedPython driver for MongoDB.
    • is a smalllibrary to help testing Python code that interacts with MongoDB viaPymongo.