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


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

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


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