Integration guides

Bring Ibex into your existing workflow

Use the host environment for exploration and presentation, while Ibex executes the table pipeline.

Keep dplyr syntax; execute supported work in Ibex

The ibex package provides a lazy ibex_tbl. Supported verbs build an immutable Ibex plan, show_query() reveals the generated source, and collect() returns a tibble through Arrow C Data.

Lazy dplyr backend

One native segment, with an explicit fallback policy

Captured R scalars cross as typed bindings rather than source text. Translation recognizes registered function identities, so masked or unknown R calls are never guessed to be Ibex externs.

Choose fallback = "error" to require an all-native query, "warn" for a visible one-time collection into local dplyr, or "collect" for the same boundary without a warning. Once local, the pipeline stays local.

library(dplyr)
library(ibex)

query <- ibex_tbl(trades, fallback = "error") |>
  filter(price > 10) |>
  mutate(notional = price * size) |>
  group_by(symbol) |>
  summarise(total = sum(notional), .groups = "drop") |>
  arrange(desc(total))

show_query(query)
result <- collect(query)