perspective-js 4.5.2

A data visualization and analytics component, especially well-suited for large and/or streaming datasets.
Documentation
#  ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
#  ┃ ██████ ██████ ██████       █      █      █      █      █ █▄  ▀███ █       ┃
#  ┃ ▄▄▄▄▄█ █▄▄▄▄▄ ▄▄▄▄▄█  ▀▀▀▀▀█▀▀▀▀▀ █ ▀▀▀▀▀█ ████████▌▐███ ███▄  ▀█ █ ▀▀▀▀▀ ┃
#  ┃ █▀▀▀▀▀ █▀▀▀▀▀ █▀██▀▀ ▄▄▄▄▄ █ ▄▄▄▄▄█ ▄▄▄▄▄█ ████████▌▐███ █████▄   █ ▄▄▄▄▄ ┃
#  ┃ █      ██████ █  ▀█▄       █ ██████      █      ███▌▐███ ███████▄ █       ┃
#  ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
#  ┃ 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",
]