Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (
Help us improve Python packaging - Donate today!

A fast unobtrusive MongoDB ODM for Python

Project Description

<a href=""><img width="188" src="" alt="MongoFrames logo"></a>

# MongoFrames

[![Build Status](](
[![Join the chat at](](

MongoFrames is a fast unobtrusive MongoDB ODM for Python designed to fit into a workflow not dictate one. Documentation is available at []( and includes:

- [A getting started guide](
- [Tutorials/Snippets](
- [API documentation](

## 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 install`

## Dependencies

- [blinker]( >= 1.4
- [pymongo]( >= 3
- [pytest]( >= 2.8.7 *(only for testing)*

## 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 = == 'Burt', projection={'loot': {'$ref': Item}})
for item in burt.loot:
print('I have a {} 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](

Release History

This version
History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


Download Files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, Size & Hash SHA256 Hash Help File Type Python Version Upload Date
(30.7 kB) Copy SHA256 Hash SHA256
Source None Oct 24, 2017

Supported By

Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Google Google Cloud Servers