Install
The IFC stack is published for four languages. They all share one Rust core (ADR 0013), so a file read in one reads the same in the others.
| Language | Package | Latest release | Install | Requires | Reference |
|---|---|---|---|---|---|
| Rust | openbim-ifc | 0.9.0 (2026-09-29) | cargo add openbim-ifc | Rust 1.88.0 | openbim-ifc |
| JavaScript / TypeScript | @openbim/ifc | 0.2.0 (2026-09-29) | npm install @openbim/ifc | Node >=18 | openbim-ifc-wasm |
| Python | openbim-ifc | 0.2.0 (2026-09-29) | pip install openbim-ifc | Python >=3.9 | openbim-ifc-py |
| C / C++ | openbim-ifc-capi (not published) | not released | build from source | a C11 or C++17 compiler, and Rust to build | openbim-ifc-capi |
The table is generated from each package's changelog and manifest, so the versions and toolchain floors on this page are the ones the packages declare. The install commands take no version and resolve to the newest release.
Rust
Depend on the openbim-ifc facade and turn on only the features you need. With no features beyond the default you get the model and the STEP codec, and nothing else is compiled:
cargo add openbim-ifc # model + STEP
cargo add openbim-ifc --features properties,spatial # plus two domainsThe library is imported as ifc (use ifc::{Codec, StepCodec};). Every feature, and the crate each one enables, is listed on the facade's reference page; the crate reference describes each crate.
JavaScript and TypeScript
npm install @openbim/ifcSee JavaScript and TypeScript.
Python
pip install openbim-ifcSee Python.
C and C++
The C ABI is not packaged yet. Build it from a checkout and link the static or shared library against crates/openbim-ifc-capi/include/openbim_ifc.h:
cargo build -p openbim-ifc-capi --releaseSee C and C++.