我最初的Datasette Cloud预览版(我的Datasette开源项目的 SaaS 版本)专注于私有数据协作。
用户可以为他们的数据创建私人空间,然后邀请团队成员在该空间中进行协作。
每个空间都在自己的Firecracker容器中运行(托管在Fly上),与其他实例完全隔离。
我花在预览上的时间越多,我就越觉得缺少一些重要的东西。
Datasette 可以做很多事情,但在我看来,它最擅长的事情是发布数据。
我喜欢在办公时间向人们提出的一个问题是“您聘请 Datasette 来解决什么工作?”。最常见的答案之一是“在线发布数据”。
因此,Datasette Cloud 确实需要能够帮助人们将他们的数据发布给更广泛的受众!放弃该功能意味着将开源产品的许多价值排除在外。
为此,我一直在考虑一些更精细的策略:例如,我期待能够使用LiteFS来托管全球分布的只读副本。
但最简单的可能工作就是允许人们将单个表从私有切换到公共。
我决定先建造它。
我尝试尽可能多地构建 Datasette Cloud 的功能作为开源插件。所以我构建了一个新插件: datasette-public 。
该插件与 Datasette 的身份验证和权限系统挂钩,该系统已用于现有的私人空间功能。
它添加了一个名为_public_tables
的新 SQLite 表 – 以及一个新的权限规则,如果他们试图访问的表在那里列出,则该规则授予任何用户访问权限。
然后它添加了一些 UI,用户可以使用这些 UI 从公共表列表中添加或删除表。
差不多就是这样!这是一个简单的实现,但它作为新功能的初稿工作得非常好。
这是我使用该功能发布的表的示例:
https://simon.datasette.cloud/data/global-power-plants
在 Datasette Cloud 上工作非常适合解决 Datasette 本身的细节问题。以下是这项工作中出现的几个新数据集问题:
我的下一个重点领域将围绕 Datasette 和 Datasette Cloud API。
一旦可以使用经过身份验证的 API 调用向其写入数据,而不仅仅是支持上传的 CSV,Datasette Cloud 就会变得更加有趣。
解决这个问题将推动一些长期需要的围绕 Datasette 本身的可写 API 的工作——直到现在,这完全是诸如datasette-insert之类的插件领域。
本周发布
- datasette-public : 0.2 -(共 2 个版本)- 2022-10-07
使特定的数据集表对公众可见 - 数据集哨兵: 0.3 – (共 6 个版本) – 2022-10-06
用于配置哨兵的数据集插件 - datasette-search-all : 1.1 – (共 8 个版本) – 2022-10-05
一次搜索所有可搜索表的数据集插件
直到本周
原文: http://simonwillison.net/2022/Oct/12/publishing-data/#atom-everything