Cargo Features

[dependencies]
polars-core = { version = "0.44.2", default-features = false, features = ["simd", "nightly", "avx512", "temporal", "random", "algorithm_group_by", "docs", "performant", "strings", "object", "fmt", "fmt_no_tty", "rows", "approx_unique", "bitwise", "zip_with", "round_series", "checked_arithmetic", "is_first_distinct", "is_last_distinct", "row_hash", "reinterpret", "take_opt_iter", "group_by_list", "rolling_window", "rolling_window_by", "diagonal_concat", "product", "unique_counts", "partition_by", "describe", "timezones", "dynamic_group_by", "list_arithmetic", "dtype-date", "dtype-datetime", "dtype-time", "dtype-array", "dtype-i16", "dtype-decimal", "dtype-u16", "dtype-categorical", "dtype-struct", "bigidx", "python", "serde", "serde-lazy", "docs-selection"] }
default = algorithm_group_by

The algorithm_group_by feature is set by default whenever polars-core is added without default-features = false somewhere in the dependency tree.

simd nightly?

Enables simd of polars-arrow and polars-compute

nightly = simd

Enables nightly of polars-arrow, hashbrown, hashbrown ^0.14.5, and polars-utils

hashbrown:

Enables use of nightly features. This is only guaranteed to work on the latest version of nightly Rust.

avx512
temporal docs-selection? dtype-date? dtype-datetime? dtype-duration? dtype-time? timezones? = chrono, regex

Enables regex of polars-error

Affects chunked_array::temporal

random docs-selection? = rand, rand_distr

Affects polars-core::random

algorithm_group_by default bitwise? docs-selection? object? partition_by?

Affects frame::group_by

lazy docs docs-selection?
performant = reinterpret

~40% faster collect, needed until trustedlength iter stabilizes
more fast paths, slower compilation

Enables performant of polars-arrow

Affects owned::coerce_lhs_rhs_owned

strings docs-selection? = regex

extra utilities for StringChunked

Enables strings of polars-arrow, regex of polars-error

object docs-selection? = algorithm_group_by, serde_json

support for ObjectChunked<T> (downcastable Series of any type)

Affects chunked_array::object, any_value::OwnedObject, datatypes::ObjectType, datatypes::ObjectChunked, series_trait::SeriesTrait.get_object, series_trait::SeriesTrait.get_object_chunked_unchecked, frame::row

fmt

Enables tty of comfy-table

fmt_no_tty = comfy-table
rows docs-selection?

opt-in features
create from row values
and include pivot operation

Affects frame::row

approx_unique

operations

Enables approx_unique of polars-compute

Affects ops::ChunkApproxNUnique, series_trait::SeriesTrait.approx_n_unique

bitwise = algorithm_group_by

Affects ops::ChunkBitwiseReduce, group_by::GroupByBitwiseMethod

zip_with docs-selection?

Affects ops::zip

round_series
checked_arithmetic docs-selection?

Affects borrowed::checked, series_trait::SeriesTrait.checked_div

is_first_distinct docs-selection?

Affects ops::IsFirstDistinct

is_last_distinct docs-selection?

Affects ops::IsLastDistinct

dot_product row_hash docs-selection?
reinterpret performant?

Affects ops::Reinterpret

take_opt_iter
group_by_list

allow group_by operation on list type

rolling_window docs-selection?

rolling window functions

Affects ops::ChunkRollApply, series_trait::SeriesTrait.rolling_map

rolling_window_by docs-selection?
diagonal_concat docs-selection?

Affects functions::concat_df_diagonal

dataframe_arithmetic product docs-selection?
unique_counts
partition_by docs-selection? = algorithm_group_by
describe docs-selection?
timezones = chrono, chrono-tz, temporal

Enables chrono-tz and timezones of polars-arrow

Affects temporal::validate_time_zone, temporal::parse_time_zone, temporal::parse_fixed_offset

dynamic_group_by = dtype-date, dtype-datetime
list_arithmetic docs-selection?
dtype-date dynamic_group_by? = temporal

opt-in datatypes for Series

Affects chunked_array::temporal

dtype-datetime dynamic_group_by? = temporal

Affects fmt::PlTzAware, chunked_array::temporal

dtype-duration dtype-time = temporal
dtype-array

Enables dtype-array of polars-arrow and polars-compute

Affects builder::fixed_size_list, iterator::FixedSizeListIterNoNull, datatypes::FixedSizeListType, datatypes::ArrayChunked

dtype-i8 dtype-i16
dtype-decimal docs-selection?

Enables dtype-decimal of polars-arrow

Affects datatypes::Int128Type, datatypes::Int128Chunked, fmt::get_trim_decimal_zeros, fmt::set_trim_decimal_zeros, fmt::fmt_decimal

dtype-u8 dtype-u16
dtype-categorical docs-selection?

Affects logical::categorical, logical::enum_, dtype::create_enum_dtype

dtype-struct

Affects datatypes::StructType

bigidx

scale to terabytes?

Enables bigidx of polars-arrow and polars-utils

Affects aliases::IdxCa, aliases::IDX_DTYPE, aliases::IdxType

python
serde serde-lazy?

Enables serde of bitflags, polars-schema, and polars-utils and serde

activate if you want serde support for Series and DataFrames

Affects polars-core::serde

serde-lazy = serde

Enables indexmap, serde of polars-arrow and chrono

docs-selection = algorithm_group_by, checked_arithmetic, dataframe_arithmetic, describe, diagonal_concat, docs, dot_product, dtype-categorical, dtype-decimal, is_first_distinct, is_last_distinct, lazy, list_arithmetic, ndarray, object, partition_by, product, random, rolling_window, rolling_window_by, row_hash, rows, strings, temporal, zip_with

Features from optional dependencies

In crates that don't use the dep: syntax, optional dependencies automatically become Cargo features. These features may have been created by mistake, and this functionality may be removed in the future.

chrono serde-lazy? temporal? timezones?
chrono-tz timezones?

Enables chrono-tz ^0.8.1

comfy-table fmt? fmt_no_tty?
ndarray docs-selection?

Enables ndarray ^0.15

rand random?
rand_distr random?
regex strings? temporal?
serde_json object?