Description
Is your feature request related to a problem or challenge? Please describe what you are trying to do.
- @carpecodeum added support for writing variants as JSON as part of Variant: Write Variant Values as JSON #7670
However, #7670 also introduced a dependency on serde_json
. As the various arrow and parquet crates are often low in the dependency stack and widely used, we are trying to avoid unnecessary dependencies
serde_json
is a very helpful library for programmatically manipulating json objects, but many arrow usecases that use variant will not use this library (as the whole point of variant is to be more efficient)
Describe the solution you'd like
- I would like the
parquet-varaint
crate to NOT depend onserde_json
by default. - I would like
parquet-variant
to be a optional dependency -- so if people want easy / efficientserde_json
conversion they can enable it
So like
# by default, does not have serde_json support
cargo test -p parquet-variant
# if the `serde_json` feature is added, now the serde_json code is available
cargo test -p parquet-variant --features=serde_json
# or also with --all-features
cargo test -p parquet-variant --all-features
Describe alternatives you've considered
Additional context