Top

gludb module

GLUDB provides a fairly 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 should be stored in the database
  • 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 currently support Python 2 (2.7 and greater) and 3 (3.4 and greater). The data stores currently supported are:

  • sqlite
  • DynamoDB
  • Google Cloud Datastore
  • MongoDB
  • PostgreSQL
"""GLUDB provides a fairly 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 should be stored in
  the database
* 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 currently support Python 2 (2.7 and greater) and 3 (3.4 and greater). The
data stores currently supported are:

* sqlite
* DynamoDB
* Google Cloud Datastore
* MongoDB
* PostgreSQL
"""

Sub-modules

gludb.backends

This sub-package contains all backends available in gludb. In general, you shouldn't need to directly use any of the classes here since they will be created and managed for you via the mappings available in gludb.config

gludb.backup

Supply backup functionality for gludb. Note that we mainly provide a way for users to create a small script that backs up their data to S3. We are assuming that the S3 bucket used will be configured for archival (either deletion or archival to Glacier)

gludb.config

Provide gludb configuration.

This consists mainly of a mapping from Storable classes to a database configuration. It also includes a default mapping for classes not specifically mapped to a database.

We check for a mapping for a class in MRO (Method Resolution Order). Suppose a class Busy derives ...

gludb.data

gludb.data - "core" functionality.

If you're unsure what to use, you should look into gludb.simple. This module is for those needing advanced functionality or customization

gludb.simple

gludb.simple Provides the simplest possible interface to our functionality.

We provide a simple annotation to create classes with fields (with optional default values), parameterized constructors, persistence, and data operations. You are free to derive from any object you wish. See gludb.data if y...

gludb.utils

Central place for misc utilities

gludb.versioning

versioning.py

GLUDB versioning implementation