{"id":18728183,"url":"https://github.com/calysto/octave_kernel","last_synced_at":"2026-04-02T13:33:04.735Z","repository":{"id":19218252,"uuid":"22452375","full_name":"Calysto/octave_kernel","owner":"Calysto","description":"An Octave kernel for IPython","archived":false,"fork":false,"pushed_at":"2025-05-11T15:42:27.000Z","size":1087,"stargazers_count":458,"open_issues_count":37,"forks_count":67,"subscribers_count":21,"default_branch":"main","last_synced_at":"2025-05-11T16:36:47.572Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":"Unmaintained","scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Calysto.png","metadata":{"files":{"readme":"README.rst","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2014-07-31T01:59:06.000Z","updated_at":"2025-05-11T15:42:31.000Z","dependencies_parsed_at":"2024-06-18T15:26:12.877Z","dependency_job_id":"fda24bd9-be06-4bba-9756-ef3dc8e07357","html_url":"https://github.com/Calysto/octave_kernel","commit_stats":{"total_commits":372,"total_committers":23,"mean_commits":16.17391304347826,"dds":"0.11827956989247312","last_synced_commit":"5d88865e0a4c341f2a554e149b1681bc995c7fb2"},"previous_names":[],"tags_count":94,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Calysto%2Foctave_kernel","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Calysto%2Foctave_kernel/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Calysto%2Foctave_kernel/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Calysto%2Foctave_kernel/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Calysto","download_url":"https://codeload.github.com/Calysto/octave_kernel/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254442854,"owners_count":22071877,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-07T14:20:00.508Z","updated_at":"2026-04-02T13:33:04.685Z","avatar_url":"https://github.com/Calysto.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"An Octave kernel for Jupyter\n============================\n\n.. image:: https://mybinder.org/badge_logo.svg\n :target: https://mybinder.org/v2/gh/Calysto/octave_kernel/main?urlpath=/lab/tree/octave_kernel.ipynb\n\nPrerequisites\n-------------\n`Jupyter Notebook \u003chttp://jupyter.readthedocs.org/en/latest/install.html\u003e`_ and GNU Octave_.\n\nInstallation\n------------\nTo install using pip::\n\n    pip install octave_kernel\n\nAdd ``--user`` to install in the user-level environment instead of the system environment.\n\nTo install using conda::\n\n    conda config --add channels conda-forge\n    conda install octave_kernel\n    conda install texinfo # For the inline documentation (shift-tab) to appear.\n\nWe require the ``octave-cli`` or ``octave`` executable to run the kernel.\nAdd that executable's directory to the ``PATH`` environment variable or create the\nenvironment variable ``OCTAVE_EXECUTABLE`` to point to the executable itself.\nNote that on Octave 5+ on Windows, the executable is in ``\"Octave-x.x.x.x\\mingw64\\bin\"``.\n\nWe automatically install a Jupyter kernelspec when installing the\npython package.  This location can be found using ``jupyter kernelspec list``.\nIf the default location is not desired, remove the directory for the\n``octave`` kernel, and install using ``python -m octave_kernel install``.  See\n``python -m octave_kernel install --help`` for available options.\n\nUsage\n-----\nTo use the kernel, run one of:\n\n.. code:: shell\n\n    jupyter notebook  # or ``jupyter lab``, if available\n    # In the notebook interface, select Octave from the 'New' menu\n    jupyter qtconsole --kernel octave\n    jupyter console --kernel octave\n\nThis kernel is based on `MetaKernel \u003chttp://pypi.python.org/pypi/metakernel\u003e`_,\nwhich means it features a standard set of magics (such as ``%%html``).  For a full list of magics,\nrun ``%lsmagic`` in a cell.\n\nA sample notebook is available online_.\n\n\nConfiguration\n-------------\nThe kernel can be configured by adding an ``octave_kernel_config.py`` file to the\n``jupyter`` config path.  The ``OctaveKernel`` class offers ``plot_settings``, ``inline_toolkit``,\n``kernel_json``, and ``cli_options`` as configurable traits.  The available plot settings are:\n'format', 'backend', 'width', 'height', 'resolution', and 'plot_dir'.\n\n.. code:: bash\n\n    cat ~/.jupyter/octave_kernel_config.py\n    # use Qt as the default backend for plots\n    c.OctaveKernel.plot_settings = dict(backend='qt')\n\n\nThe path to the Octave kernel JSON file can also be specified by creating an\n``OCTAVE_KERNEL_JSON`` environment variable.\n\nThe command line options to Octave can also be specified with an\n``OCTAVE_CLI_OPTIONS`` environment variable.  The cli options be appended to the\ndefault opions of  ``--interactive --quiet --no-init-file``.  Note that the\ninit file is explicitly called after the kernel has set ``more off`` to prevent\na lockup when the pager is invoked in ``~/.octaverc``.\n\nThe inline toolkit is the ``graphics_toolkit`` used to generate plots for the inline\nbackend.  It defaults to ``qt``.  The different backend can be used for inline\nplotting either by using this configuration or by using the plot magic and putting the backend name after ``inline:``, e.g. ``plot -b inline:fltk``.\n\n\nTroubleshooting\n---------------\n\nKernel Times Out While Starting\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\nIf the kernel does not start, run the following command from a terminal:\n\n.. code:: shell\n\n    python -m octave_kernel.check\n\nThis can help diagnose problems with setting up integration with Octave.  If in doubt,\ncreate an issue with the output of that command.\n\n\nKernel is Not Listed\n~~~~~~~~~~~~~~~~~~~~\nIf the kernel is not listed as an available kernel, first try the following command:\n\n.. code:: shell\n\n    python -m octave_kernel install --user\n\nIf the kernel is still not listed, verify that the following point to the same\nversion of python:\n\n.. code:: shell\n\n    which python  # use \"where\" if using cmd.exe\n    which jupyter\n\n\nGnuplot Error\n~~~~~~~~~~~~~\nAn error that starts with ``gnuplot\u003e set terminal aqua enhanced title`` can be fixed by\nadding ``setenv(\"GNUTERM\",\"qt\");`` to ``~/.octaverc`` on MacOS or by installing\n``gunplot-x11`` and using ``setenv(\"GNUTERM\", \"X11\")``.\n\nOctave-Snap (Linux)\n~~~~~~~~~~~~~~~~~~~\nYou can check if you are using a snap version on Linux by checking the path to your Octave\ninstallation.\n\n.. code:: shell\n\n    which octave\n\nIf the returned path has ``snap`` in it, then Octave is running in a container and you will need to configure the kernel appropriately.\n\n1) Set the environment variable ``OCTAVE_EXECUTABLE=\"octave\"``\n\n.. code:: shell\n\n    echo export OCTAVE_EXECUTABLE=\\\"octave\\\" \u003e\u003e ~/.bashrc\n\n2) Make a directory for the temporary plot directories that the kernel uses. This *cannot* be a hidden directory.\n\n.. code:: shell\n\n    mkdir ~/octavePlots\n\n3) Set ``plot_dir`` to point to your plot directory in ``octave_kernel_config.py``.\n\n.. code:: shell\n\n\tc.OctaveKernel.plot_settings = dict(plot_dir='\u003chome\u003e/octavePlots')\n\nwhere ``\u003chome\u003e`` is the absolute path to your home directory. Do not use ``~`` as this resolves to a different location for Octave-Snap.\n\n\nBlank Plot\n~~~~~~~~~~\nSpecify a different format using the ``%plot -f \u003cbackend\u003e`` magic or using a configuration setting.\nOn some systems, the default ``'png'`` produces a black plot.  On other systems ``'svg'`` produces a\nblack plot.\n\nLocal Installation\n------------------\n\nTo install from a git checkout, run:\n\n.. code:: shell\n\n    make install\n\n\n.. _Octave: https://www.gnu.org/software/octave/download.html\n.. _online: http://nbviewer.ipython.org/github/Calysto/octave_kernel/blob/main/octave_kernel.ipynb\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcalysto%2Foctave_kernel","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcalysto%2Foctave_kernel","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcalysto%2Foctave_kernel/lists"}