kdb+ interfacing library for Python
Project description
qPython is a Python library providing support for interprocess communication between Python and kdb+ processes, it offers:
Synchronous and asynchronous queries
Convenient asynchronous callbacks mechanism
Support for kdb+ protocol and types as of kdb+ v4.0
Uncompression of the IPC data stream
Internal representation of data via numpy arrays (lists, complex types) and numpy data types (atoms)
Supported on Python 3.4/3.5/3.6 and numpy 1.8+
For more details please refer to the documentation.
Installation
To install qPython from PyPI:
$ pip install qpython3
Please do not use old PyPI package name: qpython or exxeleron-qpython.
Building package
Documentation
qPython documentation is generated with help of Sphinx document generator. In order to build the documentation, including the API docs, execute: make html from the doc directory.
Documentation is built into the: doc/build/html/ directory.
Compile Cython extensions
qPython utilizes Cython to tune performance critical parts of the code.
Instructions:
Execute: python setup.py build_ext --inplace
Build binary distribution
Instructions:
Execute: python setup.py bdist
Testing
qPython uses py.test as a test runner for unit tests.
Instructions:
Make sure that top directory is included in the PYTHONPATH
Execute: py.test
Requirements
qPython requires numpy 1.8 to run.
Optional requirements have to be met to provide additional features:
tune performance of critical parts of the code:
Cython 0.20.1
support serialization/deserialization of pandas.Series and pandas.DataFrame
pandas 0.14.0
run Twisted sample:
Twisted 13.2.0
build documentation via Sphinx:
Sphinx 1.2.3
mock 1.0.1
Required libraries can be installed using pip.
To install all the required dependencies, execute: pip install -r requirements.txt
Minimal set of required dependencies can be installed by executing: pip install -r requirements-minimal.txt
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
Built Distributions
Hashes for qPython3-1.0.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 17e23b6405425fbbdbc6310c3235816cdc56fce350f8f9636b005c718d68b0a9 |
|
MD5 | c555a5416ce5312c9c210c8823735410 |
|
BLAKE2b-256 | 02afe576190e12aae3079174baefd9069aae4c26d13e766db903ffb5f94ca78e |
Hashes for qPython3-1.0.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 98a8c1f29d65448008f6d39695335902a9c7b9297737378b5ad2f5e22ad5a5d8 |
|
MD5 | 616765219810c6038c748e934eccd82d |
|
BLAKE2b-256 | 56ba1ff5cdcc381a566b94f697a505a70b8919724ebc7010b6a4eb7995d34bbf |
Hashes for qPython3-1.0.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 41ffa342d8a05a98d7db5c84b7ea9172155ff4c0ec2dc54fadcffd6e07a3d696 |
|
MD5 | c27bb1d76731c7ad308f7ccbfc93bef0 |
|
BLAKE2b-256 | b92c2b1f7eedcd7076481b8fc721c796740b99671ab7e0e6364c6cac5e8ddbac |
Hashes for qPython3-1.0.0-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 11304d5328e4cf8a2b64e90bb409e5d86d63902957ded0de16ef42a5f26f2e81 |
|
MD5 | 1c26ae75ec9379fa52f946cf05ce9b92 |
|
BLAKE2b-256 | 3bab55f9e2891a8dd3efe8886614fba5fbfbc714e3f989d5d6eabc017eceef9d |