[package]
name = "chematic-chem"
version.workspace = true
edition.workspace = true
authors.workspace = true
license.workspace = true
repository.workspace = true
description = "Molecular descriptors: MW, LogP, TPSA, QED, Gasteiger charges, CIP stereo, Murcko scaffold, tautomers, BRICS fragmentation — pure-Rust"
keywords = ["descriptors", "lipinski", "tpsa", "logp", "cheminformatics"]
categories = ["science", "science::computational-chemistry::cheminformatics"]
readme = "../../README.md"
homepage.workspace = true
documentation = "https://docs.rs/chematic-chem"

[package.metadata.docs.rs]
rustdoc-args = ["--cfg", "docsrs"]

[dependencies]
chematic-core       = { path = "../chematic-core",       version = "0.4.29" }
rustc-hash          = "2"
chematic-perception = { path = "../chematic-perception", version = "0.4.29" }
chematic-smiles     = { path = "../chematic-smiles",     version = "0.4.29" }
chematic-smarts     = { path = "../chematic-smarts",     version = "0.4.29" }
chematic-fp         = { path = "../chematic-fp",         version = "0.4.29" }
chematic-iupac      = { path = "../chematic-iupac",      version = "0.4.29" }
serde               = { version = "1.0", features = ["derive"], optional = true }
miniz_oxide         = { version = "0.9", optional = true, default-features = false, features = ["with-alloc"] }

[features]
serde = ["dep:serde"]
trained-solubility-mlp = []
# Compress PAINS/Brenk SMARTS patterns in binary; inflate at first use.
# Saves ~41 KB binary size. Enable in WASM builds.
compress-patterns = ["dep:miniz_oxide"]

[dev-dependencies]
criterion = { version = "0.8", features = ["html_reports"] }

[[bench]]
name = "descriptor_bench"
harness = false
