Colab不好用,有人花两年开发了一个新notebook,支持实时协作还更快

工具不好用就自己开发一个,「不将就」的开发者就是这么任性。


市场上现有的数据科学 notebook 工具都有很多痛点,比如版本控制、可复现性、协作体验等,与其他工具配合使用时也不太方便。

在这些痛点面前,大多数人选择将就,但还有人选择自己动手,Jakub 就是其中之一。为了解决上述痛点,Jakub 和他的同伴两年前就立志打造一个新的 notebook。如今,他们的成果终于问世。
这款名叫 Deepnote 的数据科学 notebook 建立在 Jupyter 的生态系统之上,运行在云端,个人用户可以免费使用。

与其他 notebook 相比,Deepnote 有三大亮点:
  • 首先是实时协作。为了实现这一点,Deepnote 默认在云端运行。每个 Deepnote notebook 都很容易共享(就像 Google Docs 一样),非技术用户理解起来也没有难度;

  • 其次是界面。Jakub 等人重新设计了一个新的界面,以鼓励用户开展最佳实践、写出简洁的代码、定义依赖并创建可复现的 notebook。他们还创建了一个优秀的自动补全系统并添加了一个变量管理器;

  • 最后是与其他服务的整合。Jakub 等人降低了 Deepnote 与其他服务整合的难度。他们的最终目的是创建一个与其他服务、数据库、ML 平台和 Jupyter 生态系统协作顺畅的 notebook。


和 Colab 一样,Deepnote 可以在浏览器上使用,支持 Windows、Mac、Linux、Chromebook 等各种平台和 Python、R、Julia 等语言。所有的更新都会立即保存。

与 Colab 相比,Deepnote 拥有以下优势:

  • 实时协作;

  • 整合(数据库、S3 bucket、环境变量);

  • 稳定(而且快得多)的文件系统;

  • 硬件不会突然被关掉;

  • 变量管理器;

  • 可以和非技术人员共享的友好界面。

Jakub 等人刚刚发布了 Deepnote 的公开测试版,大家可以点击以下网址试用:https://deepnote.com/

包括斯坦福大学、字节跳动、GitHub、NASA 在内的机构都已经试用过 Deepnote。目前,个人用户可以免费使用。从群众反馈上来看,用过的都说好。尽管还存在一些不足,不过据开发者回复,很多必备但未实现的功能都已经「在路上了」。
现在用户可以通过 GitHub 或谷歌账户注册,但很快就能实现网站直接注册。
「不错!比 mybinder 之类的快很多。」

接下来,我们来看下 Deepnote 的具体用法和特点。

命令平台

首先,用户可以通过在 Mac 系统上键入 cmd + P 命令或者 Windows 系统上键入 ctrl + P 命令来打开和关闭该命令平台。

实时协作

Deepnote 支持实时协作,用户可以与其他人共享项目。执行单元是对所有用户的执行,因为协作的用户之间共享同一个环境和内核。
集成

Deepnote 提供了一个持续增长的本地集成库,简化了数据源与项目之间的连接过程。数据的轻松访问也是 Deepnote 的设计原则之一。

查看变量

Deepnote 提供了一种探索 notebook 中当前变量的简单方法。定义变量的单元格被执行之后,变量将显示在左侧栏中,并提供有关其类型和内容的信息。点击变量还能查看更多信息。
终端

如果需要运行一些高级脚本、安装或其他任务,你可以使用左侧栏中的按钮(红箭头所指),直接在 Deepnote 中使用集成终端。

终端也是协作的,因此所有协作者都可以查看命令,除非你右键单击终端名称来关闭它。

历史

项目历史记录了一个项目中发生的所有事情。Deepnote 可以向你展示所有协作者的编辑记录。当然,要查看历史记录,你至少需要在项目中拥有编辑权限。目前,该功能还处于完善阶段。
代码智能工具

很长的 notebook 通常难以阅读。函数和变量的定义无处不在,因此我们有时候很难记住某个变量表示的含义。为此,Deepnote 提供了代码智能工具来帮助你管理复杂的代码。Deepnote 会向你展示函数文档、参数名,并帮助你跳转到函数定义,这样你就能聚焦于问题而不是代码。

自动补全

Deepnote 会在你敲代码的过程中展示出你可能想要使用的函数和变量名。如果提示框消失了,你还可以利用 Tab 键将它触发。
函数文档和参数名

将鼠标悬停在一个函数上时,Deepnote 会向你展示这个函数的文档。在填写函数参数时,Deepnote 会显示与参数名称和位置有关的提示,这样你就能知道当前正在填写的什么参数。
直达定义

想知道某个函数或变量是从哪儿来的吗?你只需要通过 Cmd + 单击函数 / 变量名就能直达定义。同时,如果你在按着 Cmd 的过程中将鼠标悬停在一个符号上,Deepnote 也会向你预览它的定义。

参考链接:https://docs.deepnote.com/features/real-time-collaboration