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
- Java TFLite bindings were developed at one point in IREE's
runtime/bindings/tflite/java
directory.
Julialink
- Coil.jl is an experimental package to lower and execute Julia tensor operations to IREE.
Rustlink
-
with some C++ tools and utilities ↩