Miniature Redis-like database written in Python.
$ pip install simpledb
Alternatively, you can install from git:
$ git clone https://github.com/coleifer/simpledb
$ cd simpledb
$ python setup.py install
by default, the simpledb server runs on localhost:31337.
the following options are supported:
Usage: simpledb.py [options]
Options:
-h, --help show this help message and exit
-d, --debug Log debug messages.
-e, --errors Log error messages only.
-t, --use-threads Use threads instead of gevent.
-H HOST, --host=HOST Host to listen on.
-m MAX_CLIENTS, --max-clients=MAX_CLIENTS
Maximum number of clients.
-p PORT, --port=PORT Port to listen on.
-l LOG_FILE, --log-file=LOG_FILE
Log file.
-x EXTENSIONS, --extension=EXTENSIONS
Import path for Python extension module(s).
to run with debug logging on port 31339, for example:
$ simpledb.py -d -p 31339
simpledb ships with a Dockerfile
or can be pulled from dockerhub as coleifer/simpledb. The dockerfile setups
up a volume at /var/lib/simpledb
and exposes port 31337
.
running:
$ docker run -it --rm -p 31337:31337 coleifer/simpledb
building:
$ cd simpledb/docker
$ docker build -t simpledb .
$ docker run -d -p 31337:31337 -v simpledb-logs:/var/lib/simpledb simpledb
the server is capable of storing the following data-types natively:
- strings and/or binary data
- numerical values
- null
- lists (may be nested)
- dictionaries (may be nested)
from simpledb import Client
client = Client()
client.set('key', {'name': 'Charlie', 'pets': ['mickey', 'huey']})
print(client.get('key'))
{'name': 'Charlie', 'pets': ['mickey', 'huey']}