Jupyter notebooks are one popular technique for displaying code, text, and
graphical output together in a comprehensive manner. Octave can publish
results to a Jupyter notebook with the function jupyter_notebook.
notebook = jupyter_notebook (notebook_filename) ¶notebook = jupyter_notebook (notebook_filename, options) ¶Run and fill the Jupyter Notebook in file notebook_filename from within GNU Octave.
Both text and graphical Octave outputs are supported.
This class has a public property notebook which is a structure
representing the JSON-decoded Jupyter Notebook. This property is
intentionally public to enable advanced notebook manipulations.
Note: Jupyter Notebook versions (nbformat) lower than 4.0 are not
supported.
The optional second argument options is a struct with fields:
tmpdir to set the temporary working directory.
%plot magic is supported with the following settings:
%plot -f <format>" or "%plot --format <format>": specifies
the image storage format. Supported formats are:
%plot -r <number>" or "%plot --resolution <number>":
specifies the image resolution.
%plot -w <number>" or "%plot --width <number>":
specifies the image width.
%plot -h <number>" or "%plot --height <number>":
specifies the image height.
Examples:
## Run all cells and generate the filled notebook
## Instantiate an object from a notebook file
notebook = jupyter_notebook ("myNotebook.ipynb");
## Run the code and embed the results in the notebook property
notebook.run_all ();
## Generate a new notebook by overwriting the original notebook
notebook.generate_notebook ("myNotebook.ipynb");
## Run just the second cell and generate the filled notebook
## Instantiate an object from a notebook file
notebook = jupyter_notebook ("myNotebook.ipynb");
## Run the code and embed the results in the notebook property
notebook.run (2)
## Generate a new notebook in a new file
notebook.generate_notebook ("myNewNotebook.ipynb");
## Generate an Octave script from a notebook
## Instantiate an object from a notebook file
notebook = jupyter_notebook ("myNotebook.ipynb");
## Generate the Octave script
notebook.generate_octave_script ("jup_script.m");
See also: jsondecode, jsonencode.