Commits on Oct 27, 2018
  1. Rewrite for PEP8 compliance and Py2.7 compatibility

    jarvisms committed Oct 27, 2018
    Restyled for PEP8 compliance (issue #2). Rewrote f-strings, timestamp manipulations and dictionary merging to be backward compatible to Py2.7 (Issue #3).  A few other simplificiations and tweaks along the way.
    Signed-off-by: Mark Jarvis <>
Commits on Oct 25, 2018
Commits on Oct 13, 2018
  1. Modification to to resolve Issue #1

    jarvisms committed Oct 13, 2018
    Wrapped the main processing loops into nested generator functions allowing the use of .update() so data writes are bulk committed with less overhead and less write ahead log payload on sqlite3.
    Signed-off-by: Mark Jarvis <>
Commits on Oct 12, 2018
  1. Empty iterable to update method should not fail

    jarvisms committed Oct 12, 2018
    If update() is fed an empty iterable, it should not cause an exception to be raised.
    If update() or __setitem__() genuinely fail, sqlite3 will throw its own exception, so the rowcount==0 check is entirely redundant so has been removed.
    Signed-off-by: Mark Jarvis <>
Commits on Oct 11, 2018
Commits on Oct 9, 2018
  1. SQLite3 datastore module and transfer utility

    jarvisms committed Oct 9, 2018
    First release candidate for an SQLite3 backend and general data store transfer script.
    Signed-off-by: Mark Jarvis <>
Commits on Oct 5, 2018
  1. PEP8 Tweaks

    jarvisms committed Oct 5, 2018
    Signed-off-by: Mark Jarvis <>
  2. Core Prep to allow modular DataStores

    jarvisms committed Oct 5, 2018
    Seperating the file storage classes from and allowing config to define a backend module to use.
    Addition of clear(), update() and __iter__() methods to file storage classes to make data behave more like lists/dicts and to internalise the process of clearing entire datasets.
    Adaptations to and other utility molules to account for these changes