polars-python 0.46.0

Enable running Polars workloads in Python
Documentation
[package]
name = "polars-python"
version = { workspace = true }
authors = { workspace = true }
edition = { workspace = true }
homepage = { workspace = true }
license = { workspace = true }
repository = { workspace = true }
description = "Enable running Polars workloads in Python"

[dependencies]
polars-compute = { workspace = true }
polars-core = { workspace = true, features = ["python"] }
polars-error = { workspace = true }
polars-expr = { workspace = true }
polars-io = { workspace = true }
polars-lazy = { workspace = true, features = ["python"] }
polars-mem-engine = { workspace = true }
polars-ops = { workspace = true, features = ["bitwise"] }
polars-parquet = { workspace = true, optional = true }
polars-plan = { workspace = true }
polars-row = { workspace = true }
polars-time = { workspace = true }
polars-utils = { workspace = true }

# TODO! remove this once truly activated. This is required to make sdist building work
# polars-stream = { workspace = true }

ahash = { workspace = true }
arboard = { workspace = true, optional = true }
arrow = { workspace = true }
bincode = { workspace = true }
bytemuck = { workspace = true }
bytes = { workspace = true }
chrono = { workspace = true }
chrono-tz = { workspace = true }
either = { workspace = true }
flate2 = { workspace = true }
itoa = { workspace = true }
libc = { workspace = true }
ndarray = { workspace = true }
num-traits = { workspace = true }
numpy = { workspace = true }
once_cell = { workspace = true }
pyo3 = { workspace = true, features = ["abi3-py39", "chrono", "chrono-tz", "multiple-pymethods"] }
rayon = { workspace = true }
recursive = { workspace = true }
serde_json = { workspace = true, optional = true }
thiserror = { workspace = true }

[dependencies.polars]
workspace = true
features = [
  "abs",
  "approx_unique",
  "array_any_all",
  "arg_where",
  "bitwise",
  "business",
  "concat_str",
  "cum_agg",
  "cumulative_eval",
  "dataframe_arithmetic",
  "month_start",
  "month_end",
  "offset_by",
  "diagonal_concat",
  "diff",
  "dot_diagram",
  "dot_product",
  "dtype-categorical",
  "dtype-full",
  "dynamic_group_by",
  "ewma",
  "ewma_by",
  "fmt",
  "fused",
  "interpolate",
  "interpolate_by",
  "is_first_distinct",
  "is_last_distinct",
  "is_unique",
  "is_between",
  "lazy",
  "list_eval",
  "list_to_struct",
  "list_arithmetic",
  "array_arithmetic",
  "array_to_struct",
  "log",
  "mode",
  "moment",
  "ndarray",
  "partition_by",
  "product",
  "random",
  "range",
  "rank",
  "reinterpret",
  "replace",
  "rolling_window",
  "rolling_window_by",
  "round_series",
  "row_hash",
  "rows",
  "semi_anti_join",
  "serde-lazy",
  "string_encoding",
  "string_normalize",
  "string_reverse",
  "string_to_integer",
  "string_pad",
  "strings",
  "temporal",
  "to_dummies",
  "true_div",
  "unique_counts",
  "zip_with",
  "cov",
]

[build-dependencies]
version_check = { workspace = true }

[features]
# Features below are only there to enable building a slim binary during development.
avro = ["polars/avro"]
catalog = ["polars-lazy/catalog"]
parquet = ["polars/parquet", "polars-parquet"]
ipc = ["polars/ipc"]
ipc_streaming = ["polars/ipc_streaming"]
is_in = ["polars/is_in"]
json = ["polars/serde", "serde_json", "polars/json", "polars-utils/serde"]
trigonometry = ["polars/trigonometry"]
sign = ["polars/sign"]
asof_join = ["polars/asof_join"]
iejoin = ["polars/iejoin"]
cross_join = ["polars/cross_join"]
pct_change = ["polars/pct_change"]
repeat_by = ["polars/repeat_by"]

streaming = ["polars/streaming"]
meta = ["polars/meta"]
index_of = ["polars/index_of"]
search_sorted = ["polars/search_sorted"]
decompress = ["polars/decompress"]
regex = ["polars/regex"]
csv = ["polars/csv"]
clipboard = ["arboard"]
extract_jsonpath = ["polars/extract_jsonpath"]
pivot = ["polars/pivot"]
top_k = ["polars/top_k"]
propagate_nans = ["polars/propagate_nans"]
sql = ["polars/sql"]
performant = ["polars/performant"]
timezones = ["polars/timezones"]
cse = ["polars/cse"]
merge_sorted = ["polars/merge_sorted"]
list_gather = ["polars/list_gather"]
list_count = ["polars/list_count"]
array_count = ["polars/array_count", "polars/dtype-array"]
binary_encoding = ["polars/binary_encoding"]
list_sets = ["polars-lazy/list_sets"]
list_any_all = ["polars/list_any_all"]
array_any_all = ["polars/array_any_all", "polars/dtype-array"]
list_drop_nulls = ["polars/list_drop_nulls"]
list_sample = ["polars/list_sample"]
cutqcut = ["polars/cutqcut"]
rle = ["polars/rle"]
extract_groups = ["polars/extract_groups"]
ffi_plugin = ["polars-plan/ffi_plugin"]
cloud = ["polars/cloud", "polars/aws", "polars/gcp", "polars/azure", "polars/http"]
peaks = ["polars/peaks"]
hist = ["polars/hist"]
find_many = ["polars/find_many"]
new_streaming = ["polars-lazy/new_streaming"]
bitwise = ["polars/bitwise"]
approx_unique = ["polars/approx_unique"]
string_normalize = ["polars/string_normalize"]

dtype-i8 = []
dtype-i16 = []
dtype-u8 = []
dtype-u16 = []
dtype-i128 = []
dtype-array = []
object = ["polars/object"]

dtypes = [
  "dtype-array",
  "dtype-i16",
  "dtype-i8",
  "dtype-u16",
  "dtype-u8",
  "dtype-i128",
  "object",
]

operations = [
  "approx_unique",
  "array_any_all",
  "array_count",
  "bitwise",
  "is_in",
  "repeat_by",
  "trigonometry",
  "sign",
  "performant",
  "list_gather",
  "list_count",
  "list_sets",
  "list_any_all",
  "list_drop_nulls",
  "list_sample",
  "cutqcut",
  "rle",
  "extract_groups",
  "pivot",
  "extract_jsonpath",
  "asof_join",
  "cross_join",
  "pct_change",
  "index_of",
  "search_sorted",
  "merge_sorted",
  "top_k",
  "propagate_nans",
  "timezones",
  "peaks",
  "hist",
  "find_many",
  "string_normalize",
]

io = [
  "json",
  "parquet",
  "ipc",
  "ipc_streaming",
  "avro",
  "csv",
  "cloud",
  "clipboard",
]

optimizations = [
  "cse",
  "polars/fused",
  "streaming",
]

polars_cloud = ["polars/polars_cloud", "polars/ir_serde"]

# also includes simd
nightly = ["polars/nightly"]

pymethods = []

all = [
  "pymethods",
  "optimizations",
  "io",
  "operations",
  "dtypes",
  "meta",
  "decompress",
  "regex",
  "sql",
  "binary_encoding",
  "ffi_plugin",
  "polars_cloud",
  "new_streaming",
]

# we cannot conditionally activate simd
# https://github.com/rust-lang/cargo/issues/1197
# so we have an indirection and compile
# with --no-default-features --features=all for targets without simd
default = [
  "all",
]