DDB - Object Key Vale Store

Overview

Status

Actively used, needs some love

Language

Vala

Sourcecode
https://codeberg.org/slatian/ddb-object-key-value-store

DDB is a simple in memory key value store with the goal to serve as IPC (Inter Process Communication) infrastructure between simple and less simple scripts.

Usage can include piping system usage information into multiple receiver scripts, storing the last wheater report for offline usage or exposing an interface for a background service. A bit like dbus but a lot simpler.

Why does it exist ?

There wasn't really an easy and obvious way to let two scripts in bash, lua, python or whatever talk to each other, especially in many to many communication scenarios. That's why DDB (I wanted to use it for scripts on my desktop) was written in its first version, listening on a TCP socket on localhostand granting access to a hash table and speaking a line based protocol with spaces as field seperators with (horrible) bash scripts as client implementations.

If you are interested in the protocol, its documented in the README and can be considered stable.

Features that I needed in DDB:

  • Introspection of some kind
  • Ability to use standard-io for most scripts (that way you don't need any fancy debugging tools)
  • A protocol wich can be implemented in a pretty simple way
  • Storage integrated into the ipc mechanism
  • Ability to subscribe to events