什么笔记本好用_上百款好用到爆炸的 Jupyter 插件

什么笔记本好用

text | yuvipanda

translation | Heart of Machine(易茗,思源)

推荐| Programming Py

当有人说,“你可以用Jupyter扩展解决这个问题”时,他们可能没有说它是什么类型的扩展。Jupyter生态系统是非常模块化和可扩展的,所以有许多方法来扩展它。这个博客希望总结最常用的Jupyter扩展,并帮助你探索生态系统中的新功能。

jupyterab扩展

jupyterab带jupyterlab-drawin扩展绘图

jupyterab是一个流行的Jupyter笔记本“新”界面它是一个交互式开发环境,可以用于笔记本、代码或数据,因此它的可扩展性非常强。通过相关扩展,您可以添加一整套新功能或完全改变界面的操作模式。这些扩展是基于类型Fire Java编写的,并在浏览器中运行。

经典Jupyter笔记本扩展

什么笔记本好用

Jupyter笔记本内容列表扩展

人们总会想到经典Jupyter笔记本界面,但实际上,可以扩展其各种模块这些Java客户端允许您根据自己的想法添加或更改功能。它们与JupyterLab扩展相同。

笔记本服务器扩展

不同于前两个扩展。Jupyter笔记本服务器扩展是用Python语言编写的,包括许多服务器功能。以下是两个主要的例子

什么笔记本好用

jupyterab

预览LaTeX

中的预览LaTeX内容第一个是后端扩展-jupyterab-用于jupyterab或经典jupyterab笔记本的LaTeX它可以在JupyterLab中预览LaTeX文件。它有一个与JupyterLab文本编辑器集成的扩展,以及一个可以运行LaTeX命令并在前端显示效果的后端服务器扩展。

集成网络应用

第二个是为服务器端处理提供用户界面的扩展因为服务网络扩展可以用作任何龙卷风HTTP处理程序,所以您想要的任何网络应用程序都可以编写为Jupyter服务扩展。这里的例子是npgipuller,它提供了一个用户界面,可以向用户发布git代码仓库。

Jupyter内核

您可能已经熟悉了在Jupyter笔记本中使用Python语言,但是您实际上可以在其中运行许多语言:r、Julia、Java、Octave、Scala/Spark、C++、bash,甚至是Matlab这些叫做核心您可以为您的通用编程语言编写一个内核,直接在其上使用Jupyter协议,用元内核项目将其打包,或者用Xeus将其打包成C++依赖项。内核完成后,它可以运行在任何Jupyter前端,包括经典笔记本、JupyterLab、nteract、Jupyter命令行等。

IPython Magics

如果您在笔记本中内嵌编写了%matplotlib之类的命令,那么您已经尝试过IPython函数这些命令就像宏一样)——在Python中——你可以编写定制的代码,分离剩余的代码块,然后做你想做的事情。神奇函数

从%开始,然后在%之后通过代码运行例如,%cd有些目录可以切换运行在Python中的文件的目录。代码块的功能从%%开始,并运行以下整个块。% % timeit应该是最著名的,它可以提供运行代码块的时间。

IPython小工具

什么笔记本好用

具有下拉绘图功能

IPython小工具为Jupyter笔记本和IPython内核提供了图形用户界面工具这些工具允许您在共享笔记本时使用图形用户界面调试而不是代码。如果与其他工具(如voila)结合,您可以制作一个类似于仪表板的应用程序,其他人可以直接使用,即使不知道它是一个Jupyter笔记本。

您可以为其他人定制一些工具,以便在现场提供动态可视化。例如,您可以使用ipyleaflet来制作动态地图,使用itk-jupyter-widget来动态研究图像分割/配准任务,或者使用pythreejs来建模3D对象

内容管理器

内容管理器决定您在读取和写入文件时要做什么默认情况下,管理器从本地文件系统读取和写入文件,但定制的管理器可以从其他地方读取和写入文件,如亚马逊S3/谷歌云存储、PostgreSQL、HDFS等。您可以通过网络界面读写它们,就像文件是本地的一样。

我最喜欢的内容管理器是Jupytext当你读和写的时候。ipynb文件,它将它们转换成。复制文件并保持文件同步。在您的IDE中对. py文件进行多次编辑后,您可以在笔记本中自动看到这些更新。这是一件神奇的事情。

什么笔记本好用

jupytext:。ipynb或。py?我想要

扩展JupyterHub

JupyterHub是一个多用户应用程序,可用于教学、实验室或生产。这些组织可能有其他系统,所以Jupyter需要与这些系统集成。这里有一些扩展JupyterHub的简单方法

authenticator

jupyterhub是一个多用户应用程序,因此用户需要登录。认证者的工作是认证登录的用户现在有许多流行的验证器,如LDAP和OAuth(谷歌、GitHub、CILogon、Globus、Okta、Canvas等)。)您可以编写一个您需要的认证器,这样JupyterHub就可以涵盖所有类型的使用场景。

生成器(Spaowner)

如果您使用可插拔生成器,您可以通过多种方式为每个用户提供Jupyter笔记本服务器。您可以让他们从一个节点生成Docker容器,将它们连接到Kubernetes,让他们使用您的高性能计算集群,或者使用您的Hadoop或Spark集群,为系统提供服务,或者直接将这些服务器视为不同的Linux用户这些生成器通常很容易定制参数,当然你也可以自己写一个。

服务

nbconvertexporter

nbconvertextension使笔记本格式文件和其他格式能够相互转换。如果您将笔记本导出为PDF、LaTeX、HTML或nbviwer,您已经使用了此扩展在这个扩展中,每种格式都有一个导出器。您也可以为自己的格式编写一个导出器,或者您可以利用现有的自定义导出器。

写这篇博客时,我最开心的时刻是找到一个docx文档(word)导出器。

Bundler扩展

什么笔记本好用

可以很容易地找到nbconvert exporter的方法

Bundler扩展使您能够在菜单栏中添加“下载为”按钮此按钮与nbconvert Exporter配合使用,以便更容易找到导出程序,尽管您可以编写一个自定义的扩展来使笔记本在下载前做任何事情。例如,nbreport扩展提供了一个bundler扩展,可以将笔记本格式导出为HTML

报告摘要扩展将git或其他仓库转换成适用于数据科学的可重用摘要图像网站mybinder.org(和其他binderhub安装包)使用这个扩展来构建和运行Jupyter/RStudio进程如下所示,现在有两种方法来扩展repo 2时钟

build packs

content providers

就这些吗?

肯定不是!Jupyter生态是一个大系统,博客不能完全覆盖所有内容。这个博客已经变得不那么流行了,比如企业网关和TLJH插件。朱庇特的生态是动态的和多变的,不久将会有更多有用的扩展。

大家都在看

相关专题