Skip to content
Machine learning


Machine learning

Machine-learning capabilities are at the heart of future technology development at Kx. Libraries are added here as they are released. Libraries are released under the Apache 2 license, and are free for all use cases, including 64-bit and commercial use.

How to set up kdb+ to create a machine-learning environment using either Anaconda, Docker or a manual build.

Natural Language Processing

NLP is the first module in our machine-learning suite, and manages the common functions associated with processing unstructured text. Functions for searching, clustering, keyword extraction and sentiment are included, the library is available here.

Demonstration notebook


EmbedPy loads Python into kdb+, allowing access to a rich ecosystem of libraries such as scikit-learn, tensorflow and pytorch.

  • Python variables and objects become q variables – and either language can act upon them.
  • Python code and files can be embedded within q code.
  • Python functions can be called as q functions.

Example notebooks using embedPy


Users can now install kdb+ along with our supported Python and Machine Learning libraries, embedPy and jupyterq using the popular Anaconda package-management system conda.


JupyterQ supports Jupyter notebooks for q, providing

  • Syntax highlighting, code completion and help
  • Multiline input (script-like execution)
  • Inline display of charts

All machine-learning libraries are:

  • well documented, with understandable and useful examples
  • maintained and supported by Kx on a best-efforts basis, at no cost to customers
  • released under the Apache 2 license
  • free for all use cases, including 64-bit and commercial use

Commercial support is available if required: please email