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.3.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.3-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.3.tar.gz.

File metadata

  • Download URL: qConnect-0.1.3.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.3.tar.gz
Algorithm Hash digest
SHA256 6f399580ada1c77f26b7f64c9a0647ddd52c9f868a33221dc5c5ea1a56120623
MD5 07123ba3c080d77a64c30189ec136a9a
BLAKE2b-256 1a3af7a2e14d3254875a5f7f2bdfad4273c6998161a3fc9db942466bc3a4a714

See more details on using hashes here.

File details

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

File metadata

  • Download URL: qConnect-0.1.3-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.3-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 a1b9a4ddfc1b33d9c9c5a3f34c2c15a34092624cc470e326226150e30724cf3d
MD5 042d35df5677974c24a15982c7e12f3f
BLAKE2b-256 88520eaae2e0a5e4673854141e4bd865c8b44c02251821cd04b6e891290456cc

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