|
|
Line 109: |
Line 109: |
|
| |
|
| Based upon the existing approaches, the goal of this project is to define an initial subset of [https://www.mathworks.com/help/matlab/tables.htmlMatlab's table functions], which involve sorting, splitting, merging, and file I/O and implement it within the given time frame. | | Based upon the existing approaches, the goal of this project is to define an initial subset of [https://www.mathworks.com/help/matlab/tables.htmlMatlab's table functions], which involve sorting, splitting, merging, and file I/O and implement it within the given time frame. |
|
| |
| * '''Required skills'''
| |
| : Knowledge of Octave, C/C++
| |
| * '''Potential mentors'''
| |
| : [[User:siko1056|Kai]]
| |
|
| |
| == Jupyter Notebook Integration ==
| |
|
| |
| <q>The [https://jupyter.org Jupyter Notebook] is an open-source web application that allows you to create and share documents that contain live code, equations, visualizations and narrative text.</q>
| |
|
| |
| To interactively work with Octave code within Jupyter Notebooks, there already exists an [https://github.com/Calysto/octave_kernel Octave kernel for Jupyter].
| |
|
| |
| '''This project''' aims to support the '''opposite direction''': running (and filling) Jupyter Notebook within GNU Octave. This would enable Jupyter Notebook users to evaluate '''long running Octave Notebooks''' on a computing server without permanent browser connection, which is [https://github.com/jupyter/notebook/issues/1647 still a pending issue]. To achieve this, different strategies are possible:
| |
|
| |
| # Synchronize an internal Octave data structure (e.g. classdef object) with the Jupyter Notebook. Probably the safest approach, but does not enable any interactivity from the Octave GUI.
| |
| # Import/export a Jupyter Notebook as Octave script (translate non-code sections to comments and vice versa). Files can be edited from the Octave GUI, but probably conversion losses might occur (e.g. embedded graphics).
| |
| # A synthesis of both approaches?
| |
|
| |
| In general a [https://nbformat.readthedocs.io/en/latest/ Jupyter Notebook] is a plain JSON document, which will be supported in Octave 7 (current development version) or through the [https://gnu-octave.github.io/pkg-index/package/pkg-json JSON package] for older Octave versions.
| |
|
| |
|
| * '''Required skills''' | | * '''Required skills''' |