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
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
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)
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 - "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 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...
Central place for misc utilities
versioning.py
GLUDB versioning implementation