[package]
edition = "2024"
name = "polars"
version = "0.55.2"
authors = ["Ritchie Vink <ritchie46@gmail.com>"]
build = "build.rs"
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "DataFrame library based on Apache Arrow"
homepage = "https://www.pola.rs/"
readme = "README.md"
keywords = [
"dataframe",
"query-engine",
"arrow",
]
license = "MIT"
repository = "https://github.com/pola-rs/polars"
resolver = "2"
[package.metadata.docs.rs]
features = ["docs-selection"]
rustdoc-args = [
"--cfg",
"docsrs",
]
[features]
abs = [
"polars-ops/abs",
"polars-lazy?/abs",
]
allow_unused = [
"polars-lazy?/allow_unused",
"polars-core/allow_unused",
"polars-time?/allow_unused",
]
approx_unique = [
"polars-lazy?/approx_unique",
"polars-ops/approx_unique",
"polars-core/approx_unique",
]
arg_where = ["polars-lazy?/arg_where"]
array_arithmetic = [
"polars-core/array_arithmetic",
"dtype-array",
]
array_count = [
"polars-ops/array_count",
"polars-lazy?/array_count",
"dtype-array",
]
array_to_struct = [
"polars-ops/array_to_struct",
"polars-lazy?/array_to_struct",
]
asof_join = [
"polars-lazy?/asof_join",
"polars-ops/asof_join",
]
async = ["polars-lazy?/async"]
avro = [
"polars-io",
"polars-io/avro",
]
avx512 = ["polars-core/avx512"]
aws = [
"async",
"cloud",
"polars-io/aws",
]
azure = [
"async",
"cloud",
"polars-io/azure",
]
bench = ["lazy"]
bigidx = [
"polars-core/bigidx",
"polars-lazy?/bigidx",
"polars-ops/big_idx",
"polars-plan?/bigidx",
"polars-utils/bigidx",
]
binary_encoding = [
"polars-ops/binary_encoding",
"polars-lazy?/binary_encoding",
"polars-sql?/binary_encoding",
]
bitwise = [
"polars-core/bitwise",
"polars-plan?/bitwise",
"polars-ops/bitwise",
"polars-lazy?/bitwise",
"polars-sql?/bitwise",
]
business = [
"polars-lazy?/business",
"polars-ops/business",
]
checked_arithmetic = ["polars-core/checked_arithmetic"]
chunked_ids = ["polars-ops?/chunked_ids"]
cloud = [
"polars-lazy?/cloud",
"polars-io/cloud",
]
coalesce = ["polars-lazy?/coalesce"]
concat_str = ["polars-lazy?/concat_str"]
cov = ["polars-lazy/cov"]
cross_join = [
"polars-lazy?/cross_join",
"polars-ops/cross_join",
]
cse = ["polars-lazy?/cse"]
csv = [
"polars-io",
"polars-io/csv",
"polars-lazy?/csv",
"polars-sql?/csv",
"streaming",
]
cum_agg = [
"polars-ops/cum_agg",
"polars-lazy?/cum_agg",
]
cumulative_eval = ["polars-lazy?/cumulative_eval"]
cutqcut = ["polars-lazy?/cutqcut"]
dataframe_arithmetic = ["polars-core/dataframe_arithmetic"]
decompress = ["polars-io/decompress"]
default = [
"docs",
"zip_with",
"csv",
"polars-parquet",
"temporal",
"fmt",
"dtype-slim",
]
describe = ["polars-core/describe"]
diagonal_concat = [
"polars-core/diagonal_concat",
"polars-lazy?/diagonal_concat",
"polars-sql?/diagonal_concat",
]
diff = [
"polars-ops/diff",
"polars-lazy?/diff",
]
docs = ["polars-core/docs"]
docs-selection = [
"csv",
"json",
"parquet",
"ipc",
"ipc_streaming",
"array_arithmetic",
"binary_encoding",
"moment",
"bitwise",
"dtype-full",
"is_in",
"rows",
"docs",
"strings",
"object",
"lazy",
"temporal",
"random",
"zip_with",
"round_series",
"checked_arithmetic",
"ndarray",
"repeat_by",
"is_between",
"is_close",
"is_first_distinct",
"is_last_distinct",
"asof_join",
"cross_join",
"semi_anti_join",
"iejoin",
"concat_str",
"string_reverse",
"string_to_integer",
"decompress",
"mode",
"take_opt_iter",
"cum_agg",
"rolling_window",
"rolling_window_by",
"interpolate",
"interpolate_by",
"diff",
"rank",
"range",
"diagonal_concat",
"abs",
"dot_diagram",
"string_encoding",
"product",
"to_dummies",
"describe",
"list_eval",
"cumulative_eval",
"timezones",
"arg_where",
"propagate_nans",
"coalesce",
"dynamic_group_by",
"extract_groups",
"replace",
"approx_unique",
"unique_counts",
"polars_cloud_client",
"serde",
"cloud",
"async",
]
dot_diagram = ["polars-lazy?/dot_diagram"]
dot_product = ["polars-core/dot_product"]
dtype-array = [
"polars-core/dtype-array",
"polars-lazy?/dtype-array",
"polars-ops/dtype-array",
"polars-plan?/dtype-array",
]
dtype-categorical = [
"polars-core/dtype-categorical",
"polars-io/dtype-categorical",
"polars-lazy?/dtype-categorical",
"polars-ops/dtype-categorical",
]
dtype-date = [
"polars-core/dtype-date",
"polars-io/dtype-date",
"polars-lazy?/dtype-date",
"polars-time?/dtype-date",
"polars-ops/dtype-date",
]
dtype-datetime = [
"polars-core/dtype-datetime",
"polars-io/dtype-datetime",
"polars-lazy?/dtype-datetime",
"polars-time?/dtype-datetime",
"polars-ops/dtype-datetime",
]
dtype-decimal = [
"polars-core/dtype-decimal",
"polars-io/dtype-decimal",
"polars-lazy?/dtype-decimal",
"polars-sql?/dtype-decimal",
"polars-ops/dtype-decimal",
]
dtype-duration = [
"polars-core/dtype-duration",
"polars-io/dtype-duration",
"polars-lazy?/dtype-duration",
"polars-time?/dtype-duration",
"polars-ops/dtype-duration",
]
dtype-extension = [
"polars-core/dtype-extension",
"polars-expr/dtype-extension",
"polars-lazy?/dtype-extension",
"polars-ops/dtype-extension",
"polars-plan/dtype-extension",
]
dtype-f16 = [
"polars-core/dtype-f16",
"polars-io/dtype-f16",
"polars-lazy?/dtype-f16",
"polars-ops/dtype-f16",
"polars-time?/dtype-f16",
]
dtype-full = [
"dtype-date",
"dtype-datetime",
"dtype-duration",
"dtype-time",
"dtype-array",
"dtype-i8",
"dtype-i16",
"dtype-i128",
"dtype-decimal",
"dtype-u8",
"dtype-u16",
"dtype-u128",
"dtype-f16",
"dtype-categorical",
"dtype-struct",
]
dtype-i128 = [
"polars-core/dtype-i128",
"polars-io/dtype-i128",
"polars-lazy?/dtype-i128",
"polars-ops/dtype-i128",
"polars-time?/dtype-i128",
]
dtype-i16 = [
"polars-core/dtype-i16",
"polars-io/dtype-i16",
"polars-lazy?/dtype-i16",
"polars-ops/dtype-i16",
"polars-time?/dtype-i16",
]
dtype-i8 = [
"polars-core/dtype-i8",
"polars-io/dtype-i8",
"polars-lazy?/dtype-i8",
"polars-ops/dtype-i8",
"polars-time?/dtype-i8",
]
dtype-slim = [
"dtype-date",
"dtype-datetime",
"dtype-duration",
]
dtype-struct = [
"polars-core/dtype-struct",
"polars-io/dtype-struct",
"polars-lazy?/dtype-struct",
"polars-ops/dtype-struct",
]
dtype-time = [
"polars-core/dtype-time",
"polars-io/dtype-time",
"polars-lazy?/dtype-time",
"polars-time?/dtype-time",
"polars-ops/dtype-time",
]
dtype-u128 = [
"polars-core/dtype-u128",
"polars-io/dtype-u128",
"polars-lazy?/dtype-u128",
"polars-ops/dtype-u128",
"polars-time?/dtype-u128",
]
dtype-u16 = [
"polars-core/dtype-u16",
"polars-io/dtype-u16",
"polars-lazy?/dtype-u16",
"polars-ops/dtype-u16",
"polars-time?/dtype-u16",
]
dtype-u8 = [
"polars-core/dtype-u8",
"polars-io/dtype-u8",
"polars-lazy?/dtype-u8",
"polars-ops/dtype-u8",
"polars-time?/dtype-u8",
]
dynamic_group_by = [
"polars-core/dynamic_group_by",
"polars-lazy?/dynamic_group_by",
"polars-sql?/dynamic_group_by",
]
ewma = [
"polars-ops/ewma",
"polars-lazy?/ewma",
]
ewma_by = [
"polars-ops/ewma_by",
"polars-lazy?/ewma_by",
]
extract_groups = ["polars-lazy?/extract_groups"]
extract_jsonpath = [
"polars-core/strings",
"polars-ops/extract_jsonpath",
"polars-ops/strings",
"polars-lazy?/extract_jsonpath",
]
find_many = [
"polars-expr/find_many",
"polars-lazy?/find_many",
]
fmt = ["polars-core/fmt"]
fmt_no_tty = ["polars-core/fmt_no_tty"]
full = [
"docs-selection",
"performant",
"fmt",
]
fused = [
"polars-ops/fused",
"polars-lazy?/fused",
]
gcp = [
"async",
"cloud",
"polars-io/gcp",
]
hist = [
"polars-ops/hist",
"polars-lazy/hist",
]
http = [
"async",
"cloud",
"polars-io/http",
]
iejoin = [
"polars-lazy?/iejoin",
"polars-ops/iejoin",
]
include-polars-plan = ["dep:polars-plan"]
index_of = ["polars-lazy?/index_of"]
interpolate = [
"polars-ops/interpolate",
"polars-lazy?/interpolate",
]
interpolate_by = [
"polars-ops/interpolate_by",
"polars-lazy?/interpolate_by",
]
ipc = [
"polars-io",
"polars-io/ipc",
"polars-lazy?/ipc",
"polars-sql?/ipc",
"streaming",
]
ipc_streaming = [
"polars-io",
"polars-io/ipc_streaming",
"polars-lazy?/ipc",
]
ir_serde = ["polars-plan/ir_serde"]
is_between = [
"polars-lazy?/is_between",
"polars-ops/is_between",
]
is_close = ["polars-lazy?/is_close"]
is_first_distinct = [
"polars-lazy?/is_first_distinct",
"polars-ops/is_first_distinct",
]
is_in = ["polars-lazy?/is_in"]
is_last_distinct = [
"polars-lazy?/is_last_distinct",
"polars-ops/is_last_distinct",
]
is_unique = [
"polars-lazy?/is_unique",
"polars-ops/is_unique",
]
json = [
"polars-io",
"polars-io/json",
"polars-lazy?/json",
"polars-sql?/json",
"dtype-struct",
"streaming",
]
lazy = [
"polars-core/lazy",
"polars-lazy",
]
list_arithmetic = ["polars-core/list_arithmetic"]
list_count = [
"polars-ops/list_count",
"polars-lazy?/list_count",
]
list_drop_nulls = ["polars-lazy?/list_drop_nulls"]
list_eval = [
"polars-lazy?/list_eval",
"polars-sql?/list_eval",
]
list_filter = [
"polars-ops/list_filter",
"polars-lazy?/list_filter",
]
list_gather = [
"polars-ops/list_gather",
"polars-lazy?/list_gather",
]
list_sample = ["polars-lazy?/list_sample"]
list_sets = ["polars-lazy?/list_sets"]
list_to_struct = [
"polars-ops/list_to_struct",
"polars-lazy?/list_to_struct",
]
log = [
"polars-ops/log",
"polars-lazy?/log",
]
merge_sorted = ["polars-lazy?/merge_sorted"]
meta = ["polars-lazy?/meta"]
mode = [
"polars-ops/mode",
"polars-lazy?/mode",
]
moment = [
"polars-ops/moment",
"polars-lazy?/moment",
]
month_end = ["polars-lazy?/month_end"]
month_start = ["polars-lazy?/month_start"]
ndarray = ["polars-core/ndarray"]
nightly = [
"polars-core/nightly",
"polars-ops?/nightly",
"simd",
"polars-lazy?/nightly",
"polars-sql?/nightly",
"polars-expr/nightly",
]
object = [
"polars-core/object",
"polars-lazy?/object",
"polars-io/object",
"polars-expr/object",
]
offset_by = ["polars-lazy?/offset_by"]
parquet = [
"polars-parquet",
"polars-io",
"polars-lazy?/parquet",
"polars-io/parquet",
"polars-sql?/parquet",
"streaming",
]
partition_by = ["polars-core/partition_by"]
pct_change = [
"polars-ops/pct_change",
"polars-lazy?/pct_change",
]
peaks = ["polars-lazy/peaks"]
performant = [
"polars-core/performant",
"chunked_ids",
"dtype-u8",
"dtype-u16",
"dtype-f16",
"dtype-struct",
"cse",
"polars-ops/performant",
"fused",
]
pivot = [
"polars-lazy?/pivot",
"polars-ops/pivot",
"dtype-struct",
"rows",
]
polars_cloud_client = ["polars-lazy?/polars_cloud_client"]
polars_cloud_server = [
"polars-lazy?/polars_cloud_server",
"ir_serde",
]
product = ["polars-core/product"]
propagate_nans = ["polars-lazy?/propagate_nans"]
random = [
"polars-core/random",
"polars-lazy?/random",
"polars-ops/random",
]
range = ["polars-lazy?/range"]
rank = [
"polars-lazy?/rank",
"polars-ops/rank",
"polars-sql?/rank",
]
regex = ["polars-lazy?/regex"]
reinterpret = [
"polars-core/reinterpret",
"polars-lazy?/reinterpret",
"polars-ops/reinterpret",
]
repeat_by = [
"polars-ops/repeat_by",
"polars-lazy?/repeat_by",
]
replace = [
"polars-ops/replace",
"polars-lazy?/replace",
]
rle = ["polars-lazy?/rle"]
rolling_window = [
"polars-core/rolling_window",
"polars-lazy?/rolling_window",
]
rolling_window_by = [
"polars-core/rolling_window_by",
"polars-lazy?/rolling_window_by",
"polars-time/rolling_window_by",
]
round_series = [
"polars-ops/round_series",
"polars-lazy?/round_series",
]
row_hash = [
"polars-core/row_hash",
"polars-lazy?/row_hash",
]
rows = ["polars-core/rows"]
scan_lines = [
"polars-io",
"polars-io/scan_lines",
"polars-lazy?/scan_lines",
"streaming",
]
search_sorted = ["polars-lazy?/search_sorted"]
semi_anti_join = [
"polars-lazy?/semi_anti_join",
"polars-ops/semi_anti_join",
"polars-sql?/semi_anti_join",
]
serde = [
"polars-buffer/serde",
"polars-core/serde",
"polars-utils/serde",
]
serde-lazy = [
"polars-core/serde-lazy",
"polars-lazy?/serde",
"polars-time?/serde",
"polars-io?/serde",
"polars-ops?/serde",
"polars-utils/serde",
]
sign = ["polars-lazy?/sign"]
simd = [
"polars-core/simd",
"polars-compute/simd",
"polars-io/simd",
"polars-ops?/simd",
]
sql = ["polars-sql"]
streaming = [
"polars-lazy?/streaming",
"dtype-categorical",
]
string_encoding = [
"polars-ops/string_encoding",
"polars-lazy?/string_encoding",
"polars-core/strings",
]
string_normalize = [
"polars-lazy?/string_normalize",
"polars-ops/string_normalize",
]
string_pad = [
"polars-lazy?/string_pad",
"polars-ops/string_pad",
]
string_reverse = [
"polars-lazy?/string_reverse",
"polars-ops/string_reverse",
]
string_to_integer = [
"polars-lazy?/string_to_integer",
"polars-ops/string_to_integer",
]
strings = [
"polars-core/strings",
"polars-lazy?/strings",
"polars-ops/strings",
]
take_opt_iter = ["polars-core/take_opt_iter"]
temporal = [
"polars-core/temporal",
"polars-lazy?/temporal",
"polars-io/temporal",
"polars-time",
]
test = [
"lazy",
"rolling_window",
"rank",
"round_series",
"csv",
"dtype-categorical",
"cum_agg",
"fmt",
"diff",
"abs",
"parquet",
"ipc",
"ipc_streaming",
"json",
]
timezones = [
"polars-core/timezones",
"polars-lazy?/timezones",
"polars-io/timezones",
"polars-ops/timezones",
"polars-sql?/timezones",
]
to_dummies = ["polars-ops/to_dummies"]
top_k = ["polars-lazy?/top_k"]
trigonometry = ["polars-lazy?/trigonometry"]
true_div = ["polars-lazy?/true_div"]
unique_counts = [
"polars-ops/unique_counts",
"polars-lazy?/unique_counts",
]
zip_with = ["polars-core/zip_with"]
[lib]
name = "polars"
path = "src/lib.rs"
[[test]]
name = "it"
path = "tests/it/main.rs"
[dependencies.arrow]
version = "0.55.2"
features = [
"compute_aggregate",
"compute_arithmetics",
"compute_bitwise",
"compute_comparison",
]
default-features = false
package = "polars-arrow"
[dependencies.polars-buffer]
version = "0.55.2"
default-features = false
[dependencies.polars-compute]
version = "0.55.2"
default-features = false
[dependencies.polars-core]
version = "0.55.2"
features = ["algorithm_group_by"]
default-features = false
[dependencies.polars-error]
version = "0.55.2"
default-features = false
[dependencies.polars-expr]
version = "0.55.2"
optional = true
default-features = false
[dependencies.polars-io]
version = "0.55.2"
optional = true
default-features = false
[dependencies.polars-lazy]
version = "0.55.2"
optional = true
default-features = false
[dependencies.polars-ops]
version = "0.55.2"
optional = true
default-features = false
[dependencies.polars-parquet]
version = "0.55.2"
optional = true
default-features = false
[dependencies.polars-plan]
version = "0.55.2"
optional = true
default-features = false
[dependencies.polars-sql]
version = "0.55.2"
optional = true
default-features = false
[dependencies.polars-time]
version = "0.55.2"
optional = true
default-features = false
[dependencies.polars-utils]
version = "0.55.2"
default-features = false
[dev-dependencies.apache-avro]
version = "0.21"
features = ["snappy"]
[dev-dependencies.arrow]
version = "0.55.2"
features = [
"compute_aggregate",
"compute_arithmetics",
"compute_bitwise",
"compute_comparison",
]
default-features = false
package = "polars-arrow"
[dev-dependencies.avro-schema]
version = "0.3"
features = ["async"]
[dev-dependencies.chrono]
version = "0.4.42"
features = ["std"]
default-features = false
[dev-dependencies.either]
version = "1.14"
[dev-dependencies.ethnum]
version = "1"
[dev-dependencies.futures]
version = "0.3.25"
[dev-dependencies.object_store]
version = "0.13.1"
features = ["fs"]
default-features = false
[dev-dependencies.proptest]
version = "1.6"
features = ["std"]
default-features = false
[dev-dependencies.rand]
version = "0.10"
[dev-dependencies.tokio]
version = "1.44"
features = [
"macros",
"rt",
"fs",
"io-util",
]
default-features = false
[build-dependencies.version_check]
version = "0.9.4"
[target.'cfg(target_family = "wasm")'.dependencies.getrandom]
version = "0.4"
features = ["wasm_js"]
[target.'cfg(target_family = "wasm")'.dependencies.old_getrandom]
version = "0.2"
features = ["js"]
package = "getrandom"
[lints.clippy]
collapsible_if = "allow"
question_mark = "allow"