rethinkengine

September 28, 2013 ยท View on GitHub

RethinkDB Object-Document Mapper written in Python

Rethinkengine is currently in development and not ready for production use.

Running unit tests

|Build Status| |Coverage Status|

In the root of the repository you'll find runtests.sh, which will run all the tests and show coverage stats. Requires packages nose and coverage to be installed. Rethinkengine aims to be compatible with Python versions 2.6 and 2.7. Python 3 support will be added later.

Connecting to RethinkDB

::

from rethinkengine import connect
connect('dbname')

If dbname doesn't exist, it will be created for you.

Defining Documents

::

from rethinkengine import *

class User(Document):
    name = StringField()
    colors = ListField()

# Create the table
User.table_create()

Storing data

::

u = User(name='John', colors=['red', 'blue'])
u.save()

u.colors = []
u.save()

Retrieving data

::

for u in User.objects.all():
    print u.name, u.colors

for u in User.objects.filter(name='John'):
    print u.name, u.colors

for u in User.objects.all().order_by('name'):
    for field, value in u.items():
        print field, value

.. |Build Status| image:: https://travis-ci.org/bwind/rethinkengine.png?branch=master :target: https://travis-ci.org/bwind/rethinkengine .. |Coverage Status| image:: https://coveralls.io/repos/bwind/rethinkengine/badge.png :target: https://coveralls.io/r/bwind/rethinkengine