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).
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for jaraco.modb-3.5-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 583d4750a8a68b7469223093a220e95e70c8bb18a2bd715652566993716eb63d |
|
MD5 | e69061a41c797f5b1690220668e9a22c |
|
BLAKE2b-256 | 06068570870400559772f9bca2dd9e3fb374e549140749e943e6681601060df5 |