Back to browse
GitHub Repository

DuckDB virtual file system based on io/fs

55 starsGo

Go-duckfs – making DuckDB quack like a Gopher

by achille-roussel·Mar 4, 2026·4 points·2 comments

AI Analysis

●●●BangerNiche GemWizardry

DuckDB I/O sandboxing via Go fs interface solves real auth/instrumentation problems.

Strengths
  • Solves genuine pain: DuckDB extensions (httpfs, aws) bypass Go auth/telemetry stacks
  • Enables cloud SDK native integrations (Cosmos, S3) through pure Go packages instead of C++
  • Elegant abstraction: protocol-aware filesystems let queries use Go-land access control
Weaknesses
  • Requires dynamic C++ linking and pixi; complex build story limits adoption
  • Niche audience: only matters for Go shops already using DuckDB + cloud SDKs
Target Audience

Go developers embedding DuckDB in applications requiring auth or instrumentation

Post Description

I made this because I kept running into issues and limitations when trying to embed DuckDB in Go applications: because DuckDB and its extensions do their own I/O in C++ land, integrating with the rest of my applications to get authentication or instrumentation working was really challenging. With go-duckfs, all this happens on the Go side, it's like a sandbox for all I/O that happen during queries.

It's kind of like https://duckdb.org/docs/stable/guides/python/filesystems but for Go. I think it'll be useful to anyone who is using DuckDB in a Go application, let me know!

Similar Projects