[package]
name = "polars-core"
version = { workspace = true }
authors = { workspace = true }
edition = { workspace = true }
homepage = { workspace = true }
license = { workspace = true }
repository = { workspace = true }
description = "Core of the Polars DataFrame library"
[dependencies]
polars-compute = { workspace = true }
polars-error = { workspace = true }
polars-row = { workspace = true }
polars-schema = { workspace = true }
polars-utils = { workspace = true }
ahash = { workspace = true }
arrow = { workspace = true }
bitflags = { workspace = true }
bytemuck = { workspace = true }
chrono = { workspace = true, optional = true }
chrono-tz = { workspace = true, optional = true }
comfy-table = { version = "7.1.1", default-features = false, optional = true }
either = { workspace = true }
hashbrown = { workspace = true }
hashbrown_old_nightly_hack = { workspace = true }
indexmap = { workspace = true }
ndarray = { workspace = true, optional = true }
num-traits = { workspace = true }
once_cell = { workspace = true }
rand = { workspace = true, optional = true, features = ["small_rng", "std"] }
rand_distr = { workspace = true, optional = true }
rayon = { workspace = true }
regex = { workspace = true, optional = true }
serde = { workspace = true, optional = true }
serde_json = { workspace = true, optional = true }
strum_macros = { workspace = true }
thiserror = { workspace = true }
xxhash-rust = { workspace = true }
[dev-dependencies]
bincode = { version = "1" }
serde_json = { workspace = true }
[build-dependencies]
version_check = { workspace = true }
[features]
simd = ["arrow/simd", "polars-compute/simd"]
nightly = ["simd", "hashbrown/nightly", "hashbrown_old_nightly_hack/nightly", "polars-utils/nightly", "arrow/nightly"]
avx512 = []
docs = []
temporal = ["regex", "chrono", "polars-error/regex"]
random = ["rand", "rand_distr"]
algorithm_group_by = []
default = ["algorithm_group_by"]
lazy = []
performant = ["arrow/performant", "reinterpret"]
strings = ["regex", "arrow/strings", "polars-error/regex"]
object = ["serde_json", "algorithm_group_by"]
fmt = ["comfy-table/tty"]
fmt_no_tty = ["comfy-table"]
rows = []
approx_unique = ["polars-compute/approx_unique"]
bitwise = ["algorithm_group_by"]
zip_with = []
round_series = []
checked_arithmetic = []
is_first_distinct = []
is_last_distinct = []
dot_product = []
row_hash = []
reinterpret = []
take_opt_iter = []
group_by_list = []
rolling_window = []
rolling_window_by = []
diagonal_concat = []
dataframe_arithmetic = []
product = []
unique_counts = []
partition_by = ["algorithm_group_by"]
describe = []
timezones = ["temporal", "chrono", "chrono-tz", "arrow/chrono-tz", "arrow/timezones"]
dynamic_group_by = ["dtype-datetime", "dtype-date"]
list_arithmetic = []
dtype-date = ["temporal"]
dtype-datetime = ["temporal"]
dtype-duration = ["temporal"]
dtype-time = ["temporal"]
dtype-array = ["arrow/dtype-array", "polars-compute/dtype-array"]
dtype-i8 = []
dtype-i16 = []
dtype-decimal = ["arrow/dtype-decimal"]
dtype-u8 = []
dtype-u16 = []
dtype-categorical = []
dtype-struct = []
bigidx = ["arrow/bigidx", "polars-utils/bigidx"]
python = []
serde = ["dep:serde", "bitflags/serde", "polars-schema/serde", "polars-utils/serde"]
serde-lazy = ["serde", "arrow/serde", "indexmap/serde", "chrono/serde"]
docs-selection = [
"ndarray",
"rows",
"docs",
"strings",
"object",
"lazy",
"temporal",
"random",
"zip_with",
"checked_arithmetic",
"is_first_distinct",
"is_last_distinct",
"dot_product",
"row_hash",
"rolling_window",
"rolling_window_by",
"dtype-categorical",
"dtype-decimal",
"diagonal_concat",
"dataframe_arithmetic",
"product",
"describe",
"partition_by",
"algorithm_group_by",
"list_arithmetic",
]
[package.metadata.docs.rs]
features = ["docs-selection"]
rustdoc-args = ["--cfg", "docsrs"]