graphar-flight — crate card
Reverse-engineered (from source — verify, don't trust the name)
- One-line pitch: An Apache Arrow Flight SQL service in front of FalkorDB — send Cypher, get Arrow record batches back — plus an optional graph→Iceberg export.
- Does: Runs a Flight SQL server (
run_server/run_server_with,ServerOptions,TlsOptions) exposingCypherFlightService, which executes Cypher viaFalkorExecutorand returns Arrow. Has aSchemaRegistry, anauthlayer (AuthConfig,Authorizer,BasicCredential,Identity), and Cypher→Arrowconvert. Featureskadeaddsexport_cypher_to_iceberg/append_arrow_to_iceberg(graph→Iceberg via the skade Iceberg stack, arrow 59, no FFI). - Key deps:
arrow-flight+tonic+prost+futures(Flight SQL transport),graphar+graphar-falkordb(Cypher execution/format),redis,base64,serde_json; optionalskade+tempfile(Iceberg export). - Shape: lib + examples (
export-iceberg,export); medium. Modules:server,service,falkor,registry,auth,convert,export,error. - Observed role in the workspace: The query/serving front door over FalkorDB and the graph→Iceberg bridge. Its
skadeexport is pulled in (feature-gated) byxtaskbenches andknut-popviz'sicebergtarget.
Fill in (one line each — only the human knows these)
- Primary consumer(s):
- Why it exists (vs the obvious alternative):
- Hard constraint (airgap / no-C-deps / no-FFI / pure-Rust / etc.):
- Release cadence & independence (rides a parent? own repo someday?):
- Status (production / prototype / experimental / stubbed):
- Must-NOT-change invariant:
- Biggest known gap or TODO:
- Anything a newcomer would get wrong about it: