/IElixir

Jupyter's kernel for Elixir programming language

Primary LanguageElixirOtherNOASSERTION

IElixir

Jupyter's kernel for Elixir

Build Status Inline docs Coverage Status Join the chat at https://gitter.im/pprzetacznik/IElixir

Hex: https://hex.pm/packages/ielixir.

Please see generated documentation for implementation details: http://hexdocs.pm/ielixir/.

##Getting Started

Configure Jupyter

$ git clone https://github.com/jupyter/notebook.git
$ cd notebook
$ mkvirtualenv jupyter-env
$ workon jupyter-env
(jupyter-env) $ pip install --pre -e .
(jupyter-env) $ pip install jupyter-console

Configure IElixir

Clone IElixir repository and prepare the project

$ git clone https://github.com/pprzetacznik/IElixir.git
$ cd IElixir
$ mix deps.get
$ mix test
$ MIX_ENV=prod mix compile

Prepare kernel.json file

Create and edit kernel.json file

$ mkdir ~/.ipython/kernels/ielixir
$ vim ~/.ipython/kernels/ielixir/kernel.json

Put into the file following content:

{
  "argv": ["{PATH_TO_YOUR_IELIXIR_PROJECT}/start_script.sh", "{connection_file}"],
  "display_name": "ielixir",
  "language": "Elixir"
}

or simply run installation script to create this file:

$ ./install_script.sh

Use IElixir

Run Jupyter console with following line:

(jupyter-env) $ jupyter console --kernel ielixir

Run Jupyter Notebook with following line:

(jupyter-env) $ jupyter notebook resources/example.ipynb

Go to http://localhost:8888/ site (by default) in your browser and pick IElixir kernel:

Pick IElixir

Evaluate some commands in your new notebook:

IElixir basics

Generate documentation

Run following command and see doc directory for generated documentation in HTML:

$ mix docs

References

I was inspired by following codes and articles:

License

Copyright 2015 Piotr Przetacznik

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

  http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.