Skip to main content

A simple database wrapper

Project description

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]

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page