[package]
edition = "2024"
rust-version = "1.88"
name = "office_oxide"
version = "0.1.1"
build = false
include = [
"/src/**/*",
"/Cargo.toml",
"/README.md",
"/CHANGELOG.md",
"/LICENSE-MIT",
"/LICENSE-APACHE",
"/include/**/*",
"/cbindgen.toml",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "The fastest Office document processing library — DOCX, XLSX, PPTX, DOC, XLS, PPT"
homepage = "https://oxide.fyi"
documentation = "https://office.oxide.fyi/docs/getting-started/rust"
readme = "README.md"
keywords = [
"docx",
"xlsx",
"pptx",
"office",
"text-extraction",
]
categories = [
"parsing",
"text-processing",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/yfedoseev/office_oxide"
resolver = "2"
[package.metadata.docs.rs]
features = [
"python",
"parallel",
]
rustdoc-args = [
"--cfg",
"docsrs",
]
[package.metadata.maturin]
name = "office-oxide"
python-source = "python"
[package.metadata.wasm-pack.profile.release]
wasm-opt = false
[features]
default = []
mmap = ["dep:memmap2"]
parallel = ["dep:rayon"]
python = ["dep:pyo3"]
wasm = [
"dep:wasm-bindgen",
"dep:serde-wasm-bindgen",
]
[lib]
name = "office_oxide"
crate-type = [
"rlib",
"cdylib",
"staticlib",
]
path = "src/lib.rs"
[dependencies.atoi_simd]
version = "0.18"
[dependencies.encoding_rs]
version = "0.8"
[dependencies.fast-float2]
version = "0.2"
[dependencies.libc]
version = "0.2"
[dependencies.log]
version = "0.4"
[dependencies.memmap2]
version = "0.9"
optional = true
[dependencies.pyo3]
version = "0.28"
features = ["extension-module"]
optional = true
[dependencies.quick-xml]
version = "0.37"
features = ["serialize"]
[dependencies.rayon]
version = "1.12"
optional = true
[dependencies.serde]
version = "1"
features = ["derive"]
[dependencies.serde-wasm-bindgen]
version = "0.6"
optional = true
[dependencies.serde_json]
version = "1"
[dependencies.thiserror]
version = "2"
[dependencies.wasm-bindgen]
version = "0.2"
optional = true
[dependencies.zip]
version = "8.1"
features = ["deflate"]
default-features = false
[lints.clippy]
collapsible_if = "allow"
collapsible_match = "allow"
enum_variant_names = "allow"
explicit_counter_loop = "allow"
manual_find = "allow"
match_like_matches_macro = "allow"
needless_range_loop = "allow"
should_implement_trait = "allow"
too_many_arguments = "allow"
type_complexity = "allow"
wrong_self_convention = "allow"
[profile.release]
opt-level = 3
lto = true
codegen-units = 1
strip = true
[profile.release-small]
opt-level = "z"
lto = true
codegen-units = 1
panic = "abort"
inherits = "release"
strip = true