Query.Farm Newsletter 2025-12-01
airport-go: Build Airport-compatible Arrow Flight Servers in Go
Hey everyone,
We’re excited to share a new open-source project from the community: airport-go — a Go package for building Apache Arrow Flight servers compatible with the DuckDB Airport Extension.
If you’re building systems on top of Arrow Flight or developing Airport-compatible backends, this is a really useful addition to the ecosystem.
🧰 What is airport-go?
airport-go is a high-level, ergonomic API that lets you implement Airport-compatible backends without embedding DuckDB. It includes:
- Simple API — build a Flight server in under 30 lines of Go
- Fluent catalog builder for schemas, tables, and functions
- Dynamic catalogs with CREATE/DROP/ALTER support
- Bearer token authentication
- Efficient streaming (no rebatching, preserves Arrow batch sizes)
- Context-aware cancellation
- Native gRPC integration (register servers, manage TLS, lifecycle)
The repository includes complete examples for:
- basic servers
- authenticated servers
- dynamic catalogs
- DDL operations (CREATE/DROP/ALTER)
- DML operations (INSERT/UPDATE/DELETE)
🚧 What’s coming next?
Future plans include structured helpers for predicate pushdown to make it easier to parse and apply filters pushed down from DuckDB.
🔗 Get airport-go
👉 GitHub: https://github.com/hugr-lab/airport-go
If you’re working with Arrow Flight or the DuckDB Airport Extension, definitely give it a look. We expect it to unlock some compelling use cases in the broader Query.Farm ecosystem.
💬 Feedback welcome
We always love seeing new tools, extensions, and backend implementations emerge. If you’re building something Airport-compatible, reach out or share what you’re working on—join the discussion at Query.Farm.
Thanks and happy holidays! — The Query.Farm Team