Skip to content

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.

LanguagePackageLatest releaseInstallRequiresReference
Rustopenbim-ifc0.9.0 (2026-09-29)cargo add openbim-ifcRust 1.88.0openbim-ifc
JavaScript / TypeScript@openbim/ifc0.2.0 (2026-09-29)npm install @openbim/ifcNode >=18openbim-ifc-wasm
Pythonopenbim-ifc0.2.0 (2026-09-29)pip install openbim-ifcPython >=3.9openbim-ifc-py
C / C++openbim-ifc-capi (not published)not releasedbuild from sourcea C11 or C++17 compiler, and Rust to buildopenbim-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:

bash
cargo add openbim-ifc                                  # model + STEP
cargo add openbim-ifc --features properties,spatial    # plus two domains

The 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 ​

bash
npm install @openbim/ifc

See JavaScript and TypeScript.

Python ​

bash
pip install openbim-ifc

See 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:

bash
cargo build -p openbim-ifc-capi --release

See C and C++.

Released under the AGPL-3.0-or-later licence. ISO and CEN standards material is not redistributed.