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

File metadata

  • Download URL: qConnect-0.1.4.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.4.tar.gz
Algorithm Hash digest
SHA256 12e2765f5f47d0f4570c7e9c26dbc447b925862e589ccad911b875ae307e01dc
MD5 bfe49a806fdcfd35820854448909d487
BLAKE2b-256 55395487bab4db17ddb0a6eda574f232fcfa196cc1642aada919408accfb4ade

See more details on using hashes here.

File details

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

File metadata

  • Download URL: qConnect-0.1.4-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.4-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 90be588f3b512f5e37377b259e4f84e9afb67de4a252009d62e41a8b59ae20c0
MD5 999a0f8cddf2a5bebe8ba6ac7a680047
BLAKE2b-256 c53c155ab38dc92c0a035395291e07e8961a34c1d6333c6605b8f71ed6e5c56f

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