Skip to main content

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

CVE Scanning

Configured GitHub Action as per the “Python” section of:

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

qpython4-0.1.0.tar.gz (99.1 kB view details)

Uploaded Source

Built Distribution

qPython4-0.1.0-cp39-cp39-macosx_15_0_arm64.whl (68.7 kB view details)

Uploaded CPython 3.9macOS 15.0+ ARM64

File details

Details for the file qpython4-0.1.0.tar.gz.

File metadata

  • Download URL: qpython4-0.1.0.tar.gz
  • Upload date:
  • Size: 99.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.20

File hashes

Hashes for qpython4-0.1.0.tar.gz
Algorithm Hash digest
SHA256 73d4c7e77a76e7948b7e0955c7acc3360e60ca3a331bb2794875d2ce2e9cefa1
MD5 63a9d7820bb60a74bc1593ccb6fbabb4
BLAKE2b-256 2d0fb83e1ed1766ba9f1ade63239ca229f21668dd911d2c3c65589bd57fb543e

See more details on using hashes here.

File details

Details for the file qPython4-0.1.0-cp39-cp39-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for qPython4-0.1.0-cp39-cp39-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 98f9e2a9734935966a25a529c2b7ec273df6a6e05a9925f5345b04d5246385a8
MD5 575b5ca3f1863da0ac8f767064b25256
BLAKE2b-256 d3b1855a572833be4ae5ae0bdf142f7abe85a08ef248a1e91aa62e2a55e1ff20

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page