speedict
Speedb Python Binding
What it is and what it does
SpeeDict wraps RocksDB as a persistent, on-disk key-value store for Python. It operates in two modes: default mode (which serializes arbitrary Python objects like lists, dicts, NumPy arrays, and Pandas DataFrames using Pickle) and raw mode (which stores only bytes). The library provides a dictionary-like interface—you can set, get, iterate, and batch-retrieve keys—and persists data across sessions. It's built in Rust and compiled to wheels for common platforms.
The package is designed for applications that need fast, embedded key-value storage without running a separate database server. It supports column families, snapshots, batch writes, and RocksDB configuration options like write buffer size and compaction settings. However, it does not support merge operations or custom comparators, and maintenance has been dormant, meaning bug fixes and dependency updates are not expected.
Use it for:
- Cache frequently accessed Python objects (DataFrames, arrays) on disk without serializing to JSON or CSV.
- Build a lightweight embedded database for a single-machine application that needs persistent key-value storage.
- Store and retrieve raw bytes efficiently in raw mode for binary data or custom serialization schemes.
- Prototype or test database-backed logic without setting up a separate database server.
- Batch-load or batch-write large sets of key-value pairs with transactional semantics.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
SpeeDict is a Python key-value storage library backed by RocksDB that persists arbitrary Python objects (via Pickle) or raw bytes to disk, supporting dictionary-like access with batch operations.
Yes, if you need a fast, embedded key-value store for Python objects and can tolerate dormant maintenance. The library is stable for read-heavy workloads and has no known vulnerabilities. However, avoid it for mission-critical systems requiring active support or frequent updates. Verify that prebuilt wheels exist for your Python version and platform before committing.
Install
speedict on PyPI
pip
pip install speedictuv
uv add speedictpoetry
poetry add speedictInstalling speedict
Before you install
Medium install friction due to compiled wheels; prebuilt binaries available for Python 3.7, 3.10, 3.11, and 3.12 on macOS, Linux, and Windows, but no pure-Python fallback. Last release was 1007 days ago and maintenance status is dormant, so dependency updates and bug fixes are unlikely.
License in practice
Licensed under MIT (permissive), so you can use, modify, and distribute SpeeDict freely in commercial and private projects without restriction.
Quickstart
from speedict import Rdict
db = Rdict("./my_store")
db["key"] = [1, 2, 3]
db[b"bytes_key"] = b"value"
print(db["key"])
db.close()
Requires a compiled extension; installation relies on prebuilt wheels for your platform and Python version.
Verify before relying
- Whether dormant maintenance status affects stability or security for production use.
- Performance characteristics compared to other embedded key-value databases.
- Whether Pickle serialization overhead is acceptable for your workload.
Package facts
| License | not declared (permissive) |
| Python support | not specified |
| Install friction | medium — platform-specific wheel |
| Runtime dependencies | none |
| Maintenance | dormant — 1,007 days since the last release |
| First released | |
| Downloads | 145,759/month — #11,117 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: speedict-0.3.12-cp310-cp310-macosx_10_14_x86_64.macosx_11_0_arm64.macosx_10_14_universal2.whl; speedict-0.3.12-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl; speedict-0.3.12-cp310-cp310-manylinux_2_28_aarch64.whl; speedict-0.3.12-cp310-cp310-manylinux_2_28_x86_64.whl; speedict-0.3.12-cp310-none-win32.whl; speedict-0.3.12-cp310-none-win_amd64.whl; speedict-0.3.12-cp311-cp311-macosx_10_14_x86_64.macosx_11_0_arm64.macosx_10_14_universal2.whl; speedict-0.3.12-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl; speedict-0.3.12-cp311-cp311-manylinux_2_28_aarch64.whl; speedict-0.3.12-cp311-cp311-manylinux_2_28_x86_64.whl; speedict-0.3.12-cp311-none-win32.whl; speedict-0.3.12-cp311-none-win_amd64.whl; speedict-0.3.12-cp312-cp312-macosx_10_14_x86_64.macosx_11_0_arm64.macosx_10_14_universal2.whl; speedict-0.3.12-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl; speedict-0.3.12-cp312-cp312-manylinux_2_28_aarch64.whl; speedict-0.3.12-cp312-cp312-manylinux_2_28_x86_64.whl; speedict-0.3.12-cp312-none-win32.whl; speedict-0.3.12-cp312-none-win_amd64.whl; speedict-0.3.12-cp37-cp37m-macosx_10_14_x86_64.macosx_11_0_arm64.macosx_10_14_universal2.whl; speedict-0.3.12-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Keywords: speedb, dbm, dict, key-value
Tags
More Database packages
psycopg2-binary is a PostgreSQL database…
copyleft · top 1,000 on PyPI
redisPython client library for connecting to and…
permissive · top 1,000 on PyPI
ydbYDB Python SDK is the official client library…
permissive · top 1,000 on PyPI
snowflake-connector-pythonConnects Python applications to Snowflake data…
permissive · top 1,000 on PyPI
sqlparsesqlparse tokenizes SQL text into a tree of…
permissive · top 1,000 on PyPI
dbt-adaptersProvides base adapter protocols and shared…
permissive · top 1,000 on PyPI
rocksdictRocksDict provides a Python interface to…
permissive · top 15,000 on PyPI
sqlitedictProvides a dict-like interface to SQLite…
permissive · top 5,000 on PyPI
picklesharePickleShare provides a dictionary-like…
permissive · top 5,000 on PyPI
fcachefcache provides a dictionary-like file-based…
permissive · top 5,000 on PyPI
amulet-leveldbProvides a Cython wrapper around Mojang's…
unclear · top 15,000 on PyPI
lmdbProvides a Python binding to LMDB (Lightning…
unclear · top 5,000 on PyPI
historydictHistoryDict provides a persistent dictionary…
unclear · top 15,000 on PyPI
plyvelPlyvel is a Python interface to LevelDB, a fast…
permissive · top 5,000 on PyPI
partdPartd is a key-value byte store that appends…
permissive · top 1,000 on PyPI
diskcacheDiskCache provides a pure-Python disk-backed…
permissive · top 1,000 on PyPI