forked from rerun-io/rerun
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCargo.toml
102 lines (85 loc) · 3.22 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
[package]
name = "rerun_py" # name of the rust crate
edition.workspace = true
license.workspace = true
publish = false
rust-version.workspace = true
version.workspace = true
[lints]
workspace = true
[lib]
crate-type = ["cdylib"]
name = "rerun_bindings" # name of the .so library that the Python module will import
[features]
default = ["extension-module"]
## Extra features that aren't ready to be included in release builds yet.
extra = ["pypi", "remote"]
## The features we turn on when building the `rerun-sdk` PyPi package
## for <https://pypi.org/project/rerun-sdk/>.
pypi = ["extension-module", "nasm", "web_viewer"]
## We need to enable the `pyo3/extension-module` when building the SDK,
## but we cannot enable it when building tests and benchmarks, so we
## must make it an optional feature.
## * <https://pyo3.rs/latest/faq.html#i-cant-run-cargo-test-or-i-cant-build-in-a-cargo-workspace-im-having-linker-issues-like-symbol-not-found-or-undefined-reference-to-_pyexc_systemerror>
## * <https://pyo3.rs/main/building-and-distribution#building-python-extension-modules>
extension-module = ["pyo3/extension-module"]
## Enable faster native video decoding with assembly.
## You need to install [nasm](https://nasm.us/) to compile with this feature.
nasm = ["re_video/nasm"]
remote = [
"dep:object_store",
"dep:re_protos",
"dep:re_ws_comms",
"dep:tokio",
"dep:tokio-stream",
"dep:tonic",
"dep:url",
]
## Support serving a web viewer over HTTP with `serve()`.
##
## Enabling this adds quite a bit to the binary size,
## since it requires bundling the viewer as wasm.
web_viewer = [
"re_sdk/web_viewer",
"dep:re_web_viewer_server",
"dep:re_ws_comms",
]
[dependencies]
re_build_info.workspace = true
re_chunk = { workspace = true, features = ["arrow"] }
re_chunk_store.workspace = true
re_dataframe.workspace = true
re_log = { workspace = true, features = ["setup"] }
re_log_types.workspace = true
re_memory.workspace = true
re_sdk = { workspace = true, features = ["data_loaders"] }
re_video.workspace = true
re_web_viewer_server = { workspace = true, optional = true }
re_ws_comms = { workspace = true, optional = true }
arrow = { workspace = true, features = ["pyarrow"] }
arrow2 = { workspace = true, features = ["io_ipc", "io_print", "arrow"] }
crossbeam.workspace = true
document-features.workspace = true
itertools.workspace = true
infer.workspace = true
mimalloc = { version = "0.1.43", features = ["local_dynamic_tls"] }
numpy.workspace = true
once_cell.workspace = true
parking_lot.workspace = true
pyo3 = { workspace = true, features = ["abi3-py38"] }
rand = { workspace = true, features = ["std", "std_rng"] }
uuid.workspace = true
# Deps for remote feature
object_store = { workspace = true, optional = true, features = ["aws"] }
re_protos = { workspace = true, optional = true }
tokio = { workspace = true, optional = true }
tokio-stream = { workspace = true, optional = true }
# Not used yet, but we will need it when we start streaming data
#tokio-stream = { workspace = true, optional = true }
tonic = { workspace = true, default-features = false, features = [
"transport",
], optional = true }
url = { workspace = true, optional = true }
[build-dependencies]
re_build_tools.workspace = true
pyo3-build-config.workspace = true