[package]
name = "perspective-python"
version = "4.0.1"
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"
authors = ["Andrew Stein <steinlink@gmail.com>"]
keywords = []
build = "build.rs"
include = [
"build.rs",
"./Cargo.toml",
"LICENSE.md",
"LICENSE_*",
"README.md",
"./package.json",
"perspective/**/*.py",
"perspective/extension",
"perspective/templates",
"perspective/tests/**/*.arrow",
"./pyproject.toml",
"src/**/*.rs",
"docs/**/*",
]
[package.metadata.docs.rs]
rustdoc-args = ["--html-in-header", "docs/index.html"]
[features]
default = []
abi3 = ["pyo3/abi3-py39"]
external-cpp = ["perspective-server/external-cpp"]
generate-proto = ["perspective-client/generate-proto"]
protobuf-src = ["perspective-client/protobuf-src"]
[lib]
crate-type = ["cdylib"]
[build-dependencies]
cmake = "0.1.50"
num_cpus = "^1.16.0"
pyo3-build-config = "0.22.6"
python-config-rs = "0.1.2"
[dependencies]
perspective-client = { version = "4.0.1" }
perspective-server = { version = "4.0.1" }
macro_rules_attribute = "0.2.0"
async-lock = "2.5.0"
pollster = "0.3.0"
extend = "1.1.2"
futures = "0.3.28"
pyo3 = { version = "0.25.1", features = [
"experimental-async",
"extension-module",
"serde",
] }
pythonize = "0.25.0"
tracing = { version = ">=0.1.36" }
tracing-subscriber = { version = "0.3.15", features = ["env-filter"] }
[target.'cfg(target_os="emscripten")'.dependencies]
pyo3-async-runtimes = { version = "0.25.0", features = ["attributes"] }
[target.'cfg(not(target_os="emscripten"))'.dependencies]
pyo3-async-runtimes = { version = "0.25.0", features = [
"attributes",
"tokio-runtime",
] }
tokio = { version = "1.45.1", features = ["full"] }