1,848
edits
mNo edit summary |
(Announce GSoC.) |
||
(4 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
{{Note|GNU Octave [https://summerofcode.withgoogle.com/organizations/5849336744771584/ has been selected] as mentoring organization for GSoC 2021.}} | |||
Since 2011 the GNU Octave project has mentored 38 students in [[Summer of Code]] (SoC) programs by [https://summerofcode.withgoogle.com/ Google] and [https://socis.esa.int/ ESA]. Those programs aim to advertise open-source software development and to attract potential new Octave developers. | Since 2011 the GNU Octave project has mentored 38 students in [[Summer of Code]] (SoC) programs by [https://summerofcode.withgoogle.com/ Google] and [https://socis.esa.int/ ESA]. Those programs aim to advertise open-source software development and to attract potential new Octave developers. | ||
Line 107: | 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''' |