Skip to main content

kdb+ interfacing library for Python

Project description

ATTENTION::

This project is in maintenance mode. We may fix bugs, but no new features will be added in foreseeable future.

qPython

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: v3.0, v2.6, v<=2.5

  • Uncompression of the IPC data stream

  • Internal representation of data via numpy arrays (lists, complex types) and numpy data types (atoms)

  • Supported on Python 2.7/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 qpython

Please do not use old PyPI package name: 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

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

qPython-nocython-2.0.0.tar.gz (69.9 kB view details)

Uploaded Source

Built Distribution

qPython_nocython-2.0.0-py3-none-any.whl (41.3 kB view details)

Uploaded Python 3

File details

Details for the file qPython-nocython-2.0.0.tar.gz.

File metadata

  • Download URL: qPython-nocython-2.0.0.tar.gz
  • Upload date:
  • Size: 69.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.6.1 requests/2.24.0 requests-toolbelt/0.9.1 tqdm/4.50.2 CPython/3.8.5

File hashes

Hashes for qPython-nocython-2.0.0.tar.gz
Algorithm Hash digest
SHA256 38fb705152134a60aeadc41c7fcef678f7027b71b3d90a7b8646b117989222fc
MD5 e22dc7279c8bad265133922bf1f9c069
BLAKE2b-256 fb831e849278ab71ebf2094f9d9459aa84aec80b8e5ca9571593ca6f4149e59b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: qPython_nocython-2.0.0-py3-none-any.whl
  • Upload date:
  • Size: 41.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.6.1 requests/2.24.0 requests-toolbelt/0.9.1 tqdm/4.50.2 CPython/3.8.5

File hashes

Hashes for qPython_nocython-2.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 28d1a6fa937906fbebd38be827aac2ffb3652bccdffcce18b0c10ef3ecb5cd20
MD5 720afb8b8d09512a0fc294591665bef9
BLAKE2b-256 5516187aadfbcc8d567551467d176fb7dfe48408e9e5f5299735c1f919c86906

See more details on using hashes here.

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