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.

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.

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.

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.

Return to the language reference →