alchemy-utils 0.1a0: A SQLAlchemy-Backed Multi-Database Toolkit
Score
73发布了一个新的多数据库工具库,填补了 sqlite-utils 生态的空白,信息增量较高。
内容来自作者博客,技术细节清晰,但 alpha 版本说明其尚不完善。
提供可用的 CLI 和 Python 库,对于需要跨数据库操作的开发者有直接价值。
刚发布的 alpha 版本,时效性强,正好赶上 AI 编码代理热点。
来自知名开发者 Simon Willison 的官方博客,信源可靠。
Base 81 × T2 Source weight ×0.9 = 73
Curation line 70Selected
Why selected
Score reflects the tool's practical utility, its demonstration of AI-assisted development efficiency, and the inherent uncertainty of an alpha release.
AI commentary
「The most interesting aspect of this project is that it brings the usability of sqlite-utils to Postgres and DuckDB—something many developers have likely wanted. And since the entire development process was largely AI-driven, it hints at a shift in how open-source tools might be built. If you're a Python data developer, it's worth trying out; but as an alpha release, be cautious—SQLite and PostgreSQL behavior differ significantly.」
Quick overview
Simon Willison has released alchemy-utils 0.1a0, a database-agnostic Python library and CLI utility built on SQLAlchemy. Its core API mirrors sqlite-utils, including insert, upsert, create, and table introspection methods, but works across multiple database engines. The prototype was created with AI coding agents Codex and GPT-5.6 Sol Ultra in a remarkably short time—Willison described it as a 'shower project' that took very few follow-up prompts to reach an alpha release. It currently supports PostgreSQL, SQLite, and DuckDB, and includes a uvx-based CLI for tasks like listing rows from a Postgres table or importing CSV data into DuckDB. The project also demonstrates how AI agents can accelerate tool development, with performance optimizations cutting a DuckDB import from nearly an hour down to about 35 seconds.
- Released alchemy-utils 0.1a0, a SQLAlchemy-backed library that provides a database-agnostic version of sqlite-utils.
- Core API mirrors sqlite-utils: insert, upsert, insert_all, upsert_all, create, update, and table introspection.
- Works with PostgreSQL, SQLite, and DuckDB; includes a uvx CLI for quick operations.
- Built with AI coding agents Codex and GPT-5.6 Sol Ultra; achieved alpha quality with very few prompts.
Full text
Showing the source text; the full translation is being generated.
Release: alchemy-utils 0.1a0
I've long pondered what a database agnostic version of my sqlite-utils Python library and CLI utility might look like. This morning (literally a shower project) I tasked Codex and GPT-5.6 Sol Ultra with building a prototype:
Do a research spike to see what it would take to build a library with the same core API as SQLite-utils - in particular the insert and upsert and insert_all and upsert_all and create and update methods, and the table introspection stuff - but backed by SQLalchemy so it works for multiple database engines
Test against PostgreSQL and SQLite and duckdb
Use ~/dev/sqlite-utils for reference
Create a git repo for this and commit and early and often - use uv init to start the project - use red/green TDD and pytest, see ~/dev/django-sql-dashboard for one idea as to how the PostgreSQL tests could work
It took very few follow-up prompts to produce this project in a state good enough to release as an alpha.
Here's a one-liner I can use to list the rows in a table in my local PostgreSQL copy of my blog's database:
uvx --with 'alchemy-utils[postgresql]' alchemy-utils rows 'postgresql+psycopg://simon@localhost:5432/simonwillisonblog' redirects_redirect
The output from that starts like this:
[
{
"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"
}
Or if you'd like a DuckDB database with every tree in San Francisco, schema created automatically to match the file:
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
(That one took nearly an hour the first time I ran it, so I had Codex optimize it and got it down to around 35 seconds.)
Tags: databases, postgresql, projects, python, sql, sqlalchemy, sqlite, sqlite-utils, duckdb, coding-agents, codex
Related items
92
FeaturedOpenRouter Launches Prompt Caching with Sticky Routing to Drastically Reduce Multi-Turn Costs
OpenRouter 推出提示缓存与粘性路由,大幅降低多轮对话成本
For developers making frequent AI API calls, this feature is a direct money-saver. Sticky routing guarantees cache hit rates, and session_id requires zero configuration—every OpenRouter user should try it immediately.
91
FeaturedChatGPT Work: An AI Agent That Takes Action Across Apps and Files
ChatGPT Work:可在跨应用和文件中执行操作的AI Agent
I think this is a key step for AI assistants moving from Q&A to execution. Especially noteworthy for professionals who need to automate complex workflows. ChatGPT Work could become a new paradigm for productivity tools.
90
FeaturedAnatomy of a Frontier Lab Agent Intrusion: A Technical Timeline of the July 2026 Incident
前沿实验室代理入侵事件技术时间线:2026年7月事件剖析
This technical timeline is a must-read for all AI security researchers and agent developers—it doesn't just describe one attack but sounds an alarm on the weak defense systems of agent architectures. For teams deploying autonomous agents, this is an essential disaster prevention manual.
90
FeaturedBetter Tools Made Copilot Code Review Worse? Here's How GitHub Improved It
更好的工具反而让Copilot代码审查更糟?GitHub这样改进
This blog post deserves close reading by all AI product engineers and ML practitioners—it breaks the intuition that 'more powerful tools = better AI' and instead emphasizes an engineering philosophy aligned with agent reasoning patterns. Especially important for teams optimizing code review or similar agent-based products.
88
FeaturedOpenRouter Launches Unified Multimodal API: Single Endpoint for Image, Video, Audio, Embeddings, and Transcription
OpenRouter 推出统一多模态 API:单端点支持图像、视频、音频、嵌入与转录
This news is worth attention from all developers building multimodal AI applications: OpenRouter's unified API solves the pain of model switching, especially for startups or rapid prototyping. If you're struggling with multiple API keys and SDKs, this interface could be the unified layer you need.
87
FeaturedAnthropic Launches Claude for Teachers: AI Tools Designed for Educators
Anthropic 推出 Claude for Teachers:面向教师的教育 AI 工具
This announcement is valuable for educators and AI industry watchers alike. Instead of a generic chatbot, Anthropic designed a safety-first tool specifically for teachers, demonstrating the right approach for AI vertical deployment: solving real pain points rather than showing off technology. The built-in guardrails also set a reference for other AI companies, especially when serving scenarios involving children or teenagers.
86
FeaturedOpenRouter Introduces New Auto Router: Model Routing Powered by Market Wisdom
OpenRouter发布全新Auto Router:用市场智慧优化模型路由
This update is worth attention for anyone using APIs to build AI apps. Instead of guessing or testing model selection, market data now does the heavy lifting. Though sparse on details, the direction is right, especially for teams relying on aggregated model services.
86
FeaturedClaude Code v2.1.211 Release: Multiple Fixes and Improvements
Claude Code v2.1.211 发布:多项修复与改进
As a developer who frequently uses Claude Code for automated coding, I'm particularly interested in the security fixes, especially the permission preview character bypass and auto mode overriding hook decisions—these directly affect the security boundaries during team collaboration. The improvement in background agent reporting also makes long-running tasks more reliable. I recommend all users upgrade as soon as possible.