# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[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"
