Skip to main content

Welcome to DistKV!

DistKV is a master-less distributed key-value storage system. It circumvents the CAP theorem by assuming that keys are usually only changed by one node. It is resistant to partitioning and intended to be always-on; it might delay – but will not lose – updates even in a partitioned network.

DistKV 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

  • a MQTT 3.1 back-end that stores persistent data in DistKV, based on hbmqtt

API

DistKV offers an efficient msgpack-based interface to access data and to change internal settings. Most configuration is stored inside DistKV 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 list keys.

Non-Features

DistKV does not support data partitioning. Every node stores the whole data set and can instantly deliver mostly-uptodate data.

DistKV does not have a disk-based storage backend; periodic snapshots and event logs can be used to quickly restore a system, if necessary.

Status

DistKV is mostly stable. There are a lot of corner cases that don’t have tests yet

TODOs: * some services (esp. command line tools and runners) are under-tested * there’s no good API for errors

Changelog

0.41: the message monitor can do multiple subpaths and only reports initial-load-complete once

0.40: use asyncscope for running subsystems in a reasonable way

0.35: allow forgetting nodes (if they have no data attached)

0.30: major API refactoring: paths are now separate objects

TODO

  • update the whole ecosystem to anyio 2.0 (asyncclick asyncscope …)

  • clean up some of the more egregious command line mistakes

  • create a page for showcase-ing subprojects (distinv knx owfs akumuli …)

  • improve Home Assistant integration

Metadata

Release files for distkv 0.65.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for distkv 0.65.0
File Size Uploaded Provenance Actions
distkv-0.65.0.tar.gz 179.5 kB Without provenance Details for distkv-0.65.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for distkv 0.65.0
File Interpreter ABI Platform Actions
distkv-0.65.0-py3-none-any.whl Python 3 none any Details for distkv-0.65.0-py3-none-any.whl

Total release size: 331.6 kB

Release files / distkv-0.65.0.tar.gz

Download URL distkv-0.65.0.tar.gz
Size 179.5 kB
Tags Source
SHA-256 checksum
How to use checksums
562dd6b4f6a8c3f372815fe66e4f85ab5ce999d2cefe79966487ca4a558a8ef5
BLAKE2b-256 checksum
How to use checksums
aa60cc1292bc676e7f622900eb28f6b2a5c45e8ac5d3cd612c3275cf50757f73
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.3.0 pkginfo/1.8.2 requests/2.25.1 setuptools/66.1.1 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.11.2

Release files / distkv-0.65.0-py3-none-any.whl

Download URL distkv-0.65.0-py3-none-any.whl
Size 152.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
32cbf90e852773e8ab9f334357e7175c1d00ffdf1e54c59c0feea5fbc08e7fd5
BLAKE2b-256 checksum
How to use checksums
b2c6549caf5c376809e871cf1ed2cf315159c462be0de3fcd33d15288117d5f4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.3.0 pkginfo/1.8.2 requests/2.25.1 setuptools/66.1.1 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.11.2

Security for distkv 0.65.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.65.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page