Simon Willison's Weblog
datasette-fixtures 0.1a0 发布
7.2Score
TL;DR · AI 摘要
datasette-fixtures 0.1a0 提供测试数据库填充功能,简化插件开发流程。
核心要点
- 该插件基于 Datasette 1.0a30 的新 API 构建,支持 fixture 数据库表创建。
- 可通过 uvx 命令直接运行示例接口,无需安装 Datasette。
- 输出格式为 JSON,包含 ok、rows 和 truncated 字段,便于集成测试验证。
结构提纲
按章节快速跳转。
datasette-fixtures 是一个利用 Datasette 新 API 创建测试数据库的插件。
该插件使用了 Datasette 1.0a30 中新增的 populate_fixture_database 接口。
用户可以通过 uvx 工具在不安装 Datasette 的前提下运行此插件。
调用 /fixtures/roadside_attractions.json 返回预定义景点数据的 JSON 结构。
思维导图
用一张图看清主题之间的关系。
查看大纲文本(无障碍 / 无 JS 友好)
- datasette-fixtures 0.1a0
- Core Features
- populate_fixture_database API
- Usage
- Run with uvx
- JSON Output Format
金句 / Highlights
值得收藏与分享的关键句。
新增文档化的 datasette.fixtures.populate_fixture_database(conn) 辅助函数,用于创建 Datasette 自身测试所使用的 fixture 数据库表。
你可以使用 `uvx` 而不必安装 Datasette 就能尝试这个插件:
其输出结果为:{"ok": true, "next": null, "rows": [...], "truncated": false}
#Datasette#Python#测试#插件开发
打开原文标题:发布:datasette-fixtures 0.1a0
来源网址:https://simonwillison.net/2026/May/24/datasette-fixtures/
发布时间:2026年5月25日 03:02:26 GMT
Markdown 内容: Datasette 1.0a30 中的一个较小功能是这样的:
新增文档化的 datasette.fixtures.populate_fixture_database(conn) 辅助函数,用于创建 Datasette 自身测试所用的 fixture 数据库表,专为插件测试套件设计。
这个新插件利用了该 API。你可以使用 uvx 来试用它,甚至无需安装 Datasette,如下所示:
bash
uvx --prerelease=allow \
--with datasette-fixtures datasette \
--get /fixtures/roadside_attractions.json输出结果为:
json
{
"ok": true,
"next": null,
"rows": [
{"pk": 1, "name": "The Mystery Spot", "address": "465 Mystery Spot Road, Santa Cruz, CA 95065", "url": "https://www.mysteryspot.com/", "latitude": 37.0167, "longitude": -122.0024},
{"pk": 2, "name": "Winchester Mystery House", "address": "525 South Winchester Boulevard, San Jose, CA 95128", "url": "https://winchestermysteryhouse.com/", "latitude": 37.3184, "longitude": -121.9511},
{"pk": 3, "name": "Burlingame Museum of PEZ Memorabilia", "address": "214 California Drive, Burlingame, CA 94010", "url": null, "latitude": 37.5793, "longitude": -122.3442},
{"pk": 4, "name": "Bigfoot Discovery Museum", "address": "5497 Highway 9, Felton, CA 95018", "url": "https://www.bigfootdiscoveryproject.com/", "latitude": 37.0414, "longitude": -122.0725}
],
"truncated": false
}