Skip to main content

Simple and easy rocksdb client for python

Project description

rocksdb-python version downloads

Simple and easy rocksdb client for python.

NOTE: This client dosen't fully support rocksdb. Only the basic usage of rocksdb is supported.

Requirements

Installation

We need to install and build rocksdb alongside rocksdb-python.

Build rocksdb

From source:


apt-get install build-essential libgflags-dev libsnappy-dev zlib1g-dev libbz2-dev liblz4-dev libzstd-dev
git clone https://github.com/facebook/rocksdb.git
cd rocksdb
mkdir build
cd build
make shared_lib

Choose where to install rocksdb after building


  • You can install rocksdb shared library in /usr/lib/ (systemwide) using:

    make install-shared INSTALL_PATH=/usr
    
    • If you wish to uninstall it use:
      make uninstall INSTALL_PATH=/usr
      
  • If you don't like to install it systemwide you can set the following environment variables which will help the compiler to find rocksdb:

      export CPLUS_INCLUDE_PATH=${CPLUS_INCLUDE_PATH}:`pwd`/../include
      export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:`pwd`
      export LIBRARY_PATH=${LIBRARY_PATH}:`pwd`
    

Install rocksdb-python

Using pip:

pip install rocksdb-python

From source (development version):

pip install git+https://github.com/AYMENJD/rocksdb-python

Usage

import rocksdb, asyncio

async def main():
    db = rocksdb.RocksDB(db_path="myrocksdb/", options=rocksdb.Options(create_if_missing=True))

    key = "123-456-789"
    response = await db.put(rocksdb.WriteOptions(), key, "Hello world. Bye!")

    if response.status.ok: # You always need to check if the request success.
        get_value = await db.get(rocksdb.ReadOptions(), key)

        print(get_value.value) # Hello world. Bye!

        await db.delete(rocksdb.WriteOptions(), key)
    else:
        print(get_value.status.to_dict())


    await db.close()

asyncio.run(main())

Check Documentation for more.

Contributing

Pull requests are always welcome!!

License

MIT License

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

Rocksdb-python-0.1.2.tar.gz (759.0 kB view details)

Uploaded Source

File details

Details for the file Rocksdb-python-0.1.2.tar.gz.

File metadata

  • Download URL: Rocksdb-python-0.1.2.tar.gz
  • Upload date:
  • Size: 759.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.1

File hashes

Hashes for Rocksdb-python-0.1.2.tar.gz
Algorithm Hash digest
SHA256 5c644ec17cf19eed9627d478cb2e0c0ba35bd72a3425a2fb0e7e6f44397d7ed9
MD5 a9df790ed7c65f5f0c6278b6ed6cd915
BLAKE2b-256 324d4d1163d3adf164fa2ec9ec9ae6c5dc8b55a56e92f8486be612df1606430c

See more details on using hashes here.

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