/xeus-octave

Jupyter kernel for GNU Octave

Primary LanguageJupyter NotebookGNU General Public License v3.0GPL-3.0

Xeus Octave

Build status on Github Actions Documentation status on Readthedocs Run on Binder Join the Gitter Chat

Xeus Octave is a Jupyter kernel for Octave based on the native implementation of the C++ Jupyter protocol Xeus. This means that it is completely native, and does not run a virtual Octave session in a forked process.

Thanks to its being native, Xeus Octave has access to the internal representation of all Octave objects, and thus it is able to provide advanced visualisation of many types with ease.

Usage

Native Octave plots

Native Octave plots

Interactive Plotly plots

Interactive Plotly plots

Rich display of tables

Rich display of tables

Rich display of structs

Rich display of structs

Rich display of LaTeX equations

Rich display of LaTeX equations

Rich display of images

Rich display of images

Code completion

Dropdown completion of a function

Code inspection and contextual help

Queriyng the help of a function

Contextual help shown dynamically

Stream support

Input and ouput streams

Installation

With mamba (or conda)

Xeus Octave has been packaged for the mamba (or conda) package manager.

To ensure that the installation works, it is preferable to install xeus-octave in a fresh environment. It is also needed to use a miniforge or miniconda installation because with the full anaconda you may have a conflict with the zeromq library which is already installed in the anaconda distribution.

The safest usage is to create an environment named xeus-octave

mamba create -n myenv -c conda-forge xeus-octave
mamba activate -n myenv

Then you can install in this freshly created environment other dependencies, such as notebook or JupyterLab

mamba install -c conda-forge jupyterlab

From Source

You can install xeus-octave from source with Cmake. This requires that you have all the dependencies installed in the same prefix, for instance a superset of these dependencies can be found in the file environment-dev.yml.

mamba install --file environment-dev.yml

Then you can install in the same Conda environment with

cmake -B build -D CMAKE_PREFIX_PATH="${CONDA_PREFIX}" -D CMAKE_INSTALL_PREFIX="${CONDA_PREFIX}"
cmake --build build --parallel 4
cmake --install build

Trying it online

To try out xeus-octave interactively in your web browser, just click on the binder link:

Run on Binder

Documentation

To get started with using Xeus Octave, check out the full documentation xeus-octave.readthedocs.io

Contributing

See CONTRIBUTING.rst to know how to contribute and set up a development environment.

License

This software is licensed under the GNU General Public License v3. See the LICENSE file for details.