Jupyter經過了多次嘗試成功開發出JupyterLite,JupyterLite不需要用戶在主機上啟動Python Jupyter伺服器,就能夠在瀏覽器中,執行完整的靜態Jupyter環境。JupyterLite提供了輕量級的運算環境,用戶只需要簡單地點擊網頁介面,就可以在數秒鐘內,於網頁瀏覽器開始工作,完全不需要在終端裝置安裝任何軟體。

由於JupyterLite透過瀏覽器發布,又不需要取用後端執行環境,大多數的應用程式都是靜態檔案,不只容易擴展,也很容易部署。

官方使用了JupyterLab擴充套件以及元件,重新設計JupyterLite,官方提到,透過重用JupyterLab元件,JupyterLite可以獲得上游的功能、修復等更新,像是最近JupyterLab 3.1推出的即時協作功能,也能夠在JupyterLite用到。

JupyterLite中預設使用Pyolite,而Pyolite是應用Pyodide開發的Python核心,在網頁工作程式(Web Worker)中執行,因此在運算工作負擔大的情況下,也不會阻擋主要UI執行緒。而Pyodide則是由編譯成WebAssembly的CPython 3.8直譯器所構成,可讓Python在瀏覽器中運作。Pyodide可以安裝任何來自PyPI,帶有Python Wheel的Python套件,另外,還對外公開函式介面,因此Python套件的生態系能對JavaScript開放,瀏覽器介面也能開放給Python。

JupyterLite可被簡單地部署成一個靜態網站,不需要伺服器或是複雜的配置,也沒有擴展性的問題,僅需要普通的HTTP伺服器就能夠提供服務,也就是說,有許多簡單部署選項可以使用,像是nginx、GitHub Pages或GitLab Pages和Netlify等。

JupyterLite支援許多視覺化函式庫,像是Altair和Plotly,讓用戶可在瀏覽器中,方便地繪製圖形。JupyterLite也支援小工具,Jupyter Widget相依於Jupyter協定中的自定義訊息規範,在核心和前端來回發送訊息,而Pyolite核心現在支援Comms,使得許多現有核心和第三方小工具,都可以直接於JupyterLite使用,包括bqplot、ipyleaflet和ipycanvas。

官方提到,他們的目標要讓用戶能夠使用喜歡的擴充套件,建置出屬於自己的客製化版本,但目前要做到這件事,必須要使用JupyterLite命令列工具,但他們計畫將推出更簡單地方法,供用戶匯出客製化的JupyterLite網站。


熱門新聞

Advertisement