一种面向SQLite的Jupyter内核

2020-06-17 00:14:45

虽然Jupyter在Python科学计算社区中广为人知,但实际上它是一个语言不可知的开发环境。数据科学的主要语言,如Python、C++、R或Julia,都有高质量的语言内核。但是,数据科学的另一个重要工具是SQL编程语言系列。今天,我们宣布发布SQLite的Jupyter内核。

这个新内核允许用户使用完整的SQLite语法以及一些额外的操作,比如打开或关闭数据库文件,或者使用Jupyter Magics以不同的方式可视化数据。

为了使为Jupyter实现新内核的任务变得更容易,我们利用了Xeus,这是一个提供Jupyter内核协议的可靠实现的库,这样我们就可以专注于实现内核中特定于语言的部分。

作为SQLite的原生C实现和C++之间的连接,我们使用SRombauts的库SQLiteCpp。

XEUS-SQLite仍在积极开发中,但它提供了一个功能齐全的SQLite接口和Magics来执行SQL语法范围之外的高级操作,比如创建、打开或关闭SQLite数据库。可以使用Xeus-SQLite执行的一些操作包括创建、加载、备份或删除新数据库。您还可以检查表是否存在,设置和重置数据库的键,并获取有关该表的信息。您可以在SQLite的文档中找到有关使用这些方法的更多信息。

Xeus-SQLite为Jupyter Notebook和Jupyter Lab中的表格提供了丰富的HTML显示。对于Jupyter控制台,我们使用表格库进行文本显示。

对于Xeus-SQLite的未来,我们希望创建一种直观的可视化数据形式:从SQLite查询结果创建曲线图、图形、图表、地图和更多内容,所有这些都在同一个笔记本中。目前,我们正在探索在Xeus-SQLite中使用Vega,Xeus-SQLite是一种用于创建交互式可视化设计的声明性语言,可以使用jupyter Magics绘制条形图:

我们还计划生成一个静态版本的Xeus-SQLite,将Xeus和SQLite库捆绑到一个易于分发的单一可执行文件中。

您只需单击下图即可试用稳定版,而无需在您的计算机上安装任何东西:

这不会授予您访问我们正在测试的实验分支的权限,如果您有兴趣尝试,请查看安装指南,并确保您选择了正确的分支。

请注意,您首先需要在计算机上安装Jupyter。您可以使用manba安装xeus-sqlite:

我的名字是Mariana Meireles,我是QuantStack的一名软件开发人员。我非常关心技术对世界的影响,并尽最大努力成为我希望看到的变化,为基于自由和多样化标准的开放源码项目做出贡献。

在加入QuantStack之前,我在Qt公司的PySide团队担任开发人员,在Mozilla担任Web性能开发人员。