RomainFranceschini / icrystal

Jupyter kernel for the Crystal language

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

ICrystal

ICrystal is a crystal kernel for Jupyter project.

Current status: early development stages (the kernel is very minimal). Expect more features in the future.

It is ported from the IRuby kernel.

icrystal

Installation

Prerequisites

  • The latest version of crystal.
  • LLVM development files.
  • Jupyter
  • ZeroMQ

Clone the repository and switch current directory:

git clone https://github.com/RomainFranceschini/icrystal.git
cd icrystal

Install dependencies

shards install

Build icrystal

shards build

Usage

To register the kernel (ensure jupyter is installed):

icrystal register

Now run jupyter and choose the ICrystal kernel as a backend for your notebook:

jupyter notebook

or

jupyter lab

How it works

The code submitted to the kernel is compiled using parts of the icr shard.

Development

To run the jupyter kernel testing tool (Python 3.4 or greater required):

pip3 install jupyter_kernel_test
python3 test/test_kernel.py

Roadmap

  • Widget support
  • Rich output (images, ...) support
  • Add special commands
  • Support adding/removing shards dependencies
  • Write specs

Contributing

  1. Fork it (https://github.com/RomainFranceschini/icrystal/fork)
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request

Contributors

License

Copyright (c) ICrystal contributors.

Licensed under the MIT license.

About

Jupyter kernel for the Crystal language

License:MIT License


Languages

Language:Crystal 96.3%Language:JavaScript 2.0%Language:Python 1.7%