Lightweight Mongodb ODM/ORM for Python

backbone.js, flask, mongodb, pymongo, python

Solution

1st of all I'd love to have it as well.

Based on my research

Ming is a very promising mongo ODM driver: http://merciless.sourceforge.net/

MongoEngine is too big to adapt it for your requirements/usecase. Same for MongoKit.

There is some hope in micromongo: http://packages.python.org/micromongo

Could be a good starting point.

BTW: Hmmm... I don't know what you're writing but having forms and validators covered you can easily build admin interface and end-up having next generation Django. Good luck!

Problem

I'm looking for MondoDB Python ODM/ORM that takes the best from two worlds: ODM/ORM & ultra fast direct dictionary read. In other words package shall comply with following requirements: - Allows to define and enforce schema. - Allows to validate fields. - Allows to read objects directly from mongodb (no ODM/ORM overhead). - Collections/objects returned directly by pymongo can be accessed using ODM/ORM layer (w/o extra queries). - I would imagine some kind of lazy field added by pymongo driver to objects that provides access to ORM juice (pymongo allows for such extensions). - Imagine use case: - For fast read we go directly to driver, - For data entry we use full ODM/ORM functionality - Geofields support - GridFS support of normal files and images - DBRef support - Does not enforce any hidden, framework specific fields - Will work with Flask :) - Has forms framework. - Forms cover sublists/subdicts - Backbone based forms would be just awesome - Creates backbone models, collections, validators based of python definition I know that I'm asking for much but wouldn't it be awesome to have something like this :) In fact question could be rephrased into: "Which of existing Python Mongodb ODM/ORMs (MongoKit, MongoEngine) could be easily extended this way."

Original source

Related problems