Skip to main content

BloomKV

Light weight key value storage engine optimized for write heavy workloads.

Overview

This project is an LSM-tree based key-value storage engine implemented in Python, optimized for write-heavy workloads.

It is a persistent key-value store featuring:

  • A Write Ahead Log (WAL) for atomicity and durability.
  • An in-memory Memtable using SortedDict.
  • Persistent Sorted String Tables (SSTables).
  • Asynchronous, leveled compaction handled by a background worker thread (introduced in v1.0.0).
  • Metadata generation for created collections
  • Bloom filter functionality to prevent unnecessary disk operations for keys that we know dont exist in the collection
  • Storage engine is behind a FastAPI server and can be communicated with using REST APIs.
  • Supports range queries from start_key to end_key
  • Can be used as an importable library for programmatic integration
  • Import csv files and store them as kv pairs in a collection

Getting Started

  • Detailed documentation, usage and explanation of each component is available in the docs folder.

Contributing

Contributions, issues and feature requests are welcome! Contributing ideas

  • Implement a proper testing suite for different components. Unit tests, Integration Tests
  • Thread safety for multi threaded programs
  • UI features along with CLI and library utilisation. and many more, ideas are always welcome!

LICENSE

This project is licensed under the MIT License. See the LICENSE file for details.

Metadata

Release files for bloomkv 1.3.1

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

Source distribution (sdist)

Source distribution for bloomkv 1.3.1
File Size Uploaded Provenance
bloomkv-1.3.1.tar.gz 26.5 kB Without provenance Details

Built distribution (wheel)

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

Total release size: 55.6 kB

Release files / bloomkv-1.3.1.tar.gz

Download URL bloomkv-1.3.1.tar.gz
Size 26.5 kB
Tags Source
SHA-256 checksum
How to use checksums
17ffdd2333061b6d7eeb3b1959fc4964ccdba838382e47422dc9802efb9fd7e4
BLAKE2b-256 checksum
How to use checksums
d4eea71b3d26a442f9bee22e2eba2363c68299e20ca02a5f995eca6c59665bf8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.0.1 CPython/3.12.6

Release files / bloomkv-1.3.1-py3-none-any.whl

Download URL bloomkv-1.3.1-py3-none-any.whl
Size 29.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
74418258d58914df43b0fc244d3696d4624937a3e29130c66afa11260a41b614
BLAKE2b-256 checksum
How to use checksums
042a9979972d58cb5b5ea13e62a0617b41c50fda0a5ec31fdcbd3fa236e61453
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.0.1 CPython/3.12.6

Security for bloomkv 1.3.1

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.

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