PyModels — легкий «ORM» для документоориентированных БД
PyModels — легковесный фреймворк, позволяющий соотносить записи бессхемных (schema-less) баз данных с классами на языке Python. Это не ORM, поскольку вместо сопряжения имеющихся схем с классами появляется возможность полностью определить их на более высоком уровне, построенном на бессхемном хранилище данных (key/value или документоориентированном). Вы определяете модели как значимое подмножество всех записей и работаете только с нужным подмножеством свойств таких записей. Используется инновационная концепция "модель--запрос".
Поддерживаются различные БД, включая Tokyo Cabinet (напрямую и через Tokyo Tyrant) и MongoDB. Можно без труда написать дополнительные бэкенды. См. полный список бэкендов. Таким образом, однажды описанные модели будут работать с различными БД (хотя будут нюансы из-за "разношерстности" популярных БД).
Библиотека не покрывает реляционные БД, поскольку для них давно существуют хорошо отлаженные ORM.
См. также:
подробная документация на английском языке (с примерами);