# ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ # ┃ ██████ ██████ ██████ █ █ █ █ █ █▄ ▀███ █ ┃ # ┃ ▄▄▄▄▄█ █▄▄▄▄▄ ▄▄▄▄▄█ ▀▀▀▀▀█▀▀▀▀▀ █ ▀▀▀▀▀█ ████████▌▐███ ███▄ ▀█ █ ▀▀▀▀▀ ┃ # ┃ █▀▀▀▀▀ █▀▀▀▀▀ █▀██▀▀ ▄▄▄▄▄ █ ▄▄▄▄▄█ ▄▄▄▄▄█ ████████▌▐███ █████▄ █ ▄▄▄▄▄ ┃ # ┃ █ ██████ █ ▀█▄ █ ██████ █ ███▌▐███ ███████▄ █ ┃ # ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ # ┃ 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 "] 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", ]