polars-core 0.22.1

Core of the Polars DataFrame library
[package]
name = "polars-core"
version = "0.22.1"
authors = ["ritchie46 <ritchie46@gmail.com>"]
edition = "2021"
license = "MIT"
repository = "https://github.com/pola-rs/polars"
description = "Core of the Polars DataFrame library"

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[features]
simd = ["arrow/simd"]
avx512 = []
docs = []
temporal = ["regex", "chrono"]
random = ["rand", "rand_distr"]
default = ["docs", "temporal", "private"]
lazy = ["sort_multiple"]

# ~40% faster collect, needed until trustedlength iter stabilizes
# more fast paths
performant = []

# extra utilities for Utf8Chunked
strings = ["regex", "polars-arrow/strings", "arrow/compute_substring"]
string_encoding = ["base64", "hex"]
# support for ObjectChunked<T> (downcastable Series of any type)
object = ["serde_json"]

fmt = ["comfy-table"]

# opt-in features
# sort by multiple columns
sort_multiple = []
# create from row values
# and include pivot operation
rows = []
# dont use this
private = []

# operations
is_in = []
zip_with = []
round_series = []
checked_arithmetic = []
repeat_by = []
is_first = []
is_last = []
asof_join = []
cross_join = []
dot_product = []
concat_str = []
row_hash = []
reinterpret = []
take_opt_iter = []
mode = []
extract_jsonpath = ["serde_json", "jsonpath_lib"]
# allow groupby operation on list type
groupby_list = []
# cumsum, cummin, etc.
cum_agg = []
# rolling window functions
rolling_window = []
interpolate = []
rank = []
diff = []
pct_change = ["diff"]
moment = []
diagonal_concat = []
horizontal_concat = []
abs = []
ewma = []
dataframe_arithmetic = []
product = []
unique_counts = []
log = []
partition_by = []
semi_anti_join = []
chunked_ids = []
describe = []
timezones = ["chrono-tz", "arrow/chrono-tz"]

dynamic_groupby = ["dtype-datetime", "dtype-date"]

# opt-in datatypes for Series
dtype-date = ["temporal"]
dtype-datetime = ["temporal"]
dtype-duration = ["temporal"]
dtype-time = ["temporal"]
dtype-i8 = []
dtype-i16 = []
dtype-u8 = []
dtype-u16 = []
dtype-categorical = []
dtype-struct = []

parquet = ["arrow/io_parquet"]

# scale to terrabytes?
bigidx = ["polars-arrow/bigidx"]

serde-lazy = ["serde", "polars-arrow/serde", "indexmap/serde"]

docs-selection = [
  "ndarray",
  "is_in",
  "sort_multiple",
  "rows",
  "docs",
  "strings",
  "object",
  "lazy",
  "temporal",
  "random",
  "zip_with",
  "round_series",
  "checked_arithmetic",
  "repeat_by",
  "is_first",
  "is_last",
  "asof_join",
  "cross_join",
  "dot_product",
  "concat_str",
  "row_hash",
  "mode",
  "extract_jsonpath",
  "cum_agg",
  "rolling_window",
  "interpolate",
  "diff",
  "moment",
  "dtype-categorical",
  "rank",
  "diagonal_concat",
  "horizontal_concat",
  "abs",
  "dataframe_arithmetic",
  "string_encoding",
  "product",
  "unique_counts",
  "log",
  "describe",
  "chunked_ids",
  "semi_anti_join",
  "partition_by",
]

[dependencies]
ahash = "0.7"
anyhow = "1.0"
base64 = { version = "0.13", optional = true }
chrono = { version = "0.4", optional = true }
chrono-tz = { version = "0.6", optional = true }
comfy-table = { version = "5.0", optional = true }
hashbrown = { version = "0.12", features = ["rayon"] }
hex = { version = "0.4", optional = true }
indexmap = { version = "1", features = ["std"] }
jsonpath_lib = { version = "0.3.0", optional = true, git = "https://github.com/ritchie46/jsonpath", branch = "improve_compiled" }
ndarray = { version = "0.15", optional = true, default_features = false }
num = "^0.4"
once_cell = "1"
polars-arrow = { version = "0.22.0", path = "../polars-arrow", features = ["compute"] }
polars-utils = { version = "0.22.0", path = "../polars-utils" }
rand = { version = "0.8", optional = true, features = ["small_rng", "std"] }
rand_distr = { version = "0.4", optional = true }
rayon = "1.5"
regex = { version = "1.5", optional = true }
# activate if you want serde support for Series and DataFrames
serde = { version = "1", features = ["derive"], optional = true }
serde_json = { version = "1", optional = true }
thiserror = "^1.0"

[dependencies.arrow]
package = "arrow2"
# git = "https://github.com/jorgecarleitao/arrow2"
# git = "https://github.com/ritchie46/arrow2"
# rev = "7014e28de391960f9aac578eada14796bf6950d2"
# path = "../../../arrow2"
# branch = "improve_mutable"
version = "0.12"
default-features = false
features = [
  "compute_aggregate",
  "compute_arithmetics",
  "compute_boolean",
  "compute_boolean_kleene",
  "compute_cast",
  "compute_comparison",
  "compute_concatenate",
  "compute_filter",
  "compute_if_then_else",
  "compute_take",
]

[dev-dependencies]
bincode = "1"

[package.metadata.docs.rs]
# not all because arrow 4.3 does not compile with simd
# all-features = true
features = ["docs-selection"]
# defines the configuration attribute `docsrs`
rustdoc-args = ["--cfg", "docsrs"]