sqlite-utils 4.0rc2: Escrito por Claude Fable, $149.25, corrige un error de pérdida de datos

✍️ OpenClawRadar📅 Publicado: 5 de julio de 2026🔗 Source
sqlite-utils 4.0rc2: Escrito por Claude Fable, $149.25, corrige un error de pérdida de datos
Ad

Simon Willison lanzó sqlite-utils 4.0rc2, una biblioteca de Python para SQLite, escrita mayoritariamente por Claude Fable. El costo total: alrededor de $149.25 en tarifas de API durante 37 prompts y 34 commits, cambiando +1,321 -190 líneas en 30 archivos.

Qué cambió

La versión candidata corrige un bug crítico de pérdida de datos en Table.delete_where() — antes, nunca hacía commit, dejando la conexión en transacción y envenenando todas las escrituras posteriores. Aquí la reproducción del análisis de Fable:

db = sqlite_utils.Database("dw.db")
db["t"].insert_all([{"id": i} for i in range(3)], pk="id")
db["t"].delete_where("id = ?", [0])
# conn.in_transaction ahora es True
db["t"].insert({"id": 50})
db["u"].insert({"a": 1})
db.close()
# Reabrir: las filas son [0, 1, 2] — el borrado, la fila 50 Y la tabla u han desaparecido.

Willison califica esto como un “bug realmente malo” y se alegra de que Fable lo haya detectado antes del lanzamiento estable de la versión 4.0.

Nuevo modelo de transacciones

Cada método de escritura (insert(), upsert(), update(), delete(), delete_where(), transform(), create_table(), enable_fts(), etc.) ahora se ejecuta dentro de su propia transacción y hace commit antes de devolver el control. No se necesita commit() manual.

Dos excepciones:

  • Usa db.atomic() para agrupar múltiples operaciones de forma atómica
  • Si abres una transacción con db.begin(), la biblioteca nunca hará commit — tú controlas el commit
Ad

Soporte de autocompat para Python 3.12+

Fable también aseguró la compatibilidad con el nuevo modo sqlite3.connect(..., autocommit=True|False) de Python 3.12. Las transacciones automáticas por método de la biblioteca están diseñadas para el modo de conexión predeterminado, y Fable parcheó el conjunto de pruebas para que pasen con la nueva configuración de autocommit.

Proceso de revisión

Willison comenzó el trabajo en su iPhone a través de Claude Code para web, luego cambió a una laptop para la revisión final mediante PRs de GitHub. Dice que revisar primero las ediciones de documentación es una excelente manera de entender qué cambió. Una revisión final con GPT-5.5 detectó casos extremos adicionales — la transcripción completa del PR está compartida.

Para quién es

Desarrolladores de Python que usan sqlite-utils para operaciones ligeras de base de datos y quieren una versión 4.0 lista para producción con seguridad de transacciones adecuada.

📖 Lee la fuente completa: HN AI Agents

Ad

👀 Ver también

TEMM1E v3.0.0 Introduce Inteligencia de Enjambre para la Coordinación de Agentes de IA
Herramientas

TEMM1E v3.0.0 Introduce Inteligencia de Enjambre para la Coordinación de Agentes de IA

TEMM1E v3.0.0 añade 'Many Tems', una inteligencia de enjambre que coordina a trabajadores de agentes de IA mediante señales de estigmergia en lugar de llamadas a LLM, logrando un rendimiento 5.86 veces más rápido y un costo 3.4 veces menor en tareas complejas, sin usar tokens de coordinación.

OpenClawRadar
ClawedBack: Puerto OpenClaw Ejecutándose Dentro del Código de Claude
Herramientas

ClawedBack: Puerto OpenClaw Ejecutándose Dentro del Código de Claude

ClawedBack es una implementación limpia de OpenClaw que se ejecuta dentro de Claude Code, ofreciendo almacenamiento en caché de prompts de primera parte y límites de tasa. Coincide con 19 de las 23 herramientas integradas de OpenClaw y es completamente compatible con ClawHub, incluyendo escaneos de seguridad obligatorios para las importaciones.

OpenClawRadar
Pneuma: Un Entorno de Escritorio Generado por IA Donde el Software se Materializa a Partir de Descripciones
Herramientas

Pneuma: Un Entorno de Escritorio Generado por IA Donde el Software se Materializa a Partir de Descripciones

Pneuma es un entorno de computación de escritorio donde describes lo que quieres—un monitor de CPU, un juego, una aplicación de notas o un visualizador de datos—y un programa funcional se materializa en segundos. El sistema genera módulos autónomos en Rust, los compila a WebAssembly y los ejecuta en instancias sandboxed de Wasmtime con renderizado GPU mediante wgpu.

OpenClawRadar
Desarrollador crea servidor MCP de Power Automate con 108 herramientas y soporte multiplataforma
Herramientas

Desarrollador crea servidor MCP de Power Automate con 108 herramientas y soporte multiplataforma

Un desarrollador construyó un servidor MCP de Power Automate que se expandió de 12 a 108 herramientas, cubriendo operaciones CRUD de Dataverse mediante OData, gestión de SharePoint mediante Graph, control de versiones de Power Apps, administración de entornos y soporte multiplataforma para Windows, macOS y Linux.

OpenClawRadar