[1]wazero:https://wazero.io/ [2]:https://pkg.go.dev/modernc.org/sqlite
Not 100% drop-in though. I’ve hit some snags around VFS support.
For the wazero based driver, it's this package (I'm the author): https://github.com/ncruces/go-sqlite3
Also didn't expect that I would be talking to the author of wazero myself haha. I really admire your project.
I’ve heard this complaint but have yet to have an issue deploying to Linux/MacOS/Windows on arm or x86 using CGO backed libraries.
Maybe if you truly are targeting some niche platform but then you likely have some other issues to contend with and where are you deploying to?
modernc takes the SQLite amalgamation, runs it through the C preprocessor, then converts the result to Go file using the ccgo compiler. Not many further details on how that works: https://www.reddit.com/r/golang/comments/1apreer/comment/kqa...
The Wasm version takes the same SQLite amalgamation and compiles it to portable Wasm using clang/wasi-sdk; the platform specific bits are implemented in Go.
I'm not sure I can say which one is more minimalist with a straight face. One consists of mechanically generated, platform specific, 8MB Go files. The other embeds 1.5MB Wasm BLOB and needs wazero (a big dependency on its own).