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

MongoDB Object DataBase (MODB) for Python objects

Project Description

Overview

jaraco.modb is a small, pure-Python library for persisting Python objects to MongoDB.

jaraco.modb is written by Jason R. Coombs. It is licensed under an MIT-style permissive license.

Manual Usage

jaraco.modb facilitates using jsonpickle to produce MongoDB-friendly representations of pickleable Python objects for easy storage in a MongoDB database.

One may simply encode and decode Python objects to MongoDB BSON-friendly representations:

class MyObject(object):
    def __init__(self, val):
        self.val = val

import jaraco.modb
import pymongo
mongo_collection = pymongo.Connection().mydb.mycollection
val = MyObject(3)
# save the object to the DB
id = mongo_collection.save(jaraco.modb.encode(val))
# retrieve the object from the DB
new_val = jaraco.modb.decode(mongo_collection.find_one(id))
assert isinstance(new_val, MyObject)
assert new_val.val == 3

A more detailed tutorial is now published as an iPython Notebook.

Automatic Usage

jaraco.modb also provides an SON Manipulator suitable for automatically encoding arbitrary objects for a pymongo.Database:

jaraco.modb.SONManipulator.install(mongo_collection.database)
mongo_collection.save({'val': val})

Unfortunately, due to a limitation with the API of the SONManipulator, it’s not possible to save a custom object as the document itself (the document must always be a dict).

Release History

Release History

This version
History Node

3.5

History Node

3.4

History Node

3.3.2

History Node

3.3

History Node

3.2

History Node

3.1

History Node

3.0

History Node

2.1.1

History Node

2.1

History Node

2.0

History Node

1.2

History Node

1.1

History Node

1.0.6

History Node

1.0.5

History Node

1.0.4

History Node

1.0.3

History Node

1.0.2

History Node

1.0.1

History Node

1.0

Download Files

Download Files

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

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
jaraco.modb-3.5-py2.py3-none-any.whl (5.1 kB) Copy SHA256 Checksum SHA256 3.5 Wheel Feb 13, 2016
jaraco.modb-3.5.tar.gz (8.6 kB) Copy SHA256 Checksum SHA256 Source Feb 13, 2016

Supported By

WebFaction WebFaction Technical Writing 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 Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting