[package]
name = "polars-lazy"
version = { workspace = true }
authors = { workspace = true }
edition = { workspace = true }
homepage = { workspace = true }
license = { workspace = true }
repository = { workspace = true }
description = "Lazy query engine for the Polars DataFrame library"
[dependencies]
arrow = { workspace = true }
futures = { workspace = true, optional = true }
polars-core = { workspace = true, features = ["lazy", "zip_with", "random"] }
polars-expr = { workspace = true }
polars-io = { workspace = true, features = ["lazy"] }
polars-json = { workspace = true, optional = true }
polars-mem-engine = { workspace = true }
polars-ops = { workspace = true, features = ["chunked_ids"] }
polars-pipe = { workspace = true, optional = true }
polars-plan = { workspace = true }
polars-stream = { workspace = true, optional = true }
polars-time = { workspace = true, optional = true }
polars-utils = { workspace = true }
ahash = { workspace = true }
bitflags = { workspace = true }
memchr = { workspace = true }
once_cell = { workspace = true }
pyo3 = { workspace = true, optional = true }
rayon = { workspace = true }
tokio = { workspace = true, optional = true }
[dev-dependencies]
serde_json = { workspace = true }
[build-dependencies]
version_check = { workspace = true }
[features]
nightly = ["polars-core/nightly", "polars-pipe?/nightly", "polars-plan/nightly"]
streaming = ["polars-pipe", "polars-plan/streaming", "polars-ops/chunked_ids", "polars-expr/streaming"]
new_streaming = ["polars-stream"]
parquet = [
"polars-io/parquet",
"polars-plan/parquet",
"polars-pipe?/parquet",
"polars-expr/parquet",
"polars-mem-engine/parquet",
]
async = [
"polars-plan/async",
"polars-io/cloud",
"polars-pipe?/async",
"polars-mem-engine/async",
]
cloud = ["async", "polars-pipe?/cloud", "polars-plan/cloud", "tokio", "futures", "polars-mem-engine/cloud"]
cloud_write = ["cloud"]
ipc = ["polars-io/ipc", "polars-plan/ipc", "polars-pipe?/ipc", "polars-mem-engine/ipc"]
json = ["polars-io/json", "polars-plan/json", "polars-json", "polars-pipe?/json", "polars-mem-engine/json"]
csv = ["polars-io/csv", "polars-plan/csv", "polars-pipe?/csv", "polars-mem-engine/csv"]
temporal = [
"dtype-datetime",
"dtype-date",
"dtype-time",
"dtype-i8",
"dtype-i16",
"dtype-duration",
"polars-plan/temporal",
"polars-expr/temporal",
]
fmt = ["polars-core/fmt", "polars-plan/fmt"]
strings = ["polars-plan/strings", "polars-stream?/strings"]
future = []
dtype-full = [
"dtype-array",
"dtype-categorical",
"dtype-date",
"dtype-datetime",
"dtype-decimal",
"dtype-duration",
"dtype-i16",
"dtype-i8",
"dtype-struct",
"dtype-time",
"dtype-u16",
"dtype-u8",
]
dtype-array = [
"polars-plan/dtype-array",
"polars-pipe?/dtype-array",
"polars-ops/dtype-array",
"polars-expr/dtype-array",
]
dtype-categorical = [
"polars-plan/dtype-categorical",
"polars-pipe?/dtype-categorical",
"polars-expr/dtype-categorical",
"polars-mem-engine/dtype-categorical",
]
dtype-date = [
"polars-plan/dtype-date",
"polars-time/dtype-date",
"temporal",
"polars-expr/dtype-date",
"polars-mem-engine/dtype-date",
]
dtype-datetime = [
"polars-plan/dtype-datetime",
"polars-time/dtype-datetime",
"temporal",
"polars-expr/dtype-datetime",
"polars-mem-engine/dtype-datetime",
]
dtype-decimal = [
"polars-plan/dtype-decimal",
"polars-pipe?/dtype-decimal",
"polars-expr/dtype-decimal",
"polars-mem-engine/dtype-decimal",
]
dtype-duration = [
"polars-plan/dtype-duration",
"polars-time/dtype-duration",
"temporal",
"polars-expr/dtype-duration",
"polars-mem-engine/dtype-duration",
]
dtype-i16 = ["polars-plan/dtype-i16", "polars-pipe?/dtype-i16", "polars-expr/dtype-i16", "polars-mem-engine/dtype-i16"]
dtype-i8 = ["polars-plan/dtype-i8", "polars-pipe?/dtype-i8", "polars-expr/dtype-i8", "polars-mem-engine/dtype-i8"]
dtype-struct = [
"polars-plan/dtype-struct",
"polars-ops/dtype-struct",
"polars-expr/dtype-struct",
"polars-mem-engine/dtype-struct",
]
dtype-time = [
"polars-plan/dtype-time",
"polars-time/dtype-time",
"temporal",
"polars-expr/dtype-time",
"polars-mem-engine/dtype-time",
]
dtype-u16 = ["polars-plan/dtype-u16", "polars-pipe?/dtype-u16", "polars-expr/dtype-u16", "polars-mem-engine/dtype-u16"]
dtype-u8 = ["polars-plan/dtype-u8", "polars-pipe?/dtype-u8", "polars-expr/dtype-u8", "polars-mem-engine/dtype-u8"]
object = ["polars-plan/object", "polars-mem-engine/object"]
month_start = ["polars-plan/month_start"]
month_end = ["polars-plan/month_end"]
offset_by = ["polars-plan/offset_by"]
trigonometry = ["polars-plan/trigonometry"]
sign = ["polars-plan/sign"]
timezones = ["polars-plan/timezones"]
list_gather = ["polars-ops/list_gather", "polars-plan/list_gather"]
list_count = ["polars-ops/list_count", "polars-plan/list_count"]
array_count = ["polars-ops/array_count", "polars-plan/array_count", "dtype-array"]
true_div = ["polars-plan/true_div"]
extract_jsonpath = ["polars-plan/extract_jsonpath", "polars-ops/extract_jsonpath"]
bitwise = [
"polars-plan/bitwise",
"polars-expr/bitwise",
"polars-core/bitwise",
"polars-stream?/bitwise",
"polars-ops/bitwise",
]
approx_unique = ["polars-plan/approx_unique"]
is_in = ["polars-plan/is_in", "polars-ops/is_in", "polars-expr/is_in"]
repeat_by = ["polars-plan/repeat_by"]
round_series = ["polars-plan/round_series", "polars-ops/round_series", "polars-expr/round_series"]
is_first_distinct = ["polars-plan/is_first_distinct"]
is_last_distinct = ["polars-plan/is_last_distinct"]
is_between = ["polars-plan/is_between", "polars-expr/is_between"]
is_unique = ["polars-plan/is_unique"]
cross_join = ["polars-plan/cross_join", "polars-pipe?/cross_join", "polars-ops/cross_join"]
asof_join = ["polars-plan/asof_join", "polars-time", "polars-ops/asof_join", "polars-mem-engine/asof_join"]
iejoin = ["polars-plan/iejoin"]
business = ["polars-plan/business"]
concat_str = ["polars-plan/concat_str"]
range = ["polars-plan/range"]
mode = ["polars-plan/mode"]
cum_agg = ["polars-plan/cum_agg"]
interpolate = ["polars-plan/interpolate"]
interpolate_by = ["polars-plan/interpolate_by"]
rolling_window = [
"polars-plan/rolling_window",
]
rolling_window_by = [
"polars-plan/rolling_window_by",
"polars-time/rolling_window_by",
]
rank = ["polars-plan/rank"]
diff = ["polars-plan/diff", "polars-plan/diff"]
pct_change = ["polars-plan/pct_change"]
moment = ["polars-plan/moment", "polars-ops/moment"]
abs = ["polars-plan/abs"]
random = ["polars-plan/random"]
dynamic_group_by = [
"polars-plan/dynamic_group_by",
"polars-time",
"temporal",
"polars-expr/dynamic_group_by",
"polars-mem-engine/dynamic_group_by",
"polars-stream?/dynamic_group_by",
]
ewma = ["polars-plan/ewma"]
ewma_by = ["polars-plan/ewma_by"]
dot_diagram = ["polars-plan/dot_diagram"]
diagonal_concat = []
unique_counts = ["polars-plan/unique_counts"]
log = ["polars-plan/log"]
list_eval = []
cumulative_eval = []
list_to_struct = ["polars-plan/list_to_struct"]
array_to_struct = ["polars-plan/array_to_struct"]
python = ["pyo3", "polars-plan/python", "polars-core/python", "polars-io/python", "polars-mem-engine/python"]
row_hash = ["polars-plan/row_hash"]
reinterpret = ["polars-plan/reinterpret", "polars-ops/reinterpret"]
string_pad = ["polars-plan/string_pad"]
string_reverse = ["polars-plan/string_reverse"]
string_to_integer = ["polars-plan/string_to_integer"]
arg_where = ["polars-plan/arg_where"]
search_sorted = ["polars-plan/search_sorted"]
merge_sorted = ["polars-plan/merge_sorted"]
meta = ["polars-plan/meta"]
pivot = ["polars-core/rows", "polars-ops/pivot", "polars-plan/pivot"]
top_k = ["polars-plan/top_k"]
semi_anti_join = ["polars-plan/semi_anti_join"]
cse = ["polars-plan/cse"]
propagate_nans = ["polars-plan/propagate_nans", "polars-expr/propagate_nans"]
coalesce = ["polars-plan/coalesce"]
regex = ["polars-plan/regex"]
serde = [
"polars-plan/serde",
"arrow/serde",
"polars-core/serde-lazy",
"polars-time?/serde",
"polars-io/serde",
"polars-ops/serde",
"polars-utils/serde",
]
fused = ["polars-plan/fused", "polars-ops/fused"]
list_sets = ["polars-plan/list_sets", "polars-ops/list_sets"]
list_any_all = ["polars-ops/list_any_all", "polars-plan/list_any_all"]
array_any_all = ["polars-ops/array_any_all", "polars-plan/array_any_all", "dtype-array"]
list_drop_nulls = ["polars-ops/list_drop_nulls", "polars-plan/list_drop_nulls"]
list_sample = ["polars-ops/list_sample", "polars-plan/list_sample"]
cutqcut = ["polars-plan/cutqcut", "polars-ops/cutqcut"]
rle = ["polars-plan/rle", "polars-ops/rle"]
extract_groups = ["polars-plan/extract_groups"]
peaks = ["polars-plan/peaks"]
cov = ["polars-ops/cov", "polars-plan/cov"]
hist = ["polars-plan/hist"]
replace = ["polars-plan/replace"]
binary_encoding = ["polars-plan/binary_encoding"]
string_encoding = ["polars-plan/string_encoding"]
bigidx = ["polars-plan/bigidx", "polars-utils/bigidx"]
polars_cloud = ["polars-plan/polars_cloud"]
panic_on_schema = ["polars-plan/panic_on_schema", "polars-expr/panic_on_schema"]
test = [
"polars-plan/debugging",
"panic_on_schema",
"rolling_window",
"rank",
"round_series",
"csv",
"dtype-categorical",
"cum_agg",
"regex",
"polars-core/fmt",
"diff",
"abs",
"parquet",
"ipc",
"dtype-date",
]
test_all = [
"test",
"strings",
"regex",
"ipc",
"row_hash",
"string_pad",
"string_to_integer",
"search_sorted",
"top_k",
"pivot",
"semi_anti_join",
"cse",
"dtype-struct",
"peaks",
"cov",
"hist",
"extract_groups",
"rle",
"cutqcut",
"replace",
"list_sample",
]
[package.metadata.docs.rs]
features = [
"abs",
"approx_unique",
"arg_where",
"asof_join",
"async",
"bigidx",
"binary_encoding",
"cloud",
"cloud_write",
"coalesce",
"concat_str",
"cov",
"cross_join",
"cse",
"csv",
"cum_agg",
"cumulative_eval",
"cutqcut",
"diagonal_concat",
"diff",
"dot_diagram",
"dtype-full",
"dynamic_group_by",
"ewma",
"extract_groups",
"fmt",
"fused",
"futures",
"hist",
"interpolate",
"interpolate_by",
"ipc",
"is_first_distinct",
"is_in",
"is_last_distinct",
"is_unique",
"json",
"list_any_all",
"list_count",
"list_drop_nulls",
"list_eval",
"list_gather",
"list_sample",
"list_sets",
"list_to_struct",
"log",
"merge_sorted",
"meta",
"mode",
"moment",
"month_start",
"month_end",
"nightly",
"object",
"offset_by",
"panic_on_schema",
"parquet",
"pct_change",
"peaks",
"pivot",
"polars-json",
"polars-time",
"propagate_nans",
"random",
"range",
"rank",
"regex",
"repeat_by",
"replace",
"rle",
"rolling_window",
"rolling_window_by",
"round_series",
"row_hash",
"search_sorted",
"semi_anti_join",
"serde",
"sign",
"streaming",
"string_encoding",
"string_pad",
"string_reverse",
"string_to_integer",
"strings",
"temporal",
"timezones",
"tokio",
"top_k",
"trigonometry",
"true_div",
"unique_counts",
]
rustdoc-args = ["--cfg", "docsrs"]