Excited to share something very cool with the DuckDB + Arrow Flight community.
For everyone building on the Airport extension for DuckDB https://airport.query.farm/ - there is now support for Go from Vladimir Gribanov. airport-go — a Go...
For everyone building on the Airport extension for DuckDB https://airport.query.farm/ - there is now support for Go from Vladimir Gribanov.
airport-go — a Go package for building Apache Arrow Flight servers that work seamlessly with the DuckDB Airport Extension.
🔗 https://github.com/hugr-lab/airport-go
What I like about this project is how much it lowers the barrier for building custom data backends. Just a few highlights:
✨ High-level, ergonomic API ⚙️ Build a Flight server in under ~30 lines of Go 📚 Fluent Catalog Builder for schemas / tables / functions 🔧 Dynamic catalogs (CREATE / DROP / ALTER) 🔐 Bearer token authentication ⚡ Zero-copy Arrow streaming with preserved batch boundaries 🧠 Context + cancellation aware 🛠 Native gRPC integration (your own server, TLS, lifecycle)
The repo includes great examples:
• basic and authenticated servers • dynamic catalogs • DDL + DML (CREATE/ALTER/DROP/INSERT/UPDATE/DELETE)
And upcoming work on:
• Filter/predicate pushdown helpers for easier pushed filter parsing and execution
If you’re building Flight backends, experimenting with DuckDB Airport systems, or working in the Arrow / DuckDB ecosystem check this out.!
Originally posted on LinkedIn.