All Projects → RomainFranceschini → icrystal

RomainFranceschini / icrystal

Licence: MIT license
Jupyter kernel for the Crystal language

Programming Languages

crystal
512 projects
javascript
184084 projects - #8 most used programming language
python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to icrystal

Best Of Jupyter
🏆 A ranked list of awesome Jupyter Notebook, Hub and Lab projects (extensions, kernels, tools). Updated weekly.
Stars: ✭ 200 (+669.23%)
Mutual labels:  notebook
Pluto.jl
🎈 Simple reactive notebooks for Julia
Stars: ✭ 3,430 (+13092.31%)
Mutual labels:  notebook
Goodreads visualization
A Jupyter notebook where I play with my Goodreads data
Stars: ✭ 51 (+96.15%)
Mutual labels:  notebook
Paperboy
A web frontend for scheduling Jupyter notebook reports
Stars: ✭ 221 (+750%)
Mutual labels:  notebook
Applied Reinforcement Learning
Reinforcement Learning and Decision Making tutorials explained at an intuitive level and with Jupyter Notebooks
Stars: ✭ 229 (+780.77%)
Mutual labels:  notebook
Cjworkbench
The data journalism platform with built in training
Stars: ✭ 244 (+838.46%)
Mutual labels:  notebook
Mytetra dev
MyTetra - smart crossplatform manager for information collecting / MyTetra - кроссплатформенный менеджер накопления информации / Официальная страница:
Stars: ✭ 207 (+696.15%)
Mutual labels:  notebook
Hackintosh-ASUS-A455LF-Notebook
EFI Folder for ASUS A455LF-WX039D Notebook Series with Clover/OpenCore Legacy or UEFI
Stars: ✭ 27 (+3.85%)
Mutual labels:  notebook
Beakerx
Beaker Extensions for Jupyter Notebook
Stars: ✭ 2,594 (+9876.92%)
Mutual labels:  notebook
mark-idea
一款私有云笔记,git + markdown
Stars: ✭ 182 (+600%)
Mutual labels:  notebook
Mindforger Repository
MindForger documentation repository.
Stars: ✭ 221 (+750%)
Mutual labels:  notebook
Yosoro
🍧Beautiful Markdown NoteBook. 🏖
Stars: ✭ 2,595 (+9880.77%)
Mutual labels:  notebook
Toonote
小兔笔记:Markdown 内置数据 跨平台 加密存储
Stars: ✭ 247 (+850%)
Mutual labels:  notebook
Ml Feynman Experience
A collection of analytics methods implemented with Python on Google Colab
Stars: ✭ 217 (+734.62%)
Mutual labels:  notebook
crypto-trader
Automating crypto trading with python in a jupyter notebook
Stars: ✭ 35 (+34.62%)
Mutual labels:  notebook
Style transfer
CNN image style transfer 🎨.
Stars: ✭ 210 (+707.69%)
Mutual labels:  notebook
Kb
A minimalist command line knowledge base manager
Stars: ✭ 2,789 (+10626.92%)
Mutual labels:  notebook
notes
📓读书笔记 <Java 8 实战>
Stars: ✭ 15 (-42.31%)
Mutual labels:  notebook
BlockchainEngineering
Learn to think like a blockchain designer by solving practical challenges
Stars: ✭ 21 (-19.23%)
Mutual labels:  notebook
Ipython
Official repository for IPython itself. Other repos in the IPython organization contain things like the website, documentation builds, etc.
Stars: ✭ 15,107 (+58003.85%)
Mutual labels:  notebook

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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].