Connect to it with any standard Redis client library or the redis-cli tool
Choose between a bitcask-style or LSM-tree storage engine for different write patterns
Set keys to expire automatically with TTL support
Group multiple operations into a transaction using MULTI and EXEC
| redonculous/minikv | aevella/sky-pc-mcp-companion | alicankiraz1/gemma-4-31b-mtp-vllm-server | |
|---|---|---|---|
| Stars | 26 | 26 | 26 |
| Language | Python | Python | Python |
| Setup difficulty | easy | moderate | hard |
| Complexity | 3/5 | 3/5 | 4/5 |
| Audience | developer | vibe coder | ops devops |
Figures from each repo's GitHub metadata at analysis time.
Requires Python 3.10 or later, no external dependencies to install.
MiniKV is a key-value database built from scratch in Python, with no external dependencies. A key-value database is the simplest kind of database: you store a piece of data under a name, and you retrieve it later using that same name. Redis is the most well-known database of this type, and MiniKV is designed to speak the same network protocol as Redis, meaning you can connect to it using the standard Redis command-line tool or any Redis client library. The project offers two different internal storage engines, which are the mechanisms for actually writing data to disk. The first is a bitcask-style engine, which works by always appending new data to the end of a log file rather than modifying existing entries. The second is an LSM-tree engine, a more sophisticated approach that uses an in-memory table for recent writes, a write-ahead log for crash safety, and sorted files on disk called SSTables. The LSM engine also includes bloom filters, which are a data structure that quickly rules out keys that definitely do not exist, saving disk reads. Both engines support features you would expect from a production database: data survives restarts, crash recovery works if the process is interrupted mid-write, corruption is detected, keys can be set to expire automatically after a time period (TTL), and multiple operations can be grouped into a transaction using MULTI and EXEC commands. The project also supports replication and snapshots. Performance numbers from the README show around 129,000 sequential writes per second, 39,000 random reads per second, and the ability to reload 50,000 keys from disk in under two-tenths of a second after a cold restart. The project includes 73 tests covering crash recovery, concurrency, transactions, replication, and protocol handling. It requires Python 3.10 or later and is released under the MIT license.
MiniKV is a dependency-free key-value database written in Python that speaks the Redis protocol.
Mainly Python. The stack also includes Python.
Use freely for any purpose, including commercial use, as long as you keep the copyright notice.
Setup difficulty is rated easy, with roughly 5min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.