[package]
edition = "2021"
rust-version = "1.87"
name = "unparser-shared"
version = "0.6.0"
authors = ["iyulab"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Shared plumbing for the un* document extraction family — C-ABI conventions today; markdown refine and VLM/AI capabilities land as opt-in features"
homepage = "https://github.com/iyulab/unparser-shared"
documentation = "https://docs.rs/unparser-shared"
readme = "README.md"
keywords = [
"ffi",
"c-abi",
"error-handling",
"document",
"extraction",
]
categories = [
"development-tools::ffi",
"api-bindings",
]
license = "MIT"
repository = "https://github.com/iyulab/unparser-shared"
[package.metadata.docs.rs]
all-features = true
[features]
ai = [
"dep:ureq",
"dep:serde",
"dep:serde_json",
"dep:base64",
"dep:thiserror",
]
default = []
refine = [
"dep:pulldown-cmark",
"dep:pulldown-cmark-to-cmark",
]
[lib]
name = "unparser_shared"
path = "src/lib.rs"
[[test]]
name = "ai_image_understanding"
path = "tests/ai_image_understanding.rs"
required-features = ["ai"]
[[test]]
name = "ai_refine"
path = "tests/ai_refine.rs"
required-features = ["ai"]
[[test]]
name = "markdown_roundtrip"
path = "tests/markdown_roundtrip.rs"
[[test]]
name = "refine_golden"
path = "tests/refine_golden.rs"
required-features = ["refine"]
[[test]]
name = "refine_roundtrip_properties"
path = "tests/refine_roundtrip_properties.rs"
required-features = ["refine"]
[dependencies.base64]
version = "0.23"
optional = true
[dependencies.pulldown-cmark]
version = "0.13"
optional = true
default-features = false
[dependencies.pulldown-cmark-to-cmark]
version = "22"
optional = true
[dependencies.serde]
version = "1"
features = ["derive"]
optional = true
[dependencies.serde_json]
version = "1"
optional = true
[dependencies.thiserror]
version = "2.0"
optional = true
[dependencies.ureq]
version = "3.4"
features = [
"rustls",
"json",
]
optional = true
default-features = false
[dev-dependencies.proptest]
version = "1"
[dev-dependencies.pulldown-cmark]
version = "0.13"
default-features = false
[dev-dependencies.tiny_http]
version = "0.12"
[lints.rust]
missing_docs = "deny"
unsafe_op_in_unsafe_fn = "deny"