mpcjanssen / tcljupyter

Tcl kernel for Jupyter
10 stars 1 forks source link

Installation

local

Jupyter will use the kernel.json file to start the kernel (passing the connection file as the first parameter).

Docker

The docker* folders contain Dockerfiles for building a tcljupyter container based on alpine or a bigger jupyter image with additional IRuby and IRacket kernels based on debian. Example docker-compose.yml files are added.

Prebuilt images for amd64 and arm64 are on Docker Hub.

Binder

If you want to try it out without installation you can use the Binder version in the cloud.

Dependencies

The Tcl used to run the init.tcl script should have the following available:

Build tclzmq on windows

Easiest way to build tclzmq on Windows is to use mingw.

pacman -Syu mingw64/mingw-w64-x86_64-gcc mingw64/mingw-w64-x86_64-zeromq

Supported

Most web client commands are supported. Only thing missing is reading from stdin with for example gets.

Commands

Magic commands

Magics are lines starting with %% at the top of the cell.

Test suite

A prequisite is the jupyter_kernel_test (JKT) module:

pip install jupyter_kernel_test

To run the test suite, execute (from within the checkout directory):

python -m tests.test_tcljupyter

Design

Design

For communication from kernel to session thread [thread::send -async] is being used. stdout and stderr are being intercepted by chan push