spreadsheet-kit 0.11.1

Core spreadsheet automation primitives — shared types, edit normalization, and session traits for agent-facing surfaces
Documentation
[package]
name = "spreadsheet-kit"
version = "0.11.1"
edition = "2024"
description = "Core spreadsheet automation primitives — shared types, edit normalization, and session traits for agent-facing surfaces"
authors = ["Frankie Colson"]
repository = "https://github.com/PSU3D0/spreadsheet-mcp"
homepage = "https://github.com/PSU3D0/spreadsheet-mcp"
license = "Apache-2.0"
readme = "README.md"
keywords = ["spreadsheet", "xlsx", "automation", "agent", "mcp"]
categories = ["data-structures", "parser-implementations"]

[[bin]]
name = "agent-spreadsheet"
path = "src/bin/agent-spreadsheet.rs"
required-features = ["recalc"]

[[bin]]
name = "asp"
path = "src/bin/asp.rs"
required-features = ["recalc"]

[dependencies]
anyhow = "1.0"
thiserror = "1.0"
clap = { version = "4.5", features = ["derive", "env"] }
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
serde_with = "3.8"
serde_yaml = "0.9"
tokio = { version = "1.37", features = ["macros", "rt", "sync", "time"] }
parking_lot = "0.12"
lru = "0.12"
ahash = "0.8"
smallvec = "1.13"
umya-spreadsheet = "2.3.2"
ovba = "0.7.1"
formualizer-parse = { version = "1.1.2" }
formualizer = { version = "0.5.1", default-features = false, features = ["eval", "workbook", "umya", "sheetport", "common"], optional = true }
walkdir = "2.5"
globset = "0.4"
rand = "0.8"
sha2 = "0.10"
once_cell = "1.19"
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["fmt", "env-filter"] }
chrono = { version = "0.4", default-features = false, features = ["clock", "std"] }
indexmap = "2.2"
regex = "1.10"
strum = { version = "0.26", features = ["derive"] }
schemars = { version = "1.0", features = ["derive"] }
tokio-util = { version = "0.7", features = ["rt"] }
image = { version = "0.25", default-features = false, features = ["png"], optional = true }
base64 = { version = "0.22", optional = true }
async-trait = { version = "0.1", optional = true }
uuid = { version = "1.10", features = ["v4", "js"], optional = true }
zip = { version = "0.6", default-features = false, features = ["deflate"] }
quick-xml = { version = "0.31", optional = true }
xxhash-rust = { version = "0.8", features = ["xxh64"], optional = true }
tempfile = "3.10"

[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
tokio = { version = "1.37", features = ["rt-multi-thread", "fs", "signal", "net", "process"] }

[target.'cfg(target_arch = "wasm32")'.dependencies]
umya-spreadsheet = { version = "2.3.2", features = ["js"] }
getrandom = { version = "0.3", features = ["wasm_js"] }

[features]
default = ["recalc-formualizer"]
recalc = ["async-trait", "uuid", "quick-xml", "xxhash-rust", "image", "base64"]
recalc-formualizer = ["recalc", "dep:formualizer"]
recalc-libreoffice = ["recalc"]

[dev-dependencies]
assert_cmd = "2.0"