Percival声明式数据查询和可视化语言

联合创作 · 2023-09-18 20:57

Percival 是一种声明式数据查询和可视化语言。它提供了一个基于 Web 的反应式 notebook 环境,用于探索复杂的数据集、生成交互式图形和共享结果。该项目目前处于早期阶段。

Percival 结合了 Datalog 作为关系数据查询语言的灵活性和探索性可视化语法的优点。这些声明性组件通过一个反应式数据流系统进行交互。由于 Percival 使用了网络技术(包括用于多线程、沙盒执行的 Web Workers),完全交互式的 notebook 可以与互联网上的任何人分享,使数据分析对其他人更有意义。

Percival 的核心是一个自定义的 Datalog 编译器,它使用 Rust 和 WebAssembly 构建,并与其 notebook 运行时集成。这通过分阶段的评估过程将查询语言编译为 JavaScript,该过程还允许用户嵌入他们自己的 JavaScript 代码。该界面旨在轻量级、友好和可访问,并且没有隐藏的工作区状态。

Percival 是一个完全在用户浏览器中运行的客户端 Web 应用程序。notebook 界面使用Svelte构建,并使用 Tailwind CSS 设计样式。它依赖于许多其他开源库,包括用于实时代码编辑和语法突出显示的 CodeMirror 6、 用于 Markdown 渲染的Remark 和 KaTeX,以及用于前端捆绑的 Vite。

Web 前端的代码位于 中src/,其中包含 Svelte (in src/components/) 和 TypeScript (in src/lib/) 的组合。这些模块在构建时捆绑到一个静态网站中,并且没有动态的服务器端渲染。

浏览 9
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报