GSoC/2019/StatusReports/NikitaSirgienko

From KDE Community Wiki

Implement the import/export of Jupyter notebooks in Cantor

Cantor is a KDE application providing a graphical interface to different open-source computer algebra systems and programming languages, like Octave, Maxima, Julia, Python etc. The main idea of this application is to provide one single, common and user-friendly interface for different systems instead of providing different GUIs for different systems. There is another project following this idea - the project “Jupyter”. As a result of its very big popularity, user base and the community around this project, there is a lot of content available for this project created and contributed by users from different scientific and educational areas.

At the moment, Cantor has its own format for projects. Though this format is good enough to manage Cantor projects, there is not a lot of content created and published by Cantor users. Furthermore, sharing of the content stored in Cantor’s native format requires the availability of Cantor on the target system, which is available for linux only at the moment. This all complicates the attempts to make Cantor more popular and known to a broader user base.

The goal of this project is add possibility to read and write Jupyter notebooks files (.ipynb) to Cantor, because it will addresses the problems described above.

Work report

Community bounding period

Planning of realization this feature (on paper), reading Jupyter and Qt documentation, collecting Jupyter notebooks for tests purpose.

June 1 - June 21

Writing first iteration of the feature. On June 21 minimum plan realized: Cantor users can open Jupyter notebooks as easy as own Cantor format (.cws), edit them and save them as notebooks or as cantor worksheets. But converting is lossy sometimes, some Jupyter notebooks could loose some information after editing, for example Jupyter kernel metainformation (this is maximum plan - make the converting lossless).

Links

  1. Blog
  2. Project Proposal
  3. feature branch