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.
- Python 3.6 or later
- along with python3-distutils
- PMDK - native persistent memory libraries
- pmemkv - native key/value library
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
Python bindings includes automated test cases. Use following command to run test cases:
cd tests
python3 -m pytest -v pmemkv_tests.py
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