[package]
edition = "2021"
name = "filemanager"
version = "0.1.3"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Unified file abstraction for local and cloud files with caching options and support for multiple formats."
readme = false
license = "Apache-2.0"
resolver = "3"
[features]
async = [
"dep:tokio",
"dep:futures",
]
cloud = [
"dep:object_store",
"dep:url",
"async",
]
default = [
"json",
"parquet",
"sql",
"cloud",
]
json = [
"dep:serde_json",
"dep:serde",
]
parquet = [
"dep:parquet",
"dep:arrow",
"dep:serde_arrow",
"dep:serde",
]
sql = [
"dep:rusqlite",
"dep:serde",
"dep:serde_json",
]
[lib]
name = "filemanager"
path = "src/lib.rs"
[dependencies.arrow]
version = "57"
optional = true
default-features = true
[dependencies.futures]
version = "0.3"
optional = true
default-features = false
[dependencies.memmap2]
version = "0.9"
default-features = false
[dependencies.object_store]
version = "0.11"
features = [
"aws",
"azure",
"gcp",
"http",
]
optional = true
default-features = false
[dependencies.parquet]
version = "57"
optional = true
default-features = true
[dependencies.rusqlite]
version = "0.35"
features = ["bundled"]
optional = true
default-features = false
[dependencies.serde]
version = "1"
features = ["derive"]
optional = true
default-features = false
[dependencies.serde_arrow]
version = "0.13"
features = ["arrow-57"]
optional = true
default-features = true
[dependencies.serde_json]
version = "1"
optional = true
default-features = false
[dependencies.tempfile]
version = "3"
default-features = false
[dependencies.thiserror]
version = "2"
[dependencies.tokio]
version = "1"
features = ["rt-multi-thread"]
optional = true
default-features = false
[dependencies.url]
version = "2"
optional = true
default-features = false
[dev-dependencies.serde]
version = "1"
features = ["derive"]
default-features = false
[dev-dependencies.serde_json]
version = "1"
default-features = false
[dev-dependencies.tempfile]
version = "3"
default-features = false
[lints.rust]
unnameable_types = "deny"
unreachable_pub = "warn"