Skip to main content

kdb+ interfacing library for Python

Project description

qPython (NumPy 2.0 Compatible Fork)

This is a fork of finos/qPython with NumPy 2.0 compatibility fixes applied.

Changes made:

  • Date: 2025-01-24

  • Fix: Replaced all numpy.string_ with numpy.bytes_ for NumPy 2.0 compatibility, also NaN with nan, etc

  • Original qPython version: Latest from finos/qPython as of fork date

For the original project and full documentation, see: https://github.com/finos/qPython


qPython (Original README below)

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

gabiteodoru_qpython-2.0.0.tar.gz (29.4 kB view details)

Uploaded Source

Built Distribution

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

gabiteodoru_qpython-2.0.0-py3-none-any.whl (42.4 kB view details)

Uploaded Python 3

File details

Details for the file gabiteodoru_qpython-2.0.0.tar.gz.

File metadata

  • Download URL: gabiteodoru_qpython-2.0.0.tar.gz
  • Upload date:
  • Size: 29.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for gabiteodoru_qpython-2.0.0.tar.gz
Algorithm Hash digest
SHA256 87de5ec0ca64336878874013d0e24d32602d62929b10d33acaab5575348a57e0
MD5 d337e110ce8a7e6dcdbc1eb7ea681cdc
BLAKE2b-256 1714452129e2cbe2bab6b5c05fe27bdbe52683ff676ebdbdb44046c92e801d86

See more details on using hashes here.

File details

Details for the file gabiteodoru_qpython-2.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for gabiteodoru_qpython-2.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e01db9c1f2d7ab2be413c9d7e8457dc627759435f2a04bed3679f9630c4b9ccf
MD5 cc28ccc8da016604f6c0e4d7431a29e6
BLAKE2b-256 67600aefe3d2ad947b96c5a75285aed961d79801f179821c4bc452e4fd64192e

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