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