mogo is a simple PyMongo "schema-less" object wrapper.
This library is a simple "schema-less" object wrapper around the pymongo library (http://github.com/mongodb/mongo-python-driver). mogo is not a full-featured ORM like MongoEngine -- it simply provides some syntactic sugar so that you can access any PyMongo result with dot-attribute syntax, as well as attach custom methods to the models.
This emerged from my experience with PyMongo and MongoEngine -- while pymongo is very simple to use and really flexible, it doesn't fully meet the MVC pattern because you are working with plain dicts and can't attach model logic anywhere.
Developer comments
MongoEngine, on the other hand, is a heavier implementation on top of PyMongo, with Django-like syntax. While I liked MongoEngine, ultimately I wanted the schema-less flexibility of a dict with as little between my code and the database as possible.
mogo is licensed under the Apache License, Version 2.0.
Product's homepage
Here are some key features of "mogo":
· Object oriented design for MVC patterns
· Models are dicts, so dot-attribute or key access is valid.
· Support for specifiying Field() attributes without requiring them or enforcing types.
· Lazy-loading foreign key instances.
· (Hopefully) quick and lightweight.
Requirements:
· Python
· pymongo