[workspace]
members = ["xtask"]
[workspace.lints.clippy]
unwrap_used = "deny"
all = { level = "warn", priority = -1 }
[workspace.lints.rust]
unsafe_code = "forbid"
[package]
name = "prismatica"
version = "0.2.0"
edition = "2024"
rust-version = "1.85"
description = "308 scientific colormaps as compile-time Rust constants"
license = "GPL-3.0-only"
repository = "https://github.com/resonant-jovian/prismatica"
documentation = "https://docs.rs/prismatica"
readme = "README.md"
keywords = ["colormap", "scientific", "visualization", "perceptual", "data-viz"]
categories = ["no-std", "science", "visualization"]
exclude = ["data/", "xtask/"]
[features]
default = ["std", "core"]
std = ["alloc"]
alloc = []
core = ["matplotlib", "crameri"]
matplotlib = []
crameri = []
cet = []
cmocean = []
colorbrewer = []
cmasher = []
ncar = []
cartocolors = []
moreland = []
d3 = []
all = [
"matplotlib", "crameri", "cet", "cmocean", "colorbrewer",
"cmasher", "ncar", "cartocolors", "moreland", "d3",
]
egui-integration = ["dep:egui"]
plotters-integration = ["dep:plotters"]
image-integration = ["dep:image"]
serde-support = ["dep:serde"]
[dependencies]
libm = "0.2.16"
egui = { version = "0.34.0", optional = true, default-features = false }
plotters = { version = "0.3.7", optional = true, default-features = false }
image = { version = "0.25.10", optional = true, default-features = false }
serde = { version = "1.0.228", optional = true, features = ["derive"] }
[lints]
workspace = true
[dev-dependencies]
image = { version = "0.25.10", features = ["png"] }
insta = "1.42.2"
plotters = { version = "0.3.7", features = ["svg_backend"] }
proptest = "1.6.0"