Python bindings for rocksdb
Rocksdb3 is a python bindings for
rocksdb based on rust wrapper
rust-rocksdb and
PyO3.
This is a very early proof-of-concept version.
Please do not use it in production.

Why new wrapper
There is already have python-rocksdb,
so why create a new wrapper for rocksdb?
- It's fun
- I'm learning Rust, this is my exprience
- PyO3 is fun, too
- Python-rocksdb is not actively maintained
- Python-rocksdb is not released with statically-linked
multiple-operating-system-supported wheel binaries
- Debugging out-of-bounds pointers is boring
Status
Install
pip install rocksdb3
Examples
import rocksdb3
path = './db_path'
db = rocksdb3.open_default(path)
assert db.get(b'my key') is None
db.put(b'my key', b'my value')
assert db.get(b'my key') == b'my value'
assert list(db.get_iter()) == [(b'my key', b'my value')]
db.delete(b'my key')
assert db.get(b'my key') is None
del db
rocksdb3.destroy(path)
build
pip install maturin
maturin build