Jupyter推出网页轻量级JupyterLab环境

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网站。