7

What are available tools/libraries to integrate Python with kdb?

Leonid
  • 22,360
  • 25
  • 67
  • 91

3 Answers3

9

The timestored website has a guide to the python apis for kdb complete with videos. https://www.timestored.com/kdb-guides/python-api

To summarize your options:

  1. qPython - Newest API, supporting Python 2.7
  2. Dan Nugents Python Library - Still maintained API for pulling data into Python <=v2.6 from a kdb server. Faster than qpy.
  3. qpy - Original API that was based on kx.com's java API. Slower than Dans but nicer formatting of tables when printed.
  4. PyQ - Gone? - Brings Python and Q interpreters into the same process and allows code written in either of the languages to operate on the same data. Supports Python 2.7 and 3.x and all versions of kdb+.
  5. PyKX - Commercial
Ryan Hamilton
  • 2,601
  • 16
  • 17
John at TimeStored
  • 1,305
  • 7
  • 9
4

I also found http://www.kx.com/a/k/connect/python/, along with http://bitbucket.org/halotis/qpy. I haven't used either.

jcomeau_ictx
  • 37,688
  • 6
  • 92
  • 107
  • I will add this one, and it even has some docs :) https://code.kx.com/trac/wiki/Contrib/PyQ#Releases – Leonid Jun 11 '11 at 20:38
  • http://www.kx.com/a/k/connect/python/ is a link to older releases of pyk - Python for kdb (not kdb+!). The latest (but still old) code for pyk can be found at http://code.kx.com/wsvn/code/contrib/serpent.speak/trunk/K. [PyQ](https://pyq.enlnt.com) is a successor to pyk and provides Python for kdb+. – Alexander Belopolsky Mar 25 '16 at 19:30
1

there's also Dan Nugent's https://github.com/DannoHung/q

also note that, as with perl, sometimes the formatted export over the web socket is sufficient -- just GET http://SERVER.example:PORT/FMT?QUERY, where FMT is any of csv/txt/xml/xls (e.g. http://localhost:5050/csv?table)

Aaron Davies
  • 1,190
  • 1
  • 11
  • 17