inchi-sys
Low-level -sys FFI bindings to the vendored IUPAC InChI 1.07.3 reference C library. The C source is bundled and statically linked (links = "inchi") via a cc build script — no system install, no network at build time.
Use the inchi crate instead
This crate exposes only raw, unsafe C bindings (GetINCHI, GetStructFromINCHI, GetINCHIKeyFromINCHI, MakeINCHIFromMolfileText, the *Ex polymer entry points, …) with no safety, RAII, or ergonomics.
For almost all uses, depend on the safe, idiomatic wrapper:
[]
= "0.1"
→ https://crates.io/crates/inchi · https://docs.rs/inchi
Reach for inchi-sys directly only when you need an entry point the safe crate does not yet wrap.
Bindings
Pre-generated bindings (src/bindings.rs) are committed, so the default build needs no libclang. Regenerate them from the vendored headers with:
Vendored source & patches
The InChI C sources live under vendor/, which documents the exact upstream version, what is included, how to update, and the single local memory-safety patch applied to GetStructFromINCHIEx.
License
MIT. Bundles the IUPAC InChI software (MIT); see vendor/inchi/LICENSE.