[package]
edition = "2024"
name = "etl-unit"
version = "0.1.0"
authors = ["Edmund Cape"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Semantic data model for ETL units — qualities and measurements over subjects and time. Built on Polars."
homepage = "https://github.com/EdmundsEcho/etl-unit"
documentation = "https://docs.rs/etl-unit"
readme = "README.md"
keywords = [
"etl",
"polars",
"data",
"dataframe",
"schema",
]
categories = [
"data-structures",
"science",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/EdmundsEcho/etl-unit"
[features]
cli = [
"dep:clap",
"dep:csv",
]
[lib]
name = "etl_unit"
path = "src/lib.rs"
[[bin]]
name = "convert_chartjs"
path = "src/bin/convert_chartjs.rs"
required-features = ["cli"]
[[test]]
name = "group_by_dynamic_api"
path = "tests/group_by_dynamic_api.rs"
[[test]]
name = "group_by_dynamic_synthetic"
path = "tests/group_by_dynamic_synthetic.rs"
[[test]]
name = "instant_signal_policy_test"
path = "tests/instant_signal_policy_test.rs"
[[test]]
name = "integration_test"
path = "tests/integration_test.rs"
[[test]]
name = "raw_vs_processed_semantics"
path = "tests/raw_vs_processed_semantics.rs"
[[test]]
name = "report_interval_test"
path = "tests/report_interval_test.rs"
[[test]]
name = "witness_binary_test"
path = "tests/witness_binary_test.rs"
[dependencies.chrono]
version = "0.4"
features = ["serde"]
[dependencies.clap]
version = "4.5"
features = ["derive"]
optional = true
[dependencies.csv]
version = "1.3"
optional = true
[dependencies.humantime]
version = "2.3"
[dependencies.humantime-serde]
version = "1.1"
[dependencies.indexmap]
version = "2"
features = ["serde"]
[dependencies.memuse]
version = "0.2"
[dependencies.meta-tracing]
version = "0.1"
[dependencies.polars]
version = "0.51"
features = [
"abs",
"asof_join",
"concat_str",
"cum_agg",
"diff",
"dynamic_group_by",
"dtype-datetime",
"dtype-struct",
"interpolate",
"is_in",
"lazy",
"pivot",
"rank",
"rolling_window",
"round_series",
"strings",
"temporal",
"timezones",
]
[dependencies.serde]
version = "1.0"
features = ["derive"]
[dependencies.serde_json]
version = "1.0"
[dependencies.serde_path_to_error]
version = "0.1"
[dependencies.thiserror]
version = "1.0"
[dependencies.toml]
version = "0.8"
[dependencies.tracing]
version = "0.1"
[dev-dependencies.reqwest]
version = "0.12"
features = [
"blocking",
"json",
"rustls-tls",
]
default-features = false
[dev-dependencies.serde_json]
version = "1.0"
[dev-dependencies.serial_test]
version = "3.2"
[dev-dependencies.tokio]
version = "1"
features = [
"rt-multi-thread",
"macros",
]
[dev-dependencies.tracing-subscriber]
version = "0.3"
features = [
"env-filter",
"fmt",
"ansi",
"json",
]
[lints.rust]
ambiguous_glob_imports = "allow"
ambiguous_glob_reexports = "allow"
dead_code = "allow"
unused_imports = "allow"