Skip to content
This repository has been archived by the owner on Mar 2, 2022. It is now read-only.

memphis-iis/GLUDB

Repository files navigation

GLUDB

Travis CI Build State Travis CI Details

Documentation State See our documentation at http://gludb.readthedocs.io/

Generalized Learning Utilities Database Library

For more GLU, see also SuperGLU

GLUDB provides a simple way to read/write data to some popular datastores like Amazon's DynamoDB and Google Cloud Datastore. We provide:

  • A simple abstraction layer for annotating classes that need serialization
  • Support for versioning by automatically storing change history with the data
  • Automated "indexing", which includes querying on the value of indexes
  • Automated, configurable backup to Amazon's S3 (and Glacier depending on how you configure the S3 buckets)

We support Python 2 (2.7 and greater) and 3 (3.4 and greater). The data stores supported are:

  • sqlite
  • DynamoDB
  • Google Cloud Datastore
  • MongoDB
  • PostgreSQL (version 9.5 and greater)

Installing

You can install from PyPI using pip:

pip install gludb

You will also need to install any dependencies you need based on the functionality you want to use:

  • DynamoDB Backend - boto
  • Google Cloud Datastore - googledatastore
  • MongoDB - pymongo
  • Backups - boto

setup.py includes these dependencies so that you can install them all at the same time (assuming a decently recent version of pip). As an example, you could install gludb and the dependencies needed for DynamoDB and backup support into a virtualenv using Python 3 like this:

user@host:~$ virtualenv -p python3 env
user@host:~$ . env/bin/activate
user@host:~$ pip install --upgrade pip wheel
user@host:~$ pip install gludb[dynamodb,backups]