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 hashes)

Uploaded Source

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