Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
pola-rs
GitHub Repository: pola-rs/polars
Path: blob/main/crates/polars-core/Cargo.toml
6939 views
1
[package]
2
name = "polars-core"
3
version = { workspace = true }
4
authors = { workspace = true }
5
edition = { workspace = true }
6
homepage = { workspace = true }
7
license = { workspace = true }
8
repository = { workspace = true }
9
description = "Core of the Polars DataFrame library"
10
11
[dependencies]
12
polars-compute = { workspace = true, features = ["gather"] }
13
polars-dtype = { workspace = true }
14
polars-error = { workspace = true }
15
polars-row = { workspace = true }
16
polars-schema = { workspace = true }
17
polars-utils = { workspace = true }
18
19
arrow = { workspace = true }
20
bitflags = { workspace = true }
21
boxcar = { workspace = true }
22
bytemuck = { workspace = true }
23
chrono = { workspace = true, optional = true }
24
chrono-tz = { workspace = true, optional = true }
25
comfy-table = { version = "7.1.1", default-features = false, optional = true }
26
either = { workspace = true }
27
hashbrown = { workspace = true }
28
indexmap = { workspace = true }
29
itoa = { workspace = true }
30
ndarray = { workspace = true, optional = true }
31
num-traits = { workspace = true }
32
proptest = { workspace = true, optional = true }
33
rand = { workspace = true, optional = true, features = ["small_rng", "std"] }
34
rand_distr = { workspace = true, optional = true }
35
rayon = { workspace = true }
36
regex = { workspace = true, optional = true }
37
schemars = { workspace = true, optional = true, features = ["uuid1"] }
38
# activate if you want serde support for Series and DataFrames
39
serde = { workspace = true, optional = true }
40
serde_json = { workspace = true, optional = true }
41
strum_macros = { workspace = true }
42
uuid = { workspace = true }
43
xxhash-rust = { workspace = true }
44
45
[target.'cfg(target_family = "wasm")'.dependencies]
46
uuid = { workspace = true, features = ["js"] }
47
48
[dev-dependencies]
49
bincode = { workspace = true }
50
# used to run formal property testing
51
polars-core = { path = ".", features = ["proptest"] }
52
proptest = { workspace = true }
53
serde_json = { workspace = true }
54
55
[build-dependencies]
56
version_check = { workspace = true }
57
58
[features]
59
simd = ["arrow/simd", "polars-compute/simd"]
60
nightly = ["simd", "hashbrown/nightly", "polars-utils/nightly", "arrow/nightly"]
61
avx512 = []
62
docs = []
63
temporal = ["regex", "chrono", "polars-error/regex"]
64
random = ["rand", "rand_distr"]
65
algorithm_group_by = []
66
default = ["algorithm_group_by"]
67
lazy = []
68
69
# ~40% faster collect, needed until trustedlength iter stabilizes
70
# more fast paths, slower compilation
71
performant = ["arrow/performant", "reinterpret"]
72
73
# extra utilities for StringChunked
74
strings = ["regex", "arrow/strings", "polars-error/regex"]
75
# support for ObjectChunked<T> (downcastable Series of any type)
76
object = ["serde_json", "algorithm_group_by"]
77
78
fmt = ["comfy-table/tty"]
79
fmt_no_tty = ["comfy-table"]
80
81
# opt-in features
82
# create from row values
83
# and include pivot operation
84
rows = []
85
86
# operations
87
approx_unique = ["polars-compute/approx_unique"]
88
bitwise = ["algorithm_group_by"]
89
zip_with = []
90
round_series = []
91
checked_arithmetic = []
92
is_first_distinct = []
93
is_last_distinct = []
94
dot_product = []
95
row_hash = []
96
reinterpret = []
97
take_opt_iter = []
98
# allow group_by operation on list type
99
group_by_list = []
100
# rolling window functions
101
rolling_window = []
102
rolling_window_by = []
103
diagonal_concat = []
104
dataframe_arithmetic = []
105
product = []
106
unique_counts = []
107
partition_by = ["algorithm_group_by"]
108
describe = []
109
timezones = ["temporal", "chrono", "chrono-tz", "arrow/chrono-tz", "arrow/timezones"]
110
dynamic_group_by = ["dtype-datetime", "dtype-date"]
111
list_arithmetic = []
112
array_arithmetic = ["dtype-array"]
113
114
# opt-in datatypes for Series
115
dtype-date = ["temporal"]
116
dtype-datetime = ["temporal"]
117
dtype-duration = ["temporal"]
118
dtype-time = ["temporal"]
119
dtype-array = ["arrow/dtype-array", "polars-compute/dtype-array"]
120
dtype-i8 = []
121
dtype-i16 = []
122
dtype-i128 = ["polars-compute/dtype-i128"]
123
dtype-decimal = ["arrow/dtype-decimal", "polars-compute/cast", "polars-compute/dtype-decimal", "dtype-i128"]
124
dtype-u8 = []
125
dtype-u16 = []
126
dtype-categorical = []
127
dtype-struct = []
128
129
# scale to terabytes?
130
bigidx = ["arrow/bigidx", "polars-utils/bigidx"]
131
python = ["polars-error/python"]
132
133
serde = [
134
"dep:serde",
135
"bitflags/serde",
136
"polars-schema/serde",
137
"polars-utils/serde",
138
"polars-compute/serde",
139
"polars-dtype/serde",
140
"arrow/io_ipc",
141
"arrow/io_ipc_compression",
142
"serde_json",
143
]
144
serde-lazy = ["serde", "arrow/serde", "indexmap/serde", "chrono/serde"]
145
dsl-schema = [
146
"serde",
147
"dep:schemars",
148
"polars-compute/dsl-schema",
149
"polars-dtype/dsl-schema",
150
"polars-schema/dsl-schema",
151
"polars-utils/dsl-schema",
152
]
153
allow_unused = []
154
155
docs-selection = [
156
"ndarray",
157
"rows",
158
"docs",
159
"strings",
160
"object",
161
"lazy",
162
"temporal",
163
"random",
164
"zip_with",
165
"checked_arithmetic",
166
"is_first_distinct",
167
"is_last_distinct",
168
"dot_product",
169
"row_hash",
170
"rolling_window",
171
"rolling_window_by",
172
"serde",
173
"dtype-categorical",
174
"dtype-decimal",
175
"diagonal_concat",
176
"dataframe_arithmetic",
177
"product",
178
"describe",
179
"partition_by",
180
"algorithm_group_by",
181
"list_arithmetic",
182
"array_arithmetic",
183
]
184
185
[package.metadata.docs.rs]
186
# not all because arrow 4.3 does not compile with simd
187
# all-features = true
188
features = ["docs-selection"]
189
# defines the configuration attribute `docsrs`
190
rustdoc-args = ["--cfg", "docsrs"]
191
192
[lints]
193
workspace = true
194
195