-
Notifications
You must be signed in to change notification settings - Fork 19
/
Cargo.toml
130 lines (112 loc) · 3.88 KB
/
Cargo.toml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
[package]
name = "parquet-wasm"
version = "0.6.1"
authors = ["Kyle Barron <[email protected]>"]
edition = "2021"
description = "WebAssembly Parquet reader and writer."
readme = "README.md"
repository = "https://github.com/kylebarron/parquet-wasm"
license = "MIT OR Apache-2.0"
keywords = ["parquet", "webassembly", "arrow"]
categories = ["wasm"]
rust-version = "1.62"
[lib]
crate-type = ["cdylib", "rlib"]
[features]
default = ["all_compressions", "reader", "writer", "async"]
reader = []
writer = []
async = [
"dep:wasm-bindgen-futures",
"dep:futures",
"dep:range-reader",
"dep:reqwest",
"dep:wasm-streams",
"dep:async-compat",
"dep:async-stream",
"parquet/async",
]
debug = ["console_error_panic_hook"]
brotli = ["parquet/brotli"]
gzip = ["parquet/flate2"]
snappy = ["parquet/snap"]
zstd = ["parquet/zstd", "dep:zstd", "zstd-sys"]
lz4 = ["parquet/lz4"]
all_compressions = ["brotli", "gzip", "snappy", "zstd", "lz4"]
# Full list of available features
full = ["async", "debug", "all_compressions", "reader", "writer"]
[dependencies]
wasm-bindgen = { version = "0.2.95", features = ["serde-serialize"] }
serde = "1.0.214"
serde-wasm-bindgen = { version = "0.6.5" }
# The `console_error_panic_hook` crate provides better debugging of panics by
# logging them with `console.error`. This is great for development, but requires
# all the `std::fmt` and `std::panicking` infrastructure, so isn't great for
# code size when deploying.
console_error_panic_hook = { version = "0.1.6", optional = true }
# `wee_alloc` is a tiny allocator for wasm that is only ~1K in code size
# compared to the default allocator's ~10K. It is slower than the default
# allocator, however.
# if wee_alloc only saves 10KB, might not be worth the slower allocation speed?
# wee_alloc = "0.4.5"
js-sys = "0.3.72"
getrandom = { version = "0.2.6", features = ["js"] }
thiserror = "1.0"
arrow-wasm = { git = "https://github.com/kylebarron/arrow-wasm", rev = "5c43bb0c3209738dd6620243b1d84d90833e92c9", default-features = false, features = [
"table",
"record_batch",
"schema",
] }
arrow = { version = "53", default-features = false, features = ["ipc", "ffi"] }
parquet = { version = "53", default-features = false, features = [
"arrow",
"base64",
"object_store",
] }
bytes = "1"
wasm-bindgen-futures = { version = "0.4.45", optional = true }
futures = { version = "0.3", optional = true }
range-reader = { version = "0.2", optional = true }
reqwest = { version = "0.12.9", optional = true, default-features = false }
# Pass "wasm" and "thin" down to the transitive zstd dependency
zstd = { version = "*", features = [
"wasm",
"thin",
], default-features = false, optional = true }
zstd-sys = { version = "=2.0.9", optional = true, default-features = false }
# 0.2.3 crashes the Node tests. See
# https://github.com/kylebarron/parquet-wasm/pull/496#issuecomment-2057374608
async-compat = { version = "=0.2.2", optional = true }
async-stream = { version = "0.3.6", optional = true }
wasm-streams = { version = "0.4.2", optional = true }
async-trait = "0.1.83"
object_store = { version = "0.11.1", default-features = false }
url = "2.5.0"
object-store-wasm = { git = "https://github.com/H-Plus-Time/object-store-wasm", rev = "b296d680fc67f3213a3f8de445b8fc5f590dc7e1" }
[dependencies.web-sys]
version = "0.3.72"
features = [
'console',
'Headers',
'Request',
'RequestInit',
'RequestMode',
'Response',
'Window',
"Document",
"Element",
"File",
]
[dev-dependencies]
wasm-bindgen-test = "0.3.45"
[package.metadata.cargo-all-features]
# If your crate has a large number of optional dependencies, skip them for speed
skip_optional_dependencies = true
# Exclude certain features from the build matrix
denylist = ["full", "all_compressions", "default"]
[profile.release]
# Tell `rustc` to optimize for small code size.
# As of 3/15/22, opt-level = s was smallest
# https://github.com/kylebarron/parquet-wasm/pull/48
opt-level = "s"
lto = true