alchemy-utils 0.1a0
摘要
Simon Willison 宣布 alchemy-utils 的 alpha 版本发布,这是一个受 sqlite-utils 启发、与数据库无关的 Python 库和命令行工具,在 AI 辅助下构建,支持 PostgreSQL、SQLite 和 DuckDB。
暂无内容
查看缓存全文
缓存时间: 2026/08/13 15:37
# 发布:alchemy-utils 0.1a0
来源:https://simonwillison.net/2026/Aug/12/alchemy-utils/
我一直在思考,一个数据库无关的“我的 sqlite-utils”([https://sqlite-utils.datasette.io/](https://sqlite-utils.datasette.io/))Python 库和 CLI 工具会长什么样。今天早上(真的是淋浴时想到的项目),我让 Codex 和 GPT-5.6 Sol Ultra 快速搭建了一个原型:
> `做一个研究性 spike,看看构建一个与 SQLite-utils 核心 API 相同的库需要什么——特别是 insert、upsert、insert_all、upsert_all、create 和 update 方法,以及表内省(table introspection)相关功能——但底层使用 SQLAlchemy,从而支持多种数据库引擎。` `针对 PostgreSQL、SQLite 和 DuckDB 进行测试。` `使用 ~/dev/sqlite-utils 作为参考。` `为此创建一个 git 仓库,并且尽可能早地频繁提交——使用 uv init 启动项目——使用红/绿 TDD 和 pytest,参考 ~/dev/django-sql-dashboard 了解 PostgreSQL 测试的一种可行思路。`
只需要极少的后续提示(https://gist.github.com/simonw/bd10e4886688e0fd1b833e4afaabf19e),这个项目就达到了足以发布 alpha 版本的状态。
下面这个单行命令可以让我列出本地 PostgreSQL 中我博客数据库副本的表中的行:
`uvx --with 'alchemy-utils[postgresql]' alchemy-utils rows 'postgresql+psycopg://simon@localhost:5432/simonwillisonblog' redirects_redirect`
输出的开头如下:
```
{
"id": 2328,
"domain": "simonwillison.net",
"path": "2020/May/21/apple-photos-sqlite/",
"target": "/2020/May/21/dogsheep-photos/",
"created": "2020-05-21T13:03:46.591692-07:00"
},
{
"id": 3,
"domain": "feeds.simonwillison.net",
"path": "swn-links",
"target": "https://simonwillison.net/atom/links/",
"created": "2017-10-01T14:12:54.820729-07:00"
}
```
或者,如果你想要一个包含[旧金山每棵树](https://github.com/simonw/sf-tree-history/blob/main/Street_Tree_List.csv)的 DuckDB 数据库,schema 会根据文件自动创建:
`curl 'https://raw.githubusercontent.com/simonw/sf-tree-history/refs/heads/main/Street_Tree_List.csv' | uvx --with 'alchemy-utils[duckdb]' alchemy-utils insert 'duckdb:////tmp/trees.db' trees - --csv`
(第一次运行时花了将近一个小时,所以我让 Codex 优化了它(https://github.com/simonw/alchemy-utils/commit/e3b8d03e040867b256aeff7db322a0b0eb1f8b06),把时间降到了大约 35 秒。)
相似文章
alchemy-utils 0.1a1
alchemy-utils 0.1a1 版本发布,一个实用工具包,由 Simon Willison 提及。
sqlite-utils 4.0rc1
sqlite-utils 4.0rc1 是 Python CLI 工具的一个发布候选版本,该工具简化了 SQLite 数据库操作。
sqlite-utils 4.0
sqlite-utils 4.0 已发布,这是一个用于操作 SQLite 数据库的 Python 库。
sqlite-utils 3.39.1
发布 sqlite-utils 3.39.1,一个用于操作 SQLite 数据库的 Python 工具。
sqlite-utils 4.0rc2,主要由Claude Fable编写(花费约149.25美元)
sqlite-utils 4.0rc2 发布,很大程度上借助Claude Fable AI编写。该版本修复了事务处理中的关键错误,并包含了全面的文档。