A Jupyter kernel for Octave.
Project description
An Octave kernel for Jupyter
============================
Prerequisites
-------------
`Jupyter Notebook <http://jupyter.readthedocs.org/en/latest/install.html>`_ and GNU Octave_.
It is recommended to also install ``gnuplot`` for Octave to enable inline plotting.
Installation
------------
To install using pip::
pip install octave_kernel
Add ``--user`` to install in the user-level environment instead of the system environment.
To install using conda::
conda config --add channels conda-forge
conda install octave_kernel
conda install texinfo # For the inline documentation (shift-tab) to appear.
We require the ``octave-cli`` executable to run the kernel.
Add that executable's directory to the ``PATH`` environment variable or use the
``OCTAVE_EXECUTABLE`` to point to the executable itself.
Note that on Octave 5 on Windows, the executable is in ``"Octave-5.x.x.x\mingw64\bin"``.
We automatically install a Jupyter kernelspec when installing the
python package. This location can be found using ``jupyter kernelspec list``.
If the default location is not desired, remove the directory for the
``octave`` kernel, and install using ``python -m octave_kernel install``. See
``python -m octave_kernel install --help`` for available options.
Usage
-----
To use the kernel, run one of:
.. code:: shell
jupyter notebook # or ``jupyter lab``, if available
# In the notebook interface, select Octave from the 'New' menu
jupyter qtconsole --kernel octave
jupyter console --kernel octave
This kernel is based on `MetaKernel <http://pypi.python.org/pypi/metakernel>`_,
which means it features a standard set of magics (such as ``%%html``). For a full list of magics,
run ``%lsmagic`` in a cell.
A sample notebook is available online_.
Configuration
-------------
The kernel can be configured by adding an ``octave_kernel_config.py`` file to the
``jupyter`` config path. The ``OctaveKernel`` class offers ``plot_settings``, ``inline_toolkit``,
``kernel_json``, and ``cli_options`` as configurable traits. The available plot settings are:
'format', 'backend', 'width', 'height', and 'resolution'.
.. code:: bash
cat ~/.jupyter/octave_kernel_config.py
# use Qt as the default backend for plots
c.OctaveKernel.plot_settings = dict(backend='qt')
The path to the Octave kernel JSON file can also be specified by creating an
``OCTAVE_KERNEL_JSON`` environment variable.
The command line options to Octave can also be specified with an
``OCTAVE_CLI_OPTIONS`` environment variable. The cli options be appended to the
default opions of ``--interactive --quiet --no-init-file``. Note that the
init file is explicitly called after the kernel has set ``more off`` to prevent
a lockup when the pager is invoked in ``~/.octaverc``.
The inline toolkit is the ``graphics_toolkit`` used to generate plots for the inline
backend. It defaults to ``gnuplot``.
Troubleshooting
---------------
Kernel Times Out While Starting
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
If the kernel does not start, run the following command from a terminal:
.. code:: shell
python -m octave_kernel.check
This can help diagnose problems with setting up integration with Octave. If in doubt,
create an issue with the output of that command.
Kernel is Not Listed
~~~~~~~~~~~~~~~~~~~~
If the kernel is not listed as an available kernel, first try the following command:
.. code:: shell
python -m octave_kernel install --user
If the kernel is still not listed, verify that the following point to the same
version of python:
.. code:: shell
which python # use "where" if using cmd.exe
which jupyter
Gnuplot Error
~~~~~~~~~~~~~
An error that starts with ``gnuplot> set terminal aqua enhanced title`` can be fixed by
adding ``setenv("GNUTERM","qt");`` to ``~/.octaverc`` on MacOS or by installing
``gunplot-x11`` and using ``setenv("GNUTERM", "X11")``.
Blank Plot
~~~~~~~~~~
Specify a different format using the `%plot -f <backend>` magic or using a configuration setting.
On some systems, the default 'png' produces a black plot. On other systems 'svg' produces a
black plot.
.. _Octave: https://www.gnu.org/software/octave/download.html
.. _online: http://nbviewer.ipython.org/github/Calysto/octave_kernel/blob/master/octave_kernel.ipynb
============================
Prerequisites
-------------
`Jupyter Notebook <http://jupyter.readthedocs.org/en/latest/install.html>`_ and GNU Octave_.
It is recommended to also install ``gnuplot`` for Octave to enable inline plotting.
Installation
------------
To install using pip::
pip install octave_kernel
Add ``--user`` to install in the user-level environment instead of the system environment.
To install using conda::
conda config --add channels conda-forge
conda install octave_kernel
conda install texinfo # For the inline documentation (shift-tab) to appear.
We require the ``octave-cli`` executable to run the kernel.
Add that executable's directory to the ``PATH`` environment variable or use the
``OCTAVE_EXECUTABLE`` to point to the executable itself.
Note that on Octave 5 on Windows, the executable is in ``"Octave-5.x.x.x\mingw64\bin"``.
We automatically install a Jupyter kernelspec when installing the
python package. This location can be found using ``jupyter kernelspec list``.
If the default location is not desired, remove the directory for the
``octave`` kernel, and install using ``python -m octave_kernel install``. See
``python -m octave_kernel install --help`` for available options.
Usage
-----
To use the kernel, run one of:
.. code:: shell
jupyter notebook # or ``jupyter lab``, if available
# In the notebook interface, select Octave from the 'New' menu
jupyter qtconsole --kernel octave
jupyter console --kernel octave
This kernel is based on `MetaKernel <http://pypi.python.org/pypi/metakernel>`_,
which means it features a standard set of magics (such as ``%%html``). For a full list of magics,
run ``%lsmagic`` in a cell.
A sample notebook is available online_.
Configuration
-------------
The kernel can be configured by adding an ``octave_kernel_config.py`` file to the
``jupyter`` config path. The ``OctaveKernel`` class offers ``plot_settings``, ``inline_toolkit``,
``kernel_json``, and ``cli_options`` as configurable traits. The available plot settings are:
'format', 'backend', 'width', 'height', and 'resolution'.
.. code:: bash
cat ~/.jupyter/octave_kernel_config.py
# use Qt as the default backend for plots
c.OctaveKernel.plot_settings = dict(backend='qt')
The path to the Octave kernel JSON file can also be specified by creating an
``OCTAVE_KERNEL_JSON`` environment variable.
The command line options to Octave can also be specified with an
``OCTAVE_CLI_OPTIONS`` environment variable. The cli options be appended to the
default opions of ``--interactive --quiet --no-init-file``. Note that the
init file is explicitly called after the kernel has set ``more off`` to prevent
a lockup when the pager is invoked in ``~/.octaverc``.
The inline toolkit is the ``graphics_toolkit`` used to generate plots for the inline
backend. It defaults to ``gnuplot``.
Troubleshooting
---------------
Kernel Times Out While Starting
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
If the kernel does not start, run the following command from a terminal:
.. code:: shell
python -m octave_kernel.check
This can help diagnose problems with setting up integration with Octave. If in doubt,
create an issue with the output of that command.
Kernel is Not Listed
~~~~~~~~~~~~~~~~~~~~
If the kernel is not listed as an available kernel, first try the following command:
.. code:: shell
python -m octave_kernel install --user
If the kernel is still not listed, verify that the following point to the same
version of python:
.. code:: shell
which python # use "where" if using cmd.exe
which jupyter
Gnuplot Error
~~~~~~~~~~~~~
An error that starts with ``gnuplot> set terminal aqua enhanced title`` can be fixed by
adding ``setenv("GNUTERM","qt");`` to ``~/.octaverc`` on MacOS or by installing
``gunplot-x11`` and using ``setenv("GNUTERM", "X11")``.
Blank Plot
~~~~~~~~~~
Specify a different format using the `%plot -f <backend>` magic or using a configuration setting.
On some systems, the default 'png' produces a black plot. On other systems 'svg' produces a
black plot.
.. _Octave: https://www.gnu.org/software/octave/download.html
.. _online: http://nbviewer.ipython.org/github/Calysto/octave_kernel/blob/master/octave_kernel.ipynb
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
octave_kernel-0.30.1.tar.gz
(24.7 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file octave_kernel-0.30.1.tar.gz.
File metadata
- Download URL: octave_kernel-0.30.1.tar.gz
- Upload date:
- Size: 24.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.19.1 setuptools/40.2.0 requests-toolbelt/0.8.0 tqdm/4.31.1 CPython/3.7.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8301bde414b90189458579a41b234a7765eb49bf354fa1d712b5d9fb682dcac8
|
|
| MD5 |
c83f0c58b5e5a9c978b41d7c4ad3b93c
|
|
| BLAKE2b-256 |
a8481c17901bb3b9e4f43a25755c28bf73b17f688dd77ed53e8f1766b11e0ed6
|
File details
Details for the file octave_kernel-0.30.1-py3-none-any.whl.
File metadata
- Download URL: octave_kernel-0.30.1-py3-none-any.whl
- Upload date:
- Size: 33.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.19.1 setuptools/40.2.0 requests-toolbelt/0.8.0 tqdm/4.31.1 CPython/3.7.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fa5ca3af4b5a4af4c5ccf5d83fc5677f21d1a721a435e556c99f5b748d50faf3
|
|
| MD5 |
e1c7b3787b7b356f8d7466e06126ae62
|
|
| BLAKE2b-256 |
667e15b41d9fda508a4ec8bfe5e7aa800bfe250d39fb2095aec6f07aca69238e
|