Skip to content

API bindingslink

API bindings allow for programmatic use of IREE's compiler and runtime components. The core IREE project is written in C1, allowing for API bindings to be written in a variety of other languages.

Something missing?

Want to use another language? Looking for something specific out of one of those already listed?

We welcome discussions on our communication channels and contributions on our GitHub page!

Official API bindingslink

Members of the core project team and other partner groups maintain these official bindings:

Language Compiler API? Runtime API? Published packages?
C/C++ ✅ Supported ✅ Supported ❌ Unsupported
Python ✅ Supported ✅ Supported ✅ Supported

C/C++link

See the C API reference page.

Pythonlink

See the Python reference page.

Unofficial and experimental API bindingslink

Members of our developer community have authored bindings using other languages:

Language Compiler API? Runtime API? Published packages?
JavaScript ❔ Experimental ❔ Experimental ❌ Unsupported
Java ❌ Unsupported ❔ Experimental ❌ Unsupported
Julia ❔ Experimental ❔ Experimental ❌ Unsupported
Rust ❌ Unsupported ❔ Experimental ❔ Experimental

JavaScriptlink

  • JavaScript bindings for WebAssembly and WebGPU are under development in IREE's experimental/web/ directory.

Javalink

Julialink

  • Coil.jl is an experimental package to lower and execute Julia tensor operations to IREE.

Rustlink


  1. with some C++ tools and utilities