Skip to main content

kdb+ interfacing library for Python

Project description

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 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.

To install qPython from internal PyPI:

``$ pip install --trusted-host pypi.dts.corp.local --extra-index-url https://pypi.dts.corp.local/root/citizen/+simple/ qpython

Building package

``$ python setup.py sdist bdist_wheel

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:

- https://github.com/maoo/security-scanning


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``

.. _Cython: http://cython.org/
.. _Sphinx: http://sphinx-doc.org/
.. _pip: http://pypi.python.org/pypi/pip
.. _documentation: http://qpython.readthedocs.org/en/latest/

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

pythonKdb-3.0.4.tar.gz (29.8 kB view details)

Uploaded Source

Built Distribution

pythonKdb-3.0.4-py3-none-any.whl (42.1 kB view details)

Uploaded Python 3

File details

Details for the file pythonKdb-3.0.4.tar.gz.

File metadata

  • Download URL: pythonKdb-3.0.4.tar.gz
  • Upload date:
  • Size: 29.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.8.10

File hashes

Hashes for pythonKdb-3.0.4.tar.gz
Algorithm Hash digest
SHA256 7bbdf0b42cc7831138d47111d143d8cce964805ae9eb16e937820f6d81236550
MD5 8ffb916bbf2dfe0e9b6211826d44bddf
BLAKE2b-256 19cb8ff1007d1a699bb420ba35ab1afae9be8d268184aa5f2eeaa4f903dbe0e3

See more details on using hashes here.

File details

Details for the file pythonKdb-3.0.4-py3-none-any.whl.

File metadata

  • Download URL: pythonKdb-3.0.4-py3-none-any.whl
  • Upload date:
  • Size: 42.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.8.10

File hashes

Hashes for pythonKdb-3.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 fd7bd7372a36afdd0a5cb79cdfb00f860dc396ec40292c230bceeedb6d837d35
MD5 d1016e630a4fab0c28237ad28ece9ea0
BLAKE2b-256 156c9074648fb8f3bbec79034b16362bbfa3d4876a185fd96f795fcec6fe6e34

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