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.

Note: This is a forked version of qpython to add new features since “qpython3” by finos is in maintenance mode

Installation

To install qPython from PyPI:

$ pip install qconnect

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

qConnect-0.1.2.tar.gz (102.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

qConnect-0.1.2-cp310-cp310-win_amd64.whl (81.8 kB view details)

Uploaded CPython 3.10Windows x86-64

File details

Details for the file qConnect-0.1.2.tar.gz.

File metadata

  • Download URL: qConnect-0.1.2.tar.gz
  • Upload date:
  • Size: 102.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.10.2

File hashes

Hashes for qConnect-0.1.2.tar.gz
Algorithm Hash digest
SHA256 7244b17511cae95e67a2b12ccc37bed1886cc53065cdb6ca1cfa5e403515fac9
MD5 21550e1d0767f1958f9c6ebef0cab7c1
BLAKE2b-256 6fefabeff1da6cc338021d2763da75a4beb3f6033fa1039fa9f909201ed116e3

See more details on using hashes here.

File details

Details for the file qConnect-0.1.2-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: qConnect-0.1.2-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 81.8 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.10.2

File hashes

Hashes for qConnect-0.1.2-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 0c69b0f5dbaf3430b564b50d6e1bd53383ab19f7fe68d3de87e3df3d03c07e57
MD5 c230b092315012bcc256a5c9f67f2db0
BLAKE2b-256 05045d91bd4d42f5bf2e7909413fb7b5e395cfcdf235f69d8ffb4c33af47282a

See more details on using hashes here.

Supported by

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