Files
2026-07-13 12:25:07 +08:00

111 lines
4.8 KiB
TOML

# ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
# ┃ ██████ ██████ ██████ █ █ █ █ █ █▄ ▀███ █ ┃
# ┃ ▄▄▄▄▄█ █▄▄▄▄▄ ▄▄▄▄▄█ ▀▀▀▀▀█▀▀▀▀▀ █ ▀▀▀▀▀█ ████████▌▐███ ███▄ ▀█ █ ▀▀▀▀▀ ┃
# ┃ █▀▀▀▀▀ █▀▀▀▀▀ █▀██▀▀ ▄▄▄▄▄ █ ▄▄▄▄▄█ ▄▄▄▄▄█ ████████▌▐███ █████▄ █ ▄▄▄▄▄ ┃
# ┃ █ ██████ █ ▀█▄ █ ██████ █ ███▌▐███ ███████▄ █ ┃
# ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
# ┃ Copyright (c) 2017, the Perspective Authors. ┃
# ┃ ╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌ ┃
# ┃ This file is part of the Perspective library, distributed under the terms ┃
# ┃ of the [Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0). ┃
# ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
[package]
name = "perspective-js"
version = "4.5.2"
authors = ["Andrew Stein <steinlink@gmail.com>"]
edition = "2024"
description = "A data visualization and analytics component, especially well-suited for large and/or streaming datasets."
repository = "https://github.com/perspective-dev/perspective"
license = "Apache-2.0"
homepage = "https://perspective-dev.github.io"
keywords = ["experimental"]
include = ["src/**/*", "Cargo.toml", "./package.json", "docs/**/*"]
[package.metadata.docs.rs]
rustc-args = ["--cfg", "web_sys_unstable_apis"]
rustdoc-args = ["--html-in-header", "docs/index.html"]
[lib]
crate-type = ["cdylib", "rlib"]
path = "src/rust/lib.rs"
[features]
default = []
# Shoould the WASM initialization methods be exported? This should _not_ be
# enabled if you want to import `perspective-js` as a Rust dependency, in which
# case you'll initialize the WebAssembly yourself.
export-init = []
# Should the code by built from the Perspective source tree, or the packaged
# copy? This should only be enabled for development on the Perspective source
# tree.
external-cpp = [
"perspective-client/generate-proto",
"perspective-client/protobuf-src",
]
# Should `talc` be used as a global allocator? Allows enhanced runtime metrics
# via `Client::system_info`. Mutually exclusive to `trace-allocator`
talc-allocator = ["perspective-client/talc-allocator"]
# Should global allocation be traced? Allows enhanced runtime metrics via
# `Client::system_info`. Mutually exclusive to `talc-allocator`, which does
# not requires a `wasm_bindgen` call to get available heap size.
trace-allocator = []
[build-dependencies]
serde_json = { version = "1.0.107", features = ["raw_value"] }
anyhow = "1.0.66"
[dev-dependencies]
wasm-bindgen-test = "0.3.13"
[dependencies]
perspective-client = { version = "4.5.2", features = ["sendable"] }
arrow-array = { version = "57.3.0", default-features = false }
arrow-ipc = { version = "57.3.0", default-features = false }
arrow-schema = { version = "57.3.0", default-features = false }
bytes = "1.10.1"
chrono = "0.4"
derivative = "2.2.0"
extend = "1.1.2"
futures = "0.3.28"
getrandom = { version = "0.2", features = ["js"] }
indexmap = "2.12.1"
js-sys = "0.3.85"
serde = { version = "1.0", features = ["derive"] }
serde_json = { version = "1.0.107", features = ["raw_value"] }
serde-wasm-bindgen = "0.6.0"
thiserror = "2.0.17"
tracing = { version = ">=0.1.36" }
tracing-subscriber = "0.3.15"
wasm-bindgen-derive = "0.3.0"
wasm-bindgen-futures = "0.4.41"
[dependencies.prost]
version = "0.12.3"
default-features = false
features = ["prost-derive", "std"]
[dependencies.ts-rs]
version = "11.0.1"
features = ["serde-json-impl", "no-serde-warnings", "import-esm"]
[dependencies.wasm-bindgen]
version = "=0.2.108"
features = ["enable-interning"]
[dependencies.web-sys]
version = "0.3.85"
features = [
"console",
"Document",
"HtmlElement",
"Navigator",
"Performance",
"PerformanceMark",
"Window",
]