Ewolucja Notatnika Jupytera

Projekt Jupyter istnieje w celu rozwijania oprogramowania open-source, otwartych standardów i usług dla interaktywnych i powtarzalnych obliczeń.

Od 2011 roku Notebook Jupyter jest naszym sztandarowym projektem w zakresie tworzenia powtarzalnych narracji obliczeniowych. Notebook Jupyter umożliwia użytkownikom tworzenie i udostępnianie dokumentów, które łączą kod na żywo z tekstem narracyjnym, równaniami matematycznymi, wizualizacjami, interaktywnymi elementami sterującymi i innymi bogatymi danymi wyjściowymi. Dostarcza również elementy konstrukcyjne do interaktywnych obliczeń z danymi: przeglądarkę plików, terminale i edytor tekstu.

Notatnik Jupyter stał się wszechobecny wraz z gwałtownym wzrostem nauki o wiedzy i uczenia się maszynowego, a co za tym idzie, rosnącą popularnością oprogramowania open-source w przemyśle i środowisku akademickim:

Dziś jest wielu użytkowników Notebooka Jupyter w wielu dziedzinach, od nauki o danych i uczenia się maszynowego po muzykę i edukację. Nasza międzynarodowa społeczność pochodzi z prawie każdego kraju na świecie.¹

Notebook Jupyter obsługuje obecnie ponad 100 języków programowania, z których większość jest rozwijana przez społeczność.

Na GitHubie znajduje się ponad 1,7 miliona publicznych notebooków Jupyter. Autorzy publikują zeszyty Jupyter w połączeniu z projektami badawczymi, czasopismami akademickimi, dziennikarstwem danych, kursami edukacyjnymi i książkami.

W tym samym czasie społeczność stanęła przed wyzwaniami związanymi z używaniem różnych programów do pracy z samym notebookiem, jak na przykład interaktywne uruchamianie kodu z plików tekstowych. Klasyczny Notebook Jupyter, zbudowany w oparciu o technologie internetowe z 2011 roku, jest dodatkowo trudny do dostosowania i rozbudowy.

JupyterLab: Gotowy dla użytkowników

JupyterLab to interaktywne środowisko programistyczne do pracy z notebookami, kodem i danymi. co najważniejsze, JupyterLab posiada pełną obsługę notebooków Jupyter. Dodatkowo, JupyterLab umożliwia korzystanie z edytorów tekstu, terminali, przeglądarek plików i innych niestandardowych komponentów obok notatników w obszarze roboczym z zakładkami.

https://miro.medium.com/max/1320/1*O20XGvUOTLoFKQ9o20usIA.png

JupyterLab zapewnia wysoki poziom integracji pomiędzy notebookami, dokumentami i działaniami:

Przeciągnij i upuść, aby zmienić kolejność komórek w notebookach i replikować je między notebookami.

Umożliwia interaktywne uruchamianie bloków kodu z plików tekstowych (.py, .R, .md, .tex, itp.).

Połączyć konsolę kodową z jądrem notebooka, aby interaktywnie eksplorować kod, bez plątaniny kabli w notebooku i czasowej pracy w trybie drapania.

Edytuj popularne formaty plików z podglądem na żywo, takie jak Markdown, JSON, CSV, Vega, VegaLite i inne.

JupyterLab jest w trakcie tworzenia od ponad trzech lat, z ponad 11.000 zobowiązań i kilkoma tysiącami wydań pakietów npm i Python. Ponad 100 współpracowników z szerszej społeczności pomogło zbudować JupyterLab dodatkowo do naszych głównych programistów JupyterLab.

Aby zacząć, zapoznaj się z dokumentacją JupyterLab w celu uzyskania instrukcji instalacji i przejścia, lub spróbuj JupyterLab z Binder. znajdziesz również JupyterHub do korzystania z JupyterLab.

Dostosuj swoje doświadczenia z JupyterLab

JupyterLab jest wykonany na bazie systemu rozszerzeń, który pozwala na dostosowanie i rozszerzenie JupyterLab poprzez instalację dodatkowych rozszerzeń. W rzeczywistości, wbudowana funkcjonalność samego JupyterLab (notebooki, terminale, przeglądarka plików, system menu, itp.) jest zapewniona przez grupę rozszerzeń rdzeniowych.

https://miro.medium.com/max/1320/1*OneJZOqKqBZ9oN80kRX7kQ.png

Między innymi, przedłużki mogą:

Dostarczać nowe motywy, edytory i przeglądarki plików lub renderowniki dla bogatych wyjść w notebookach;

Dodawać elementy menu, skróty klawiaturowe lub zaawansowane opcje ustawień;

Udostępnić API dla innych rozszerzeń do wykorzystania.

Rozszerzenia tworzone przez społeczność na GitHubie są oznaczone tematem jupyterlab-extension i obecnie obejmują przeglądarki plików (GeoJSON, FASTA, itp.), integrację z Google Drive, przeglądanie GitHuba i obsługę ipywidgetów.

Tworzenie rozszerzeń JupyterLab

Podczas gdy wielu użytkowników JupyterLaba zainstaluje dodatkowe rozszerzenia JupyterLab, wielu z nich będzie chciało stworzyć swoje własne. API do tworzenia rozszerzeń rozwija się podczas serii wydań beta i może się ustabilizować w JupyterLab 1.0. Aby rozpocząć tworzenie rozszerzeń JupyterLab, zobacz Przewodnik dla twórców rozszerzeń JupyterLab, a tym samym szablony rozszerzeń TypeScript lub JavaScript.

Sam JupyterLab jest współtworzony na bazie PhosphorJS, zastępczej biblioteki Javascript do budowania rozszerzalnych, wysokowydajnych, desktopowych aplikacji internetowych. Wykorzystujemy nowoczesne technologie JavaScript, takie jak TypeScript, React, Lerna, Yarn i webpack. Testy jednostkowe, dokumentacja, spójne standardy kodowania i badania doświadczeń użytkowników pomagają nam utrzymać wysoką jakość aplikacji.

JupyterLab 1.0 i więcej

Postanawiamy wydać JupyterLab 1.0 później w 2018 roku. Wersje beta prowadzące do 1.0 będą specjalizować się w stabilizowaniu interfejsu API do tworzenia rozszerzeń, ulepszaniu interfejsów i dodatkowych podstawowych funkcji. Wszystkie wydania z serii beta będą wystarczająco stabilne do codziennego użytku.

JupyterLab 1.0 docelowo zastąpi klasyczny Jupyter Notebook. W trakcie tego przejścia, równoważny format dokumentów dla notebooków będzie obsługiwany zarówno przez klasyczny Notebook jak i JupyterLab.