Python bindings for PMEMKV library
Project description
pmemkv-python
Python bindings for pmemkv. Currently functionally equal to pmemkv in version 1.0. Some of the new functionalities (from pmemkv 1.1) are not yet available.
All known issues and limitations are logged as GitHub issues or are described in pmemkv's man pages.
Dependencies
- Python 3.6 or later
- along with python3-setuptools
- python3-dev(el) - header files and a static library for Python
- libpmemkv-dev(el) - at least in version 1.0 - native key/value library
Installation
Start by installing pmemkv (currently at best in version 1.0.2 or 1.1) in your system.
git clone https://github.com/pmem/pmemkv-python
cd pmemkv-python
If pmemkv is installed in default 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 test cases. Use following command to run test cases:
cd tests
python3 -m pytest -v pmemkv_tests.py
Examples
We are using /dev/shm
to
emulate persistent memory
in examples.
They can be found within this repository in examples directory. To execute examples:
PMEM_IS_PMEM_FORCE=1 python3 basic_example.py
PMEM_IS_PMEM_FORCE=1 python3 restAPI/run_example.py
Documentation
After installation, docs can be generated using sphinx (to install, run:
pip3 install sphinx
) by executing commands:
cd doc
make html
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file pmemkv-1.0.tar.gz
.
File metadata
- Download URL: pmemkv-1.0.tar.gz
- Upload date:
- Size: 9.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.6.8
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 88c0698f0e3cd374d72d4b44f347d090cc2a9fb5130d928b93e89620ff7f53ca |
|
MD5 | 9f697eb251a40b2c9b399ee9288b5e63 |
|
BLAKE2b-256 | 338224831c55c2835e1dab6b8a1d29b3f654b6ae48a5e6a8b6d30f6eb9fc13f9 |