chrisckwong821 / jupyterq

Jupyter kernel for kdb+

Home Page:https://code.kx.com/v2/ml/jupyterq/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

JupyterQ

Jupyter kernel for kdb+. Features include

  • syntax highlighting for q
  • code completion for q keywords, .z/.h/.Q/.j namespace functions, and user-defined variables
  • code help for q keywords and basic help (display and type information) for user-defined objects
  • script-like execution of code (multiline input)
  • inline display of charts created using embedPy and matplotlib
  • console stdout/stderr capture and display in notebooks
  • inline loading and saving of scripts into and from notebook cells

Requirements

  • kdb+ ≥ v3.5 64-bit
  • Python ≥ 3.5
  • embedPy

Overview

You can either

  • install JupyterQ to run on your local machine; or
  • download or build a Docker image in which to run JupyterQ

There are two ways to install JupyterQ on your local machine:

  1. download and install a release
  2. install with Conda – recommended if you are already using Anaconda Python

Install on local machine

Download and install a release

  1. Make sure you have installed embedPy

  2. Download a release archive from the releases page, and unzip it.

  3. Install the required Python packages with Pip or Conda

    # pip
    pip install -r requirements.txt
    # conda
    conda install --file requirements.txt
  4. Ensure QHOME is set and you have a working version of q in your PATH. Note that Jupyter will not pick up Bash aliases when starting q: the location of the q executable needs to be in your PATH.

  5. Run the install script

    Linux/macOS

    ./install.sh

    Windows

    install.bat
    

Install with Conda

  1. Download and install either the full Anaconda distribution or Miniconda for Python3.

  2. Use Conda to install JupyterQ and its dependencies

    conda install -c kx jupyterq
  3. Ensure you can run q before running JupyterQ for the first time. You may need to obtain an on-demand licence

q
…
q)\\

NOTE

If installing on a system which already has kdb+ we recommended installing JupyterQ, embedPy and the conda packaged version of kdb+ in a conda environment, this can be done using the following steps

// create a new environment and install jupyterq and its dependancies
> conda create -n jupyterqenv -c kx jupyterq
// move into the new environment where jupyterq can be run
> conda activate jupyterqenv

It should be noted that in this case JupyterQ, embedPy and the conda installed kdb can only be run from this activated environment.


Running after install

To run the Jupyter console

jupyter console --kernel=qpk

To run the example notebook

jupyter notebook kdb+Notebooks.ipynb

Run a Docker image

If you have Docker installed you can alternatively run:

docker run -it --name myjupyterq -p 8888:8888 kxsys/jupyterq

Now point your browser at http://localhost:8888/notebooks/kdb%2BNotebooks.ipynb.

For subsequent runs, you will not be prompted to redo the license setup when calling:

docker start -ai myjupyterq

To change the port or use the image to run your own notebooks, see the Docker README.

See instructions regarding headless/presets.

See build instructions for the image.

Using notebooks

See the notebook kdb+Notebooks.ipynb for full interactive examples and explanation. (It should be legible on GitHub.)

Documentation

See documentation on the JupyterQ homepage.

About

Jupyter kernel for kdb+

https://code.kx.com/v2/ml/jupyterq/

License:Apache License 2.0


Languages

Language:Jupyter Notebook 52.7%Language:q 24.3%Language:Python 11.7%Language:Batchfile 3.1%Language:JavaScript 2.1%Language:Shell 2.0%Language:C 1.9%Language:Dockerfile 1.8%Language:Makefile 0.4%