
Notebook integration
Use Ibex from Python and R
Bind host tables and scalar values, execute an Ibex pipeline, and return the result to the notebook for plotting or reporting.
Python
Run Ibex cells beside pandas and Arrow
The ibex_ipython extension provides %%ibex cells and keeps table-valued let bindings in a persistent session. Bind pandas or Arrow tables and supported Python scalars; return results as pandas or PyArrow values.
%load_ext ibex_ipython
%%ibex --bind trades=trades --as pandas --out grouped
trades[select { total = sum(price * size) }, by symbol];
grouped.plot(kind="bar", x="symbol", y="total")Use %ibexreset to clear the session. Python scalar bindings include integers, floats, booleans, strings, dates, and datetimes.
R
Run scripts or use a lazy dplyr plan
The R package evaluates inline Ibex scripts and returns a data.frame or Arrow-backed result. Its ibex_tbl() interface records supported dplyr verbs as an immutable native plan; use show_query() to inspect it and collect() to return a tibble.
Native deployment
Compile a script when embedding is not enough
ibex_compile transpiles an .ibex script to C++23. Use typed extern fn declarations to connect application-specific sources and sinks.