Skip to content
interprocess communication between Python and kdb+
Branch: master
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information.
conda.recipe Version and changelog update Nov 25, 2015
doc replaced deprecated f'romstring' by 'frombuffer', this fixes issue #64 Dec 26, 2018
qpython replaced deprecated f'romstring' by 'frombuffer', this fixes issue #64 Dec 26, 2018
samples renamed 'sync' and 'async' methods 'sendSync' and 'sendAsync Dec 26, 2018
tests Fix: serialization of 0n in generic lists (when Pandas package is ins… May 12, 2017
.gitignore BLD: add conda build recipe Nov 5, 2014
CHANGELOG.txt Create Oct 21, 2016
LICENSE Initial commit Apr 1, 2014
setup.cfg update project meta-information Jun 4, 2014 renamed 'sync' and 'async' methods 'sendSync' and 'sendAsync Dec 26, 2018


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


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.


To install qPython from PyPI:

$ pip install qpython

Please do not use old PyPI package name: exxeleron-qpython.

Building package


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.


  • Execute: python build_ext --inplace

Build binary distribution


  • Execute: python bdist


qPython uses py.test as a test runner for unit tests.


  • Make sure that top directory is included in the PYTHONPATH
  • Execute: py.test


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

You can’t perform that action at this time.