jupyter-c-kernel

by brendan-rius

brendan-rius / jupyter-c-kernel

Minimal Jupyter C kernel

443 Stars 96 Forks Last release: Not found MIT License 82 Commits 5 Releases

Available items

No Items, yet!

The developer of this repository has not created any items for sale yet. Need a bug fixed? Help with integration? A different license? Create a request here:

Minimal C kernel for Jupyter

Use with Docker (recommended)

  • docker pull brendanrius/jupyter-c-kernel
  • docker run -p 8888:8888 brendanrius/jupyter-c-kernel
  • Copy the given URL containing the token, and browse to it. For instance:
 Copy/paste this URL into your browser when you connect for the first time,
 to login with a token:
    http://localhost:8888/?token=66750c80bd0788f6ba15760aadz53beb9a9fb4cf8ac15ce8

Manual installation

Works only on Linux and OS X. Windows is not supported yet. If you want to use this project on Windows, please use Docker.

  • Make sure you have the following requirements installed:
    • gcc
    • jupyter
    • python 3
    • pip

Step-by-step:

  • pip install jupyter-c-kernel
  • install_c_kernel
  • jupyter-notebook
    . Enjoy!

Example of notebook

Example of notebook

Custom compilation flags

You can use custom compilation flags like so:

Custom compulation flag

Here, the

-lm
flag is passed so you can use the math library.

Contributing

The docker image installs the kernel in editable mode, meaning that you can change the code in real-time in Docker. For that, just run the docker box like that:

git clone https://github.com/brendan-rius/jupyter-c-kernel.git
cd jupyter-c-kernel
docker run -v $(pwd):/jupyter/jupyter_c_kernel/ -p 8888:8888 brendanrius/jupyter-c-kernel

This clones the source, run the kernel, and binds the current folder (the one you just cloned) to the corresponding folder in Docker. Now, if you change the source, it will be reflected in http://localhost:8888 instantly. Do not forget to click "restart" the kernel on the page as it does not auto-restart.

License

MIT

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.