Summer of Code - Getting Started: Difference between revisions

(→‎Infrastructure: JSON project done.)
Line 310: Line 310:
[http://jupyter.org Jupyter Notebook] is a web-based worksheet interface for computing.  There is a [https://github.com/Calysto/octave_kernel Octave kernel for Jupyter].  This project seeks in first place to improve that kernel to make Octave a first-class experience within the Jupyter Notebook.
[http://jupyter.org Jupyter Notebook] is a web-based worksheet interface for computing.  There is a [https://github.com/Calysto/octave_kernel Octave kernel for Jupyter].  This project seeks in first place to improve that kernel to make Octave a first-class experience within the Jupyter Notebook.


In general the [https://nbformat.readthedocs.io/en/latest/ Jupyter Notebook Format] is a plain JSON document.  In combination with another Octave GSoC project (see [[Summer of Code - Getting Started#JSON_encoding.2Fdecoding | JSON encoding/decoding]]), a second valuable outcome was that Octave can run (and fill) those Jupyter Notebooks on it's own.  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].
In general the [https://nbformat.readthedocs.io/en/latest/ Jupyter Notebook Format] is a plain JSON document, which is supported since Octave 7 (current development version). Another valuable project outcome was to run (and fill) those Jupyter Notebooks from within 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].


* '''Minimum requirements'''
* '''Minimum requirements'''
: Good Octave and Python programming knowledge.
: Octave and Python programming knowledge.
* '''Difficulty'''
* '''Difficulty'''
: Medium.
: Medium.
* '''Mentors'''
* '''Mentors'''
: Colin B. Macdonald, Mike Miller, [[User:Siko1056|Kai T. Ohlhus]]
: [[User:Siko1056|Kai T. Ohlhus]], Colin B. Macdonald, Mike Miller


=== Using Python within Octave ===
=== Using Python within Octave ===