polars 0.23.1

DataFrame Library based on Apache Arrow
Documentation
[package]
name = "polars"
version = "0.23.1"
authors = ["ritchie46 <ritchie46@gmail.com>"]
edition = "2021"
keywords = ["dataframe", "query-engine", "arrow"]
license = "MIT"
readme = "../README.md"
repository = "https://github.com/pola-rs/polars"
description = "DataFrame Library based on Apache Arrow"

[features]
rows = ["polars-core/rows"]
simd = ["polars-core/simd"]
avx512 = ["polars-core/avx512"]
docs = ["polars-core/docs"]
temporal = ["polars-core/temporal", "polars-lazy/temporal", "polars-io/temporal", "polars-time"]
random = ["polars-core/random", "polars-lazy/random"]
default = [
  "docs",
  "zip_with",
  "csv-file",
  "temporal",
  "fmt",
  "dtype-slim",
]
ndarray = ["polars-core/ndarray"]
# serde support for dataframes and series
serde = ["polars-core/serde"]
serde-lazy = ["polars-core/serde-lazy", "polars-lazy/serde", "polars-time/serde", "polars-io/serde"]
parquet = ["polars-io", "polars-core/parquet", "polars-lazy/parquet", "polars-io/parquet"]
lazy = ["polars-core/lazy", "polars-lazy", "polars-lazy/compile"]
# commented out until UB is fixed
# parallel = ["polars-core/parallel"]

# extra utilities for Utf8Chunked
strings = ["polars-core/strings", "polars-lazy/strings", "polars-ops/strings"]

# support for ObjectChunked<T> (downcastable Series of any type)
object = ["polars-core/object", "polars-lazy/object"]

# support for arrows json parsing
json = ["polars-io", "polars-io/json"]

# support for arrows ipc file parsing
ipc = ["polars-io", "polars-io/ipc", "polars-lazy/ipc"]

# support for arrows streaming ipc file parsing
ipc_streaming = ["polars-io", "polars-io/ipc_streaming", "polars-lazy/ipc"]

# support for apache avro file parsing
avro = ["polars-io", "polars-io/avro"]

# support for arrows csv file parsing
csv-file = ["polars-io", "polars-io/csv-file", "polars-lazy/csv-file"]

# slower builds
performant = ["polars-core/performant", "chunked_ids"]

# Dataframe formatting.
fmt = ["polars-core/fmt"]

# sort by multiple columns
sort_multiple = ["polars-core/sort_multiple"]

# extra operations
is_in = ["polars-core/is_in", "polars-lazy/is_in"]
zip_with = ["polars-core/zip_with"]
round_series = ["polars-core/round_series", "polars-lazy/round_series"]
checked_arithmetic = ["polars-core/checked_arithmetic"]
repeat_by = ["polars-core/repeat_by", "polars-lazy/repeat_by"]
is_first = ["polars-core/is_first", "polars-lazy/is_first"]
is_last = ["polars-core/is_last"]
asof_join = ["polars-core/asof_join", "polars-lazy/asof_join"]
cross_join = ["polars-core/cross_join", "polars-lazy/cross_join"]
dot_product = ["polars-core/dot_product", "polars-lazy/dot_product"]
concat_str = ["polars-core/concat_str", "polars-lazy/concat_str"]
row_hash = ["polars-core/row_hash", "polars-lazy/row_hash"]
reinterpret = ["polars-core/reinterpret"]
decompress = ["polars-io/decompress"]
decompress-fast = ["polars-io/decompress-fast"]
mode = ["polars-core/mode", "polars-lazy/mode"]
take_opt_iter = ["polars-core/take_opt_iter"]
extract_jsonpath = ["polars-core/extract_jsonpath", "polars-core/strings"]
string_encoding = ["polars-core/string_encoding", "polars-core/strings"]
groupby_list = ["polars-core/groupby_list"]
lazy_regex = ["polars-lazy/regex"]
cum_agg = ["polars-core/cum_agg", "polars-core/cum_agg"]
rolling_window = ["polars-core/rolling_window", "polars-lazy/rolling_window", "polars-time/rolling_window"]
interpolate = ["polars-core/interpolate", "polars-lazy/interpolate"]
list = ["polars-lazy/list", "polars-ops/list"]
rank = ["polars-core/rank", "polars-lazy/rank"]
diff = ["polars-core/diff", "polars-lazy/diff", "polars-ops/diff"]
pct_change = ["polars-core/pct_change", "polars-lazy/pct_change"]
moment = ["polars-core/moment", "polars-lazy/moment", "polars-ops/moment"]
arange = ["polars-lazy/arange"]
true_div = ["polars-lazy/true_div"]
diagonal_concat = ["polars-core/diagonal_concat"]
horizontal_concat = ["polars-core/horizontal_concat"]
abs = ["polars-core/abs", "polars-lazy/abs"]
dynamic_groupby = ["polars-core/dynamic_groupby", "polars-lazy/dynamic_groupby"]
ewma = ["polars-core/ewma", "polars-lazy/ewma"]
dot_diagram = ["polars-lazy/dot_diagram"]
dataframe_arithmetic = ["polars-core/dataframe_arithmetic"]
product = ["polars-core/product"]
unique_counts = ["polars-core/unique_counts", "polars-lazy/unique_counts"]
log = ["polars-ops/log", "polars-lazy/log"]
partition_by = ["polars-core/partition_by"]
semi_anti_join = ["polars-core/semi_anti_join"]
list_eval = ["polars-lazy/list_eval"]
cumulative_eval = ["polars-lazy/cumulative_eval"]
chunked_ids = ["polars-core/chunked_ids", "polars-lazy/chunked_ids"]
to_dummies = ["polars-ops/to_dummies"]
bigidx = ["polars-core/bigidx", "polars-lazy/bigidx"]
list_to_struct = ["polars-ops/list_to_struct", "polars-lazy/list_to_struct"]
describe = ["polars-core/describe"]
timezones = ["polars-core/timezones"]
string_justify = ["polars-lazy/string_justify", "polars-ops/string_justify"]
arg_where = ["polars-lazy/arg_where"]
date_offset = ["polars-lazy/date_offset"]
trigonometry = ["polars-lazy/trigonometry"]
sign = ["polars-lazy/sign"]

test = [
  "lazy",
  "private",
  "rolling_window",
  "rank",
  "list",
  "round_series",
  "csv-file",
  "dtype-categorical",
  "cum_agg",
  "fmt",
  "diff",
  "abs",
  "parquet",
  "ipc",
  "ipc_streaming",
]

# don't use this
private = ["polars-lazy/private", "polars-core/private", "polars-time/private"]

# all opt-in datatypes
dtype-full = [
  "dtype-date",
  "dtype-datetime",
  "dtype-duration",
  "dtype-time",
  "dtype-i8",
  "dtype-i16",
  "dtype-u8",
  "dtype-u16",
  "dtype-categorical",
  "dtype-struct",
]

# sensible minimal set of opt-in datatypes
dtype-slim = [
  "dtype-date",
  "dtype-datetime",
  "dtype-duration",
]

# opt-in datatypes for Series
dtype-date = [
  "polars-core/dtype-date",
  "polars-lazy/dtype-date",
  "polars-io/dtype-date",
  "polars-time/dtype-date",
  "polars-core/dtype-date",
]
dtype-datetime = [
  "polars-core/dtype-datetime",
  "polars-lazy/dtype-datetime",
  "polars-io/dtype-datetime",
  "polars-time/dtype-datetime",
  "polars-ops/dtype-datetime",
]
dtype-duration = [
  "polars-core/dtype-duration",
  "polars-lazy/dtype-duration",
  "polars-time/dtype-duration",
  "polars-core/dtype-duration",
]
dtype-time = ["polars-core/dtype-time", "polars-io/dtype-time", "polars-time/dtype-time", "polars-ops/dtype-time"]
dtype-i8 = ["polars-core/dtype-i8", "polars-lazy/dtype-i8"]
dtype-i16 = ["polars-core/dtype-i16", "polars-lazy/dtype-i16"]
dtype-u8 = ["polars-core/dtype-u8", "polars-lazy/dtype-u8", "polars-ops/dtype-u8"]
dtype-u16 = ["polars-core/dtype-u16", "polars-lazy/dtype-u16"]
dtype-categorical = [
  "polars-core/dtype-categorical",
  "polars-io/dtype-categorical",
  "polars-lazy/dtype-categorical",
  "polars-ops/dtype-categorical",
]
dtype-struct = ["polars-core/dtype-struct", "polars-lazy/dtype-struct", "polars-ops/dtype-struct"]

docs-selection = [
  "csv-file",
  "json",
  "parquet",
  "ipc",
  "ipc_streaming",
  "dtype-full",
  "is_in",
  "sort_multiple",
  "rows",
  "docs",
  "strings",
  "object",
  "lazy",
  "temporal",
  "random",
  "zip_with",
  "round_series",
  "checked_arithmetic",
  "ndarray",
  "repeat_by",
  "is_first",
  "is_last",
  "asof_join",
  "cross_join",
  "concat_str",
  "decompress",
  "mode",
  "take_opt_iter",
  "cum_agg",
  "rolling_window",
  "interpolate",
  "diff",
  "rank",
  "list",
  "arange",
  "diagonal_concat",
  "horizontal_concat",
  "abs",
  "dot_diagram",
  "string_encoding",
  "product",
  "to_dummies",
  "describe",
  "list_eval",
  "cumulative_eval",
  "timezones",
  "arg_where",
]

bench = [
  "lazy",
]

[dependencies]
polars-core = { version = "0.23.1", path = "./polars-core", features = ["docs", "private"], default-features = false }
polars-io = { version = "0.23.1", path = "./polars-io", features = ["private"], default-features = false, optional = true }
polars-lazy = { version = "0.23.1", path = "./polars-lazy", features = ["private"], default-features = false, optional = true }
polars-ops = { version = "0.23.1", path = "./polars-ops" }
polars-time = { version = "0.23.1", path = "./polars-time", default-features = false, optional = true }

[dev-dependencies]
ahash = "0.7"
criterion = "0.3"
rand = "0.8"

# see: https://bheisler.github.io/criterion.rs/book/faq.html
[lib]
bench = false

[[bench]]
name = "csv"
harness = false

[[bench]]
name = "groupby"
harness = false

[[bench]]
name = "collect"
harness = false

[[bench]]
name = "take"
harness = false

[[bench]]
name = "sort"
harness = false

[package.metadata.docs.rs]
# all-features = true
features = ["docs-selection"]
# defines the configuration attribute `docsrs`
rustdoc-args = ["--cfg", "docsrs"]