Build status:
RethinkORM is a small wrapper class to help make working with documents in RethinkDB easier, and in a more Pythonic way.
I recently found RethinkDB and was amazed at how easy everything seemed to be, however one thing that I’ve missed is how the data is just a Python List or Dict rather than a full wrapper class. So I figured a good way to learn the general use of the Python RethinkDB driver was to write a general wrapper class that functioned a bit like an ORM, providing some easier to work with data and objects.
Unittests are included, and the code should be PEP8 compliant. The tests are automatically ran each commit, thanks to travis-ci.org and this documentation is kindly hosted and automatically rebuilt by readthedocs.org.
Gittip if you like the work I do and would consider a small donation to help fund me and this project:
First we need to make an object which will represent all of our data in a specific table, along with getting a connection to RethinkDB started.
import rethinkdb as r
from rethinkORM import RethinkModel
r.connect(db="props").repl()
class tvProps(RethinkModel):
table = "stargate_props"
For more information on what class properties are available to change, see rethinkORM
dhdProp = tvProps(what="DHD", planet="P3X-439", description="Dial HomeDevice")
dhdProp.id="DHD_P3X_439"
dhdProp.save()
updatedProp = tvProps("DHD_P3X_439")
updatedProp.description="""Dial Home Device from the planel P3X-439, where an
Ancient Repository of Knowledge was found, and interfaced with by Colonel
Jack."""
updatedProp.save()
oldProp = tvProps("DHD_P3X_439")
oldProp.delete()
Submit a pull request or open an issue. Most things I probably won’t have time to get around to looking at too deeply, so if you want it fixed, a pull request is the way to go. Besides that, I’m releasing this under the GPLv3 License as found in the LICENSE.txt file. Enjoy!