DDB - Object Key Vale Store
- Actively used, needs some love
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
I'm currently () using it as the message bus behind my little smarthome, but it is probably going to the attic soon.