chewdata 3.5.0

Extract Transform and Load data
Documentation
[package]
name = "chewdata"
version = "3.5.0"
authors = ["Jean-Marc Fiaschi <jm.fiaschi@gmail.com>"]
edition = "2021"
description = "Extract Transform and Load data"
license = "MIT OR Apache-2.0"
readme = "README.md"
homepage = "https://www.chewdata.org"
repository = "https://github.com/jmfiaschi/chewdata"
include = ["src/*", "LICENSE-APACHE", "LICENSE-MIT", "README.md"]
categories = ["encoding","network-programming","data-structures"]

[[bench]]
name = "benchmark"
harness = false
path = "benches/benchmark.rs"

[dependencies]
# Logs
anyhow = { version = "1.0.100", default-features = false }
tracing = { version = "0.1.44", default-features = false, features = ["std", "attributes"] }
tracing-subscriber = { version = "0.3.22", default-features = false, features= ["std", "fmt", "env-filter","tracing-log","json","ansi"] }
tracing-appender = { version = "0.2.4", default-features = false }
tracing-opentelemetry = { version = "0.22", default-features = false, features= ["tracing-log"] }
opentelemetry = { version = "0.21", default-features = false, features= ["trace"], optional = true}
opentelemetry-jaeger = { version = "0.20", default-features = false, features= ["rt-async-std"], optional = true}
glob = { version = "0.3.3", default-features = false }
env_applier = { version = "1.1.2", default-features = false }
serde_json = { version = "1.0.148", default-features = false, features= ["std"] }
json_value_merge = { version = "2.0.1", default-features = false }
json_value_remove = { version = "1.1.0", default-features = false }
json_value_resolve =  { version = "1.1.0", default-features = false }
json_value_search =  { version = "1.1.0", default-features = false }
serde = { version = "1.0.228", default-features = false, features = ["derive"] }
serde-with-expand-env = { version = "1.1.0", default-features = false }
futures = { version = "0.3.31", default-features = false, features = ["std", "async-await", "executor"] }
smol = "2.0.2"
async-lock = "3.4.2"
smol-macros = "0.1.1"
smol-timeout = "0.6.1"
async-task = "4.7.1"
async-trait = { version = "0.1.89", default-features = false }
async-stream = { version = "0.3.6", default-features = false }
async-channel = { version = "2.5.0", default-features = false }
async-process = { version = "2.5.0", default-features = false }
mime = { version = "0.3.17", default-features = false }
base64 = { version = "0.22.1", default-features = false, features = ["std"] }
regex = { version = "1.12.2" }
chrono = { version = "0.4.43", default-features = false, features = ["std","clock"] }
fake = { version = "4.4.0", default-features = false, features = ["random_color"] }
clap = { version = "4.5.54" }
version = { version = "3.0", default-features = false}
serde_yaml = { version = "0.9.33", default-features = false }
deser-hjson = { version = "2.2.5", default-features = false }
sha2 = { version = "0.10.9", default-features = false, features = ["oid", "std"] }
sha3 = { version = "0.10.8", default-features = false, features = ["oid", "std"] }
base16ct = { version = "1.0.0", default-features = false, features = ["alloc"] }
macro_rules_attribute = { version = "0.2.2", default-features = false }
dashmap = { version = "6.1.0", default-features = false }
# Lock local files
async-fs = { version = "2.2.0" }
# For Templates
tera = { version = "1.20.1", default-features = false, features = ["builtins"] }
uuid = { version = "1.19.0", features = ["std", "v4"] }
# For readers
quick-xml = { version = "0.39.0", default-features = false, optional = true, features = ["serialize"] }
csv = { version = "1.4.0", default-features = false, optional = true }
toml = { version = "0.9.8", default-features = false, optional = true, features = ["parse", "display","serde"] }
parquet = { version = "57.2.0", default-features = false, optional = true, features = ["cli","arrow","flate2-rust_backened","brotli","lz4","zstd","snap"] }
arrow-json = { version = "57.2.0", default-features = false, optional = true } # used to create the batch with json_value
arrow-integration-test = { version = "57.2.0", default-features = false, optional = true } # used to transform json_value to schema
bytes = { version = "1.11.0", default-features = false, optional = true, features = ["std"] }
# For Connectors
## bucket
aws-config = { version = "1.8.12", optional = true }
aws-sdk-s3 = { version = "1.120.0", default-features = false, optional = true, features = ["sigv4a","rustls","rt-tokio","behavior-version-latest"] }
byteorder = { version = "1.5.0", default-features = false, optional = true, features = ["std"] }
jsonwebtoken = { version = "10.3.0", default-features = false, features = ["use_pem","rust_crypto"], optional = true }
## curl
hyper = { version = "1.8.1", default-features = false, optional = true, features = ["http1","client","http2"] }
smol-hyper = { version = "0.1.1", optional = true, default-features = false, features = ["smol"] }
webpki-roots = { version = "1.0.5", optional = true }
rustls = { version = "0.23.36", optional = true, default-features = false, features = ["log","std","ring"]}
futures-rustls = { version = "0.26.0", optional = true, default-features = false }
http-body-util = {version = "0.1.3", optional = true, default-features = false}
http-cache-semantics = { version = "2.1.0", default-features = false, optional = true }
cacache = { version = "13.1.0", default-features = false, features = ["async-std"], optional = true }
http = {version = "1.4.0", optional = true}
http-serde = {version = "2.1.1", optional = true}
## mongodb
mongodb = { version = "3.5.0", optional = true }
async-compat = { version = "0.2.5", default-features = false, optional = true }
## sql
sqlx = { version = "0.8.6", default-features = false, features = ["runtime-async-std-rustls", "_unstable-all-types"], optional = true }

[dev-dependencies]
criterion = { version = "0.8.1", default-features = false, features = ["default", "csv_output","html_reports","async_futures","async_smol"] }

[features]
default = ['log-release']
xml = ["dep:quick-xml"]
csv = ["dep:csv"]
toml = ["dep:toml"]
parquet = ["dep:parquet","dep:byteorder","dep:arrow-json","dep:bytes","dep:arrow-integration-test"]
bucket = ["dep:aws-sdk-s3","dep:aws-config","dep:async-compat"]
curl = ["dep:bytes","dep:hyper","dep:smol-hyper","dep:jsonwebtoken","dep:http-body-util","dep:http","dep:http-cache-semantics","dep:cacache","dep:webpki-roots","dep:rustls","dep:futures-rustls","http-serde"]
mongodb = ["dep:mongodb","dep:async-compat"]
psql = ["sqlx","sqlx/postgres"]
apm = ["dep:opentelemetry","dep:opentelemetry-jaeger"]
ordered = ["serde_json/preserve_order","toml/preserve_order"]
log-release = [
    "tracing/release_max_level_info",
]
log-release-trace = [
    "tracing/release_max_level_trace",
]

[profile.release]
lto = true

[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docs_rs"]

[[example]]
name = "jwt-decode"
path = "examples/commands/jwt-decode.rs"