Description
MongoFrames is a fast unobtrusive MongoDB ODM for Python designed to fit into a workflow not dictate one.
**Core features include:**
- Simple schema definitions for document and embedded documents
- Dot notation access to document fields
- Friendly queries
- Fast dereferencing & multi-tiered projections
- Pagination support
- Event handling for key document actions (e.g insert, update, delete)
MongoFrames alternatives and similar packages
Based on the "ORM" category.
Alternatively, view MongoFrames alternatives based on common mentions on social networks and blogs.
-
Prisma Client Python
Prisma Client Python is an auto-generated and fully type-safe database client designed for ease of use -
butterdb
butterdb is a Python object mapper for Google Drive Spreadsheets. Still in development, but usable. -
python-stdnet
DISCONTINUED. Object-data mapper and advanced query manager for non relational databases
Nutrient - The #1 PDF SDK Library

* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of MongoFrames or a related project?
README
MongoFrames
MongoFrames is a fast unobtrusive MongoDB ODM for Python designed to fit into a workflow not dictate one. Documentation is available at MongoFrames.com and includes:
Installation
We recommend you use virtualenv or virtualenvwrapper to create a virtual environment for your install. There are several options for installing MongoFrames:
pip install MongoFrames
(recommended)easy_install MongoFrames
- Download the source and run
python setup.py install
Dependencies
10 second example
from mongoframes import *
# Define some document frames (a.k.a models)
class Dragon(Frame):
_fields = {'name', 'loot'}
class Item(Frame):
_fields = {'desc', 'value'}
# Create a dragon and loot to boot
Item(desc='Sock', value=1).insert()
Item(desc='Diamond', value=100).insert()
Dragon(name='Burt', loot=Item.many()).insert()
# Have Burt boast about his loot
burt = Dragon.one(Q.name == 'Burt', projection={'loot': {'$ref': Item}})
for item in burt.loot:
print('I have a {0.name} worth {0.value} crown'.format(item))
Testing
To test the library you'll need to be running a local instance of MongoDB on the standard port.
To run the test suite: py.test
To run the test suite on each supported version of Python: tox
Helpful organizations
MongoFrames is developed using a number of tools & services provided for free by nice folks at organizations committed to supporting open-source projects including GitHub and Travis CI.