MoaT-KV
Welcome to MoaT-KV!
% start synopsis % start main
MoaT-KV is a master-less distributed key-value storage system. It circumvents the CAP theorem (you can't have all of consistency, availablilty, and fault tolerance) using the assumption that a key is typically changed by one node only. It is thus resistant to partitioning and intended to be always-on; it will not block or lose updates, even in a partitioned network.
% end synopsis
MoaT-KV comes with several batteries included:
- Basic user management, pattern-based ACLs
- Strong typing, code- and/or
JSON Schema-based - Data mangling
- Background code execution
- Seamless recovery even if only one master is running
The underlying communication is based on MQTT. A Serf back-end is also available. Others are easy to implement.
MoaT-KV was originally called "distkv".
API
MoaT-KV offers an efficient msgpack-based interface to access data and to change internal settings. Most configuration is stored inside MoaT-KV itself.
Stored data are not forced to be strings or binary sequences, but can
be anything that MsgPack supports. Keys to storage are multi-level and
support string, integer/float, and tuple keys.
Status
MoaT-KV is in end-of-life. There are a lot of corner cases that don't
have tests. Critical bugs may be fixed, but "real" development continues
in MoaT-Link.
% end main
Non-Features
MoaT-KV does not support data partitioning. Every node stores the whole data set and can instantly deliver mostly-uptodate data.
MoaT-KV does not have a disk-based storage backend. Periodic snapshots and event logs can be used to quickly restore a system, if necessary.
TODO
- clean up some of the more egregious command line mistakes
- create a page for showcase-ing subprojects (knx owfs akumuli …)
- improve Home Assistant integration
Metadata
Release files for moat-kv 0.71.37
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| moat_kv-0.71.37.tar.gz | 120.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| moat_kv-0.71.37-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 246.9 kB
Release files / moat_kv-0.71.37.tar.gz
| Download URL | moat_kv-0.71.37.tar.gz |
|---|---|
| Size | 120.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
93c8766233c2eea6d34b6f331794727b57afba04f5d020a36a3dd657734adcd9
|
|
BLAKE2b-256 checksum How to use checksums |
e7c86b28674d07ab901b5eb2ed58b0fdc480933f28bd0f3adbda7b31f6d464e3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|
Release files / moat_kv-0.71.37-py3-none-any.whl
| Download URL | moat_kv-0.71.37-py3-none-any.whl |
|---|---|
| Size | 126.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
83e5ce63ea17a8a959af5d40878bcb306e48f5995395fcc9fa6c2ea9fbdb4610
|
|
BLAKE2b-256 checksum How to use checksums |
6b42ce9c34d8d376a360563f93eed4bd9825f321ed76acbcc8cd56f732465b4f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|