graphar-flight 0.1.2

Apache Arrow Flight SQL service over FalkorDB — Cypher in, Arrow out
Documentation
[package]
name = "graphar-flight"
description = "Apache Arrow Flight SQL service over FalkorDB — Cypher in, Arrow out"
version.workspace = true
edition.workspace = true
authors.workspace = true
license.workspace = true
repository.workspace = true

[features]
default = []
# Graph → Iceberg export via `skade` (the Apache Iceberg read/write stack, on
# arrow 58 / iceberg 0.9.1, from crates.io). OFF BY DEFAULT — pulls a heavy
# arrow-58/iceberg tree. knut and skade now share arrow 58 (one major), so the
# old C-Data-Interface FFI bridge is gone: the export path clones the batch
# directly (`skade::arrow_array::RecordBatch == arrow_array::RecordBatch`).
skade = [
    "dep:skade",
    "dep:tempfile",
]
# `testmatrix` — emit each functional surface's health (Flight SQL do_get /
# get_flight_info) into the nornir test-matrix via `functional_status`. OFF BY
# DEFAULT: a compiled-out `#[inline]` no-op with no nornir dep. Turn on with
# `--features testmatrix` (pulls nornir-testmatrix's own `testmatrix` mode).
testmatrix = ["dep:nornir-testmatrix", "nornir-testmatrix/testmatrix"]

[dependencies]
graphar = { path = "../graphar" , version = "0.1.0" }
graphar-falkordb = { path = "../graphar-falkordb" , version = "0.1.0" }

# Introspection-marker emitter — only compiled with `testmatrix`. Path dep (the
# workspace `[patch.crates-io]` also resolves it) to the local nornir-testmatrix
# ≥0.2 which carries `functional_status`.
nornir-testmatrix = { version = "0.2", default-features = false, optional = true }

# skade: Apache Iceberg writer/reader (arrow 58). Only compiled with the
# `skade` feature; `default-features = false` drops the SQL/datafusion surface
# (we just read/write). Pinned to 0.5 to match the sibling skade checkout the
# workspace `[patch.crates-io]` resolves it to (the equality-delete CDC surface).
skade = { version = "0.5", default-features = false, optional = true }
tempfile = { version = "3", optional = true }

arrow = { workspace = true }
arrow-array = { workspace = true }
arrow-schema = { workspace = true }
arrow-flight = { workspace = true }
tonic = { workspace = true }
futures = { workspace = true }
prost = { workspace = true }

redis = { workspace = true }
tokio = { workspace = true }
thiserror = { workspace = true }
serde_json = { workspace = true }
base64 = "0.22"

[dev-dependencies]
tokio = { workspace = true }
testcontainers = "0.27"
arrow-array = { workspace = true }
futures = { workspace = true }
tempfile = "3"

[[example]]
name = "export-iceberg"
required-features = ["skade"]