Index of /besson/publis/Jupyter-NBConvert-Ocaml.git

[ICO]NameLast modifiedSizeDescription
[PARENTDIR]Parent Directory  - Root of the website (in English or in French)
[DIR]jupyter_nbconvert_ocaml/2017-10-06 15:32 -  
[   ]LICENSE2017-10-06 14:11 1.1K 
[   ]Makefile2017-10-06 15:52 1.2K 
[   ]_config.yml2017-10-06 15:38 25  
[   ]demo_notebook_ocaml.ipynb2018-11-27 14:45 30K 
[TXT]demo_notebook_ocaml.ml2018-11-27 14:45 8.5K 
[TXT]demo_notebook_script.ml2018-11-27 14:45 4.7K 
[TXT]setup.py2017-10-06 15:36 1.8K 
[TXT]README.md2017-12-28 00:45 3.5KSome details about this page
# Custom `Exporter` for OCaml and the Jupyter NBConvert

Installing this Python project allow to convert [Jupyter notebooks]( written with the [OCaml Jupyter kernel]( directly to well-written `.ml` OCaml scripts. It solves [this issue](

## a) Test, and install locally
Clone this repository, test everything locally if you want, and then install it globally with:

$ python install  # for default Python
$ python3 install  # for Python3 if needed

> Note: `sudo` right might be necessary:

$ sudo python3 install

## b) Install directly from GitHub

This package can also be installed directly from GitHub with [`pip`](

sudo pip install git+

Check that you use pip2 or pip3 whether you installed Jupyter for Python 2 or Python 3. (You can of course install `Jupyter-NBConvert-OCaml` for both if you prefer!)

## Use it

$ jupyter nbconvert --to ocaml A_Jupyter_notebook_with_OCaml_kernel.ipynb
$ ls
$ ocaml  # it works and comments are kept

To test it locally (in this folder), use [this Makefile](Makefile):

$ make convert_demo_ocaml_local
$ head -n7
This OCaml script was exported from a Jupyter notebook
using an open-source software (under the MIT License) written by @Naereen
This software is still in development, please notify me of a bug at if you find one

## Example

- See [this small notebook](demo_notebook_ocaml.ipynb), with lots of comments,
- [This first OCaml file]( is the result of `jupyter-nbconvert --to script`, the default conversion, which removes all comments,
- [And this second OCaml file]( is the result of `jupyter-nbconvert --to ocaml`, our home-made conversion, which removes keep all comments and adds a small header.

## References
> See the [documentation]( [I (Lilian Besson, @Naereen]( used to write this small exporter.


## :scroll: License ? [![GitHub license](](
[MIT Licensed]( (file [LICENSE](LICENSE)).
© [Lilian Besson](, 2017-2018.

[![Ask Me Anything !](](

[![ForTheBadge built-with-swag](](

[![ForTheBadge uses-badges](](
[![ForTheBadge uses-git](](