[package]
name = "xdl-dataframe"
version.workspace = true
edition.workspace = true
authors.workspace = true
license.workspace = true
description = "DataFrame module for XDL - pandas/Spark-style data manipulation with support for CSV, TSV, Parquet, Avro"
homepage.workspace = true
repository.workspace = true
documentation.workspace = true
[dependencies]
xdl-core = { version = "0.1.1", path = "../xdl-core" }
xdl-database = { version = "0.1.1", path = "../xdl-database", optional = true }
thiserror.workspace = true
anyhow.workspace = true
tokio = { workspace = true, features = ["full"] }
serde = { workspace = true, features = ["derive"] }
serde_json = "1.0"
csv = "1.3"
parquet = { version = "53", optional = true }
arrow = { version = "53", optional = true }
apache-avro = { version = "0.17", optional = true }
indexmap = "2.0"
ndarray = { workspace = true }
num-traits = "0.2"
[features]
default = ["csv-support", "database-integration"]
csv-support = []
parquet-support = ["parquet", "arrow"]
avro-support = ["apache-avro"]
database-integration = ["xdl-database"]
all = [
"csv-support",
"parquet-support",
"avro-support",
"database-integration"
]
[dev-dependencies]
tokio-test = "0.4"
tempfile = "3.8"
rand = "0.8"
[[example]]
name = "dataframe_demo"
path = "examples/dataframe_demo.rs"
[[example]]
name = "comprehensive_demo"
path = "examples/comprehensive_demo.rs"