floe-cli 0.5.0

CLI for Floe, a YAML-driven technical ingestion tool.
[package]
name = "floe-cli"
version = "0.5.0"
edition = "2021"
description = "CLI for Floe, a YAML-driven technical ingestion tool."
license = "MIT"
readme = "../../README.md"
repository = "https://github.com/malon64/floe"
homepage = "https://github.com/malon64/floe"
keywords = ["ingestion", "data-quality", "csv", "polars", "yaml"]
categories = ["command-line-utilities"]
build = "build.rs"

[[bin]]
name = "floe"
path = "src/main.rs"

[dependencies]
clap = { version = "4", features = ["derive"] }
floe-core = { path = "../floe-core", version = "0.5.0", default-features = false }
serde = { version = "1", features = ["derive"] }
serde_json = "1"

[features]
# `duckdb` is opt-in because it compiles a bundled native (C++) DuckDB build that
# is slow and does not cross-compile under the release pipeline's `cross`/musl
# targets (it would also bloat artifacts). It is excluded from the default so
# `cargo install floe-cli` and the pre-built release binaries stay lean and build
# everywhere; enable it explicitly with `cargo install floe-cli --features duckdb`.
# `delta`/`iceberg` are pure-Rust and stay on by default.
default = ["delta", "iceberg"]
delta = ["floe-core/delta"]
iceberg = ["floe-core/iceberg"]
duckdb = ["floe-core/duckdb"]
vendored-openssl = ["floe-core/vendored-openssl"]

[dev-dependencies]
assert_cmd = "2"
predicates = "3"
tempfile = "3"