[package]
name = "polars-plan"
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"
[lib]
doctest = false
[dependencies]
libloading = { version = "0.8.0", optional = true }
polars-core = { workspace = true, features = ["lazy", "zip_with", "random"] }
polars-ffi = { workspace = true, optional = true }
polars-io = { workspace = true, features = ["lazy", "csv"] }
polars-json = { workspace = true, optional = true }
polars-ops = { workspace = true, features = [] }
polars-parquet = { workspace = true, optional = true }
polars-time = { workspace = true, optional = true }
polars-utils = { workspace = true }
ahash = { workspace = true }
arrow = { workspace = true }
bytemuck = { workspace = true }
chrono = { workspace = true, optional = true }
chrono-tz = { workspace = true, optional = true }
ciborium = { workspace = true, optional = true }
either = { workspace = true }
futures = { workspace = true, optional = true }
hashbrown = { workspace = true }
once_cell = { workspace = true }
percent-encoding = { workspace = true }
pyo3 = { workspace = true, optional = true }
rayon = { workspace = true }
recursive = { workspace = true }
regex = { workspace = true, optional = true }
serde = { workspace = true, features = ["rc"], optional = true }
smartstring = { workspace = true }
strum_macros = { workspace = true }
[build-dependencies]
version_check = { workspace = true }
[features]
debugging = []
python = ["dep:pyo3", "ciborium"]
serde = [
"dep:serde",
"polars-core/serde-lazy",
"polars-time/serde",
"polars-io/serde",
"polars-ops/serde",
"either/serde",
]
streaming = []
parquet = ["polars-io/parquet", "polars-parquet"]
async = ["polars-io/async", "futures"]
cloud = ["async", "polars-io/cloud"]
ipc = ["polars-io/ipc"]
json = ["polars-io/json", "polars-json"]
csv = ["polars-io/csv"]
temporal = [
"polars-core/temporal",
"polars-core/dtype-date",
"polars-core/dtype-datetime",
"polars-core/dtype-time",
"polars-core/dtype-i8",
"polars-core/dtype-i16",
]
fmt = ["polars-core/fmt"]
strings = ["polars-core/strings", "polars-ops/strings"]
future = []
dtype-u8 = ["polars-core/dtype-u8"]
dtype-u16 = ["polars-core/dtype-u16"]
dtype-i8 = ["polars-core/dtype-i8"]
dtype-i16 = ["polars-core/dtype-i16"]
dtype-decimal = ["polars-core/dtype-decimal"]
dtype-date = ["polars-time/dtype-date", "temporal"]
dtype-datetime = ["polars-time/dtype-datetime", "temporal"]
dtype-duration = ["polars-core/dtype-duration", "polars-time/dtype-duration", "temporal"]
dtype-time = ["polars-time/dtype-time", "temporal"]
dtype-array = ["polars-core/dtype-array", "polars-ops/dtype-array"]
dtype-categorical = ["polars-core/dtype-categorical"]
dtype-struct = ["polars-core/dtype-struct"]
object = ["polars-core/object"]
list_gather = ["polars-ops/list_gather"]
list_count = ["polars-ops/list_count"]
array_count = ["polars-ops/array_count", "dtype-array"]
trigonometry = []
sign = []
timezones = ["chrono-tz", "polars-time/timezones", "polars-core/timezones", "regex"]
binary_encoding = ["polars-ops/binary_encoding"]
string_encoding = ["polars-ops/string_encoding"]
true_div = []
nightly = ["polars-utils/nightly", "polars-ops/nightly"]
extract_jsonpath = ["polars-ops/extract_jsonpath"]
approx_unique = ["polars-ops/approx_unique"]
is_in = ["polars-ops/is_in"]
repeat_by = ["polars-ops/repeat_by"]
round_series = ["polars-ops/round_series"]
is_first_distinct = ["polars-core/is_first_distinct", "polars-ops/is_first_distinct"]
is_last_distinct = ["polars-core/is_last_distinct", "polars-ops/is_last_distinct"]
is_unique = ["polars-ops/is_unique"]
is_between = ["polars-ops/is_between"]
cross_join = ["polars-ops/cross_join"]
asof_join = ["polars-time", "polars-ops/asof_join"]
concat_str = []
business = ["polars-ops/business"]
range = []
mode = ["polars-ops/mode"]
cum_agg = ["polars-ops/cum_agg"]
interpolate = ["polars-ops/interpolate"]
interpolate_by = ["polars-ops/interpolate_by"]
rolling_window = [
"polars-core/rolling_window",
"polars-time/rolling_window",
"polars-ops/rolling_window",
]
rolling_window_by = [
"polars-core/rolling_window_by",
"polars-time/rolling_window_by",
"polars-ops/rolling_window_by",
]
rank = ["polars-ops/rank"]
diff = ["polars-ops/diff"]
pct_change = ["polars-ops/pct_change"]
moment = ["polars-ops/moment"]
abs = ["polars-ops/abs"]
random = ["polars-core/random"]
dynamic_group_by = ["polars-core/dynamic_group_by"]
ewma = ["polars-ops/ewma"]
ewma_by = ["polars-ops/ewma_by"]
dot_diagram = []
unique_counts = ["polars-ops/unique_counts"]
log = ["polars-ops/log"]
chunked_ids = []
list_to_struct = ["polars-ops/list_to_struct"]
array_to_struct = ["polars-ops/array_to_struct"]
row_hash = ["polars-core/row_hash", "polars-ops/hash"]
reinterpret = ["polars-core/reinterpret", "polars-ops/reinterpret"]
string_pad = ["polars-ops/string_pad"]
string_reverse = ["polars-ops/string_reverse"]
string_to_integer = ["polars-ops/string_to_integer"]
arg_where = []
search_sorted = ["polars-ops/search_sorted"]
merge_sorted = ["polars-ops/merge_sorted"]
meta = []
pivot = ["polars-core/rows", "polars-ops/pivot"]
top_k = ["polars-ops/top_k"]
semi_anti_join = ["polars-ops/semi_anti_join"]
cse = []
propagate_nans = ["polars-ops/propagate_nans"]
coalesce = []
fused = ["polars-ops/fused"]
array_any_all = ["polars-ops/array_any_all", "dtype-array"]
list_sets = ["polars-ops/list_sets"]
list_any_all = ["polars-ops/list_any_all"]
list_drop_nulls = ["polars-ops/list_drop_nulls"]
list_sample = ["polars-ops/list_sample"]
cutqcut = ["polars-ops/cutqcut"]
rle = ["polars-ops/rle"]
extract_groups = ["regex", "dtype-struct", "polars-ops/extract_groups"]
ffi_plugin = ["libloading", "polars-ffi"]
hive_partitions = []
peaks = ["polars-ops/peaks"]
cov = ["polars-ops/cov"]
hist = ["polars-ops/hist"]
replace = ["polars-ops/replace"]
find_many = ["polars-ops/find_many"]
month_start = ["polars-time/month_start"]
month_end = ["polars-time/month_end"]
offset_by = ["polars-time/offset_by"]
bigidx = ["polars-core/bigidx"]
panic_on_schema = []
[package.metadata.docs.rs]
features = [
"temporal",
"serde",
"rolling_window",
"rolling_window_by",
"timezones",
"dtype-date",
"extract_groups",
"dtype-datetime",
"asof_join",
"dtype-duration",
"is_first_distinct",
"pivot",
"dtype-array",
"is_last_distinct",
"dtype-time",
"array_any_all",
"month_start",
"month_end",
"offset_by",
"parquet",
"strings",
"row_hash",
"json",
"python",
"cloud",
"string_to_integer",
"list_any_all",
"pct_change",
"list_gather",
"dtype-i16",
"round_series",
"cutqcut",
"async",
"ewma",
"ewma_by",
"random",
"chunked_ids",
"repeat_by",
"is_in",
"log",
"string_reverse",
"list_sets",
"propagate_nans",
"mode",
"rank",
"hist",
"object",
"approx_unique",
"dtype-categorical",
"merge_sorted",
"bigidx",
"cov",
"list_sample",
"dtype-i8",
"fused",
"binary_encoding",
"list_drop_nulls",
"fmt",
"list_to_struct",
"string_pad",
"diff",
"rle",
"is_unique",
"find_many",
"string_encoding",
"ipc",
"search_sorted",
"unique_counts",
"dtype-u8",
"dtype-struct",
"peaks",
"abs",
"interpolate",
"interpolate_by",
"list_count",
"cum_agg",
"top_k",
"moment",
"semi_anti_join",
"replace",
"dtype-u16",
"regex",
"ciborium",
"dtype-decimal",
"arg_where",
"business",
"range",
"meta",
"hive_partitions",
"concat_str",
"coalesce",
"dot_diagram",
"trigonometry",
"streaming",
"true_div",
"sign",
]
rustdoc-args = ["--cfg", "docsrs"]