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!

HumbleDB - MongoDB Object-Document Mapper

Project Description

HumbleDB is an extremely lightweight ODB that works with pymongo to provide a convenient and easy to use interface. It enforces strict explictness when a connection to a MongoDB cluster or replica set is being used, by disallowing any read or write interaction outside of a context manager’s context block.

Quick Example

>>> from humbledb import Mongo, Document
>>> # config_database and config_collection are required attributes
>>> class TestDoc(Document):
...     config_database = 'test'
...     config_collection = 'testdoc'
...     test_key = 't'
...     other_key = 'o'
...
>>> # When you create a Document instance, you can set its keys via any
>>> # mapped attributes you create
>>> doc = TestDoc()
>>> doc.test_key = 'Hello'
>>> doc.other_key = 'World'
>>> # The __repr__ for the instance shows the actual doc
>>> doc
TestDoc({'t': 'Hello', 'o': 'World'})
>>> # A Document instance is also a dict, but you have to access the key
>>> # names directly
>>> doc['o']
u'World'
>>> # Or use the mapped attribute
>>> doc[TestDoc.test_key]
u'Hello'
>>> # The Mongo class manages database connection and is a context manager
>>> with Mongo:
...     TestDoc.insert(doc)
...
>>> with Mongo:
...     found = TestDoc.find_one()
...
>>> found
TestDoc({u'_id': ObjectId('50ad81586112797f89b99606'), u't': u'Hello', u'o': u'World'})
>>> doc
TestDoc({'_id': ObjectId('50ad81586112797f89b99606'), 't': 'Hello', 'o': 'World'})
>>> found['_id']
ObjectId('50ad81586112797f89b99606')
>>> found['t']
u'Hello'
>>> found.test_key
u'Hello'

See the documentation for more examples and detailed explanations.

Documentation

The complete documentation can be found on http://humbledb.readthedocs.org.

License

See LICENSE.rst.

Release History

Release History

History Node

5.6.1

History Node

5.6.0

History Node

5.5.1

History Node

5.5.0

History Node

5.4.1

History Node

5.4.0

History Node

5.3.0

History Node

5.2.0

History Node

5.1.4

History Node

5.1.2

History Node

5.1.1

History Node

5.1.0

History Node

5.0.2

History Node

5.0.1

History Node

5.0.0

History Node

4.0.1

History Node

4.0.0

History Node

3.3.1

History Node

3.3.0

History Node

3.2.0

History Node

3.1.0

History Node

3.0.3

History Node

3.0.2

History Node

3.0.1

History Node

3.0.0

History Node

2.3.1

This version
History Node

2.3.0

History Node

2.2.1

History Node

2.2.0

History Node

2.1.1

History Node

2.1.0

History Node

2.0.3

History Node

2.0.2

History Node

2.0.1

History Node

2.0.0

History Node

1.1.1

History Node

1.1.0

History Node

1.0.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
humbledb-2.3.0.tar.gz (12.9 kB) Copy SHA256 Checksum SHA256 Source Jan 13, 2013

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