Skip to content
Python bindings for pmemkv
Python Shell C++
Branch: master
Clone or download
Latest commit 4b10e52 Oct 22, 2019

README.md

pmemkv-python

Python bindings for pmemkv

This is experimental pre-release software and should not be used in production systems. APIs and file formats may change at any time without preserving backwards compatibility. All known issues and limitations are logged as GitHub issues.

Dependencies

  • Python 3.6 or later
    • along with python3-distutils
  • PMDK - native persistent memory libraries
  • pmemkv - native key/value library

Installation

Start by installing pmemkv on your system.

git clone https://github.com/pmem/pmemkv-python
cd pmemkv-python

If pmemkv is installed in defualt directory (e.g. /usr):

sudo python3 setup.py install

or to rather install it locally (in '/home/user_name/.local/lib/python3.X/site-packages'):

python3 setup.py install --user

If pmemkv is in some other directory:

python3 setup.py build_ext --library-dirs=<path_to_pmemkv_lib_dir> --include-dirs=<path_to_pmemkv_include_dir>
python3 setup.py install --user

Testing

Python bindings includes automated unittest cases. Use following command to run test cases:

cd tests
python3 -m unittest -v pmemkv_tests.py

Example

We are using /dev/shm to emulate persistent memory in example.

It can be found within this repository in examples directory. To execute the example:

PMEM_IS_PMEM_FORCE=1 python3 basic_example.py
You can’t perform that action at this time.