polars-core 0.17.0

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

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

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

# commented out until UB is fixed
#parallel = []

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

# extra utilities for Utf8Chunked
strings = ["regex", "polars-arrow/strings"]

# support for ObjectChunked<T> (downcastable Series of any type)
object = ["serde_json"]

# Cannot have mutually exclusive types. User should choose one of:
pretty_fmt = ["comfy-table"]
plain_fmt = ["prettytable-rs"]

# opt-in features
# pivot operation on DataFrame
pivot = []
# resample operation on DataFrame
downsample = ["temporal", "dtype-datetime"]
# sort by multiple columns
sort_multiple = []
# create from row values
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 = []
# additional list utils
list = []
rank = []
diff = []
moment = []


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

parquet = ["arrow/io_parquet"]

docs-selection = [
    "ndarray",
    "pivot",
    "downsample",
    "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",
    "list",
]

[dependencies]
#arrow = { package = "arrow2", git = "https://github.com/jorgecarleitao/arrow2", rev = "326fc9d89340ccd22cf0f981a98f56be582d8192", default-features = false, features=["compute"] }
#arrow = { package = "arrow2", git = "https://github.com/ritchie46/arrow2", default-features = false, features=["compute"], branch="dev" }
arrow = { package = "arrow2", version="0.7", default-features = false, features=["compute"]}
polars-arrow = {version = "0.17.0", path = "../polars-arrow"}
thiserror = "1.0"
num = "^0.4"
itertools = "0.10"
unsafe_unwrap = "^0.1.0"
rayon = "1.5"
comfy-table = { version="1", optional = true}
prettytable-rs = {version = "0.8.0", optional = true }
chrono = {version = "0.4", optional = true}
rand = {version = "0.7", optional = true}
rand_distr = {version = "0.3", optional = true}
ndarray = {version = "0.15", optional = true, default_features = false}
regex = {version = "1.4", optional = true}
serde_json = {version = "1.0", optional = true }
jsonpath_lib = {version = "0.3.0", optional = true, git = "https://github.com/ritchie46/jsonpath", branch="improve_compiled"}
# activate if you want serde support for Series and DataFrames
serde = {version = "1", features=["derive"], optional = true }
anyhow = "1.0"
ahash = "0.7"
num_cpus = "1.1"
lazy_static = "1.4"
hashbrown = {version = "0.11", features = ["rayon"] }

[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"]