[package]
name = "libviprs"
version = "0.3.1"
edition = "2024"
authors = ["Roman Goldmann <roman@devshell.org>"]
rust-version = "1.85"
description = "Pure-Rust tile pyramid engine for blueprint PDFs and large rasters: monolithic, streaming, and parallel MapReduce engines behind a fluent EngineBuilder API. DeepZoom, XYZ, and Google layouts; bounded-memory rendering; resume, retry, and dedupe."
license = "MIT"
repository = "https://github.com/libviprs/libviprs"
homepage = "https://libviprs.org"
keywords = ["image", "pyramid", "tiles", "deepzoom", "pdf"]
categories = ["multimedia::images", "graphics"]
readme = "README.md"
[lints.rust]
unexpected_cfgs = { level = "warn", check-cfg = ['cfg(loom)'] }
deprecated = "deny"
[lints.clippy]
incompatible_msrv = "warn"
[features]
default = []
pdfium = ["dep:pdfium-render"]
pdfium-static = ["pdfium", "pdfium-render/static"]
s3 = []
tracing = ["dep:tracing"]
packfile = ["dep:tar", "dep:zip"]
[dependencies]
blake3 = "1.8.4"
flate2 = "1"
image = { version = "0.25", default-features = false, features = ["jpeg", "png", "tiff"] }
lopdf = "0.36"
pdfium-render = { version = "0.8", optional = true, features = ["sync"] }
serde = { version = "1.0.228", features = ["derive"] }
serde_json = "1.0.149"
sha2 = "0.11.0"
tar = { version = "0.4.45", optional = true }
thiserror = "2"
tracing = { version = "0.1", optional = true }
zip = { version = "7.2.0", optional = true }
[dev-dependencies]
loom = "0.7"
proptest = "1"
tempfile = "3"