You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
Kevin ef5b618a91 Do not flush on exit if there is no file specified 3 years ago
deadsimplekv Do not flush on exit if there is no file specified 3 years ago
docs added flush at exit 4 years ago
tests added get_raw_json and fixed formatting, switched to setuptools 3 years ago
.gitignore added documentation, docs and gitignore 4 years ago
.travis.yml added readme and change py version in travis 4 years ago
CHANGELOG.md Do not flush on exit if there is no file specified 3 years ago
LICENSE implemented most logic and tests 4 years ago
Makefile make sure docs is in main docs folder for gh pages 4 years ago
README.md 6 pub methods 3 years ago
run_tests.sh create directory path of file path if it doesn't exist 4 years ago
setup.py Do not flush on exit if there is no file specified 3 years ago

README.md

DeadSimpleKV

Build Status

As the name implies, this is merely a simple key-value store for Python.

Not counting comments and tests, it is less than 100 lines of code.

It doesn't do anything crazy. It just takes json serializable data and stores it to disk.

You can control when and where to read/write, and that's it.

No bloat, only 6 public methods.

Usage

Install:

python3 setup.py install

Create the KV instance:

# If the file already exists, it will load the json data from it
kv = deadsimplekv.DeadSimpleKV('/path/to/file')

You can specify how often to refresh and flush to file by passing flush_seconds and refresh_seconds respectively.

Get and set values:

# Automatically reads/writes to disk every time unless no file was specified.
# Set flush_seconds or refresh_seconds to None to disable automatic read/write.
# Set them to >0 values to automatically read/write if time has elapsed. 
kv.put('my_key', True)
kv.get('my_key') # returns True.

Delete a key/value pair:

kv.delete('my_key')

Warning: Be sure to keep flush_on_exit set to true or manually flush when destroying the kv instance (such as by exiting your program) to avoid losing data.

Warning: flush_on_exit should be set to false when using the same file from multiple threads or processes, otherwise you will lose data.