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