Back to browse
GitHub Repository
4 starsGo

Sqlflow, a SQLite back end layer for Go

by iccananea·May 6, 2026·3 points·0 comments

AI Analysis

●●SolidNiche GemShip It

Automatic transaction lifecycle management beats manual SQLITE_BUSY handling.

Strengths
  • Driver-agnostic design works with mattn, modernc, and ncruces SQLite drivers.
  • Exponential-backoff retries with serialized writes prevent concurrency errors.
  • Native sqlc.dev compatibility means generated query types work out of the box.
Weaknesses
  • SQLite concurrency wrappers already exist in ORMs like sqlx and gorm.
  • Zero stars and forks suggests limited community validation so far.
Target Audience

Go developers using SQLite for concurrent applications

Similar To

sqlx · gorm · upper.io/db

Post Description

I've written about a storage layer for sqlite before in my http://workdad.dev blog and had been using and improving it over time.

The result has been sqlflow, which at its core wraps sqlite transctions into Read() and Write() methods that takes care of the transaction life-cycle and avoids the most common issues with using sqlite concurrently (no SQLITE_BUSY errors for you anymore).

It pairs really nicely with sqlc.dev so if you use it, the query type it generates is compatible.

It also supports encryption and the multi-tenant pattern, where each user can get their own sqlite database file, both of which I use in http://trackm.net

For encryption I you can use the github.com/jgiannuzzi/go-sqlite3 fork to enable SQLCipher encrypted files.

Similar Projects

Developer Tools●●Solid

VibeDB – store anything with zero config

Zero-config single-file persistence plus two query styles (Mongo-like dicts or a Pythonic Q builder) makes everyday prototyping painless. The built-in Studio UI and auto-index hints are thoughtful extras for inspecting data and nudging performance, though this competes with established tiny DBs and SQLite/JSON patterns — great for side projects, but check concurrency and durability needs first.

Niche GemShip It
StevenSLXie
204mo ago
Developer Tools●●Solid

Dracula-AI – A lightweight, async SQLite-backed Gemini wrapper

SQLite memory beats JSON bloat; async streaming works—but it's still a Gemini wrapper.

Ship ItSolve My Problem
suleymanibis
203mo ago