alchemy-utils 0.1a0

Simon Willison's Blog 工具

摘要

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

Simon Willison's Blog

alchemy-utils 0.1a1 版本发布,一个实用工具包,由 Simon Willison 提及。

sqlite-utils 4.0rc1

Simon Willison's Blog

sqlite-utils 4.0rc1 是 Python CLI 工具的一个发布候选版本,该工具简化了 SQLite 数据库操作。

sqlite-utils 4.0

Simon Willison's Blog

sqlite-utils 4.0 已发布,这是一个用于操作 SQLite 数据库的 Python 库。

sqlite-utils 3.39.1

Simon Willison's Blog

发布 sqlite-utils 3.39.1,一个用于操作 SQLite 数据库的 Python 工具。