Tak napíše někdo extenzi do notebooku. Notebook má různé problémy, ale tady ho vyloženě vyrábíš. Notebook má svoje UI, kde jsou buňky -- těm teoreticky není problém přidávat různá metadata (tagy) -- jen to to rozhraní musí umožňovat -- a už umožňuje https://ipypublish.readthedocs.io/en/latest/metadata_tags.html;
JSON je jen vehikl pro serializaci toho formátu nic víc. Mathematica používá něco podobného -- plain text.
(* Beginning of Notebook Content *)
Notebook[{
Cell[TextData[{
"Plot of function ",
Cell[BoxData[
FormBox[
RowBox[{"sin", "(",
RowBox[{"x", "^",
RowBox[{"(",
RowBox[{"1", "/", "3"}], ")"}]}], ")"}], TraditionalForm]],
ExpressionUUID->"0874c9a8-d90c-4a34-904b-df7c49bb2b5c"],
"\n",
Cell[BoxData[""], "Input",
CellChangeTimes->{{3.786180403449582*^9, 3.7861804035166073`*^9}},
ExpressionUUID->"114c80d9-f15c-421d-9a04-aeb3ef392579"]
}], "Text",
CellChangeTimes->{{3.786180202895319*^9, 3.7861802335857105`*^9}, {
3.7861802779515533`*^9, 3.7861803619211206`*^9}, {3.7861804185295863`*^9,
3.7861804505311823`*^9}, {3.786180509237379*^9, 3.7861805571387177`*^9}, {
3.7861806645734816`*^9, 3.786180737578287*^9}, {3.7861808153895245`*^9,
3.7861808180225277`*^9}, 3.786180908723688*^9, {3.786180952733492*^9,
3.786180996743758*^9}},ExpressionUUID->"e0233f55-e7db-4576-9305-\
b72397a0e687"],
Jupytext má svoje použítí a podle mne hlavní motivací je možnost to psát v normálním textovém editoru. Ostatní to řeší tak, že píšou vedle kód do souboru a v notebooku jen volají funkce a vizualizují, žádné velké programování v tom nejde dělat, ten editor je pro "srandu". Jenže ani jupytext nemá nahradit notebooky, myslet si tohle je naivní -- Mathematika i Matlab na tomhle postavili svojí popularitu. A přímo jupytext píše: "Jupytext can also convert these formats into Jupyter Notebooks, allowing for two-directional syncing between formats. See below for a quick demo." Nevím proč by někdo psal projekt s 2-way synchronizací, kdyby si myslel, že notebook je kravina.
29. 12. 2019, 10:43 editováno autorem komentáře