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.1.tar.gz (99.7 kB view details)

Uploaded Source

Built Distribution

qConnect-0.1.1-cp310-cp310-win_amd64.whl (78.6 kB view details)

Uploaded CPython 3.10 Windows x86-64

File details

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

File metadata

  • Download URL: qConnect-0.1.1.tar.gz
  • Upload date:
  • Size: 99.7 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.1.tar.gz
Algorithm Hash digest
SHA256 eb7eb024deabb8a33a89ac41a847f9bea89aba76bdcc616d838c2375bb684a53
MD5 1a5707be6c3363a4d6f8bcd27c8c3610
BLAKE2b-256 f490b70d086c54be7e63f785fb7568f540d4b01d9876bb9e26b636c17e24488a

See more details on using hashes here.

Provenance

File details

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

File metadata

  • Download URL: qConnect-0.1.1-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 78.6 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.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 22c8520c139934608d3773ffc00859d7fdeaee8a9044f6bbb89edb3350ccb994
MD5 6149bb281e614f915b55ea04a24cf609
BLAKE2b-256 b69593ebd587deba29ce0411b93ac88b41f189627f15585cd9cc106688ff69d6

See more details on using hashes here.

Provenance

Supported by

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