Skip to main content

Python bindings for the Rust rocksdb crate

Project description

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.

Actions Status Latest version Support python versions License

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

  • precompiled wheel binaries for Linux, Windows, macOS, on python 3.5, 3.6, 3.7, 3.8, 3.9, 3.10
  • basic open/put/get/delete/close
  • open as secondary instance
  • destroy/repair
  • iterator
    • iterator with specific prefix
  • write batch
  • options
    • open options
    • read options
    • write options

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  # auto close db
rocksdb3.destroy(path)

build

pip install maturin
maturin build

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rocksdb3-0.1.0.tar.gz (14.9 kB view hashes)

Uploaded Source

Built Distributions

rocksdb3-0.1.0-cp310-none-win_amd64.whl (1.7 MB view hashes)

Uploaded CPython 3.10 Windows x86-64

rocksdb3-0.1.0-cp310-none-win32.whl (1.6 MB view hashes)

Uploaded CPython 3.10 Windows x86

rocksdb3-0.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.4 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

rocksdb3-0.1.0-cp310-cp310-macosx_10_7_x86_64.whl (2.2 MB view hashes)

Uploaded CPython 3.10 macOS 10.7+ x86-64

rocksdb3-0.1.0-cp39-none-win_amd64.whl (1.7 MB view hashes)

Uploaded CPython 3.9 Windows x86-64

rocksdb3-0.1.0-cp39-none-win32.whl (1.6 MB view hashes)

Uploaded CPython 3.9 Windows x86

rocksdb3-0.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.4 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

rocksdb3-0.1.0-cp39-cp39-macosx_10_7_x86_64.whl (2.2 MB view hashes)

Uploaded CPython 3.9 macOS 10.7+ x86-64

rocksdb3-0.1.0-cp38-none-win_amd64.whl (1.7 MB view hashes)

Uploaded CPython 3.8 Windows x86-64

rocksdb3-0.1.0-cp38-none-win32.whl (1.6 MB view hashes)

Uploaded CPython 3.8 Windows x86

rocksdb3-0.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.4 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

rocksdb3-0.1.0-cp38-cp38-macosx_10_7_x86_64.whl (2.2 MB view hashes)

Uploaded CPython 3.8 macOS 10.7+ x86-64

rocksdb3-0.1.0-cp37-none-win_amd64.whl (1.7 MB view hashes)

Uploaded CPython 3.7 Windows x86-64

rocksdb3-0.1.0-cp37-none-win32.whl (1.6 MB view hashes)

Uploaded CPython 3.7 Windows x86

rocksdb3-0.1.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.4 MB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.17+ x86-64

rocksdb3-0.1.0-cp37-cp37m-macosx_10_7_x86_64.whl (2.2 MB view hashes)

Uploaded CPython 3.7m macOS 10.7+ x86-64

rocksdb3-0.1.0-cp36-none-win_amd64.whl (1.7 MB view hashes)

Uploaded CPython 3.6 Windows x86-64

rocksdb3-0.1.0-cp36-none-win32.whl (1.6 MB view hashes)

Uploaded CPython 3.6 Windows x86

rocksdb3-0.1.0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.4 MB view hashes)

Uploaded CPython 3.6m manylinux: glibc 2.17+ x86-64

rocksdb3-0.1.0-cp36-cp36m-macosx_10_7_x86_64.whl (2.2 MB view hashes)

Uploaded CPython 3.6m macOS 10.7+ x86-64

rocksdb3-0.1.0-cp35-none-win_amd64.whl (1.7 MB view hashes)

Uploaded CPython 3.5 Windows x86-64

rocksdb3-0.1.0-cp35-none-win32.whl (1.6 MB view hashes)

Uploaded CPython 3.5 Windows x86

rocksdb3-0.1.0-cp35-cp35m-manylinux2014_x86_64.whl (3.4 MB view hashes)

Uploaded CPython 3.5m

rocksdb3-0.1.0-cp35-cp35m-macosx_10_7_x86_64.whl (2.2 MB view hashes)

Uploaded CPython 3.5m macOS 10.7+ x86-64

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page