[package]
authors.workspace = true
description = "Nushell dataframe plugin commands based on polars."
edition.workspace = true
rust-version.workspace = true
license.workspace = true
name = "nu_plugin_polars"
repository = "https://github.com/nushell/nushell/tree/main/crates/nu_plugin_polars"
version.workspace = true

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[[bin]]
name = "nu_plugin_polars"
bench = false

[lib]
bench = false

[dependencies]
nu-protocol.workspace = true
nu-plugin.workspace = true
nu-path.workspace = true
nu-utils.workspace = true

# Potential dependencies for extras
chrono = { workspace = true, features = [
  "unstable-locales",
], default-features = false }
chrono-tz = "0.10"
fancy-regex = { workspace = true }
indexmap = { version = "2.13" }
num = { version = "0.4" }
serde = { version = "1.0", features = ["derive"] }
sqlparser = { version = "~0.61.0" }
polars-io = { version = "~0.53.0", features = ["avro", "cloud", "aws", "azure", "gcp"] }
polars-arrow = { version = "~0.53.0" }
polars-ops = { version = "~0.53.0", features = ["pivot", "cutqcut"] }
polars-plan = { version = "~0.53.0", features = ["regex"] }
polars-utils = { version = "~0.53.0" }
polars-lazy = { version = "~0.53.0" }
polars-compute = { version = "~0.53.0" }
planus = { version = "~1.1.1" } # Temporarily here to convince cargo not to upgrade planus to 1.2.0
typetag = "0.2"
env_logger = "0.11.8"
log.workspace = true
uuid = { version = "1.23", features = ["v4", "serde"] }

# Do to a compile error with polars, this included to force the raw dependency
hashbrown = { version = "0.17", features = ["rayon", "serde"] }

# Cloud support
aws-config = { version = "1.8", features = ["sso"] }
aws-credential-types = "1.2"
tokio = { workspace = true, features = ["full"] }
object_store = { version = "0.13.1", features = ["aws", "azure", "gcp"], default-features = false }
url.workspace = true

[dependencies.polars]
features = [
  "abs",
  "arg_where",
  "bigidx",
  "checked_arithmetic",
  "cloud",
  "concat_str",
  "cross_join",
  "iejoin",
  "csv",
  "cum_agg",
  "default",
  "dtype-categorical",
  "dtype-datetime",
  "dtype-struct",
  "dtype-decimal",
  "dtype-i8",
  "dtype-i16",
  "dtype-u8",
  "dtype-u16",
  "dtype-u128",
  "dynamic_group_by",
  "ipc",
  "is_in",
  "json",
  "lazy",
  "log",
  "object",
  "parquet",
  "pivot",
  "random",
  "replace",
  "rolling_window",
  "rows",
  "round_series",
  "serde",
  "serde-lazy",
  "sign",
  "strings",
  "string_to_integer",
  "timezones",
  "temporal",
  "to_dummies",
  "trigonometry",
]
optional = false
version = "=0.53.0"

[dev-dependencies]
nu-cmd-lang = { workspace = true, features = ["plugin"] }
nu-engine = { workspace = true, features = ["plugin"] }
nu-parser = { workspace = true, features = ["plugin"] }
nu-command = { workspace = true, features = ["plugin"] }
nu-plugin-test-support.workspace = true

tempfile.workspace = true
