~/talk

Ibis: Don't Let the Engine Dictate the Interface

Talkat PyData NYC 2024 · 2024-11-06..11-08· [python, databases]
slides:none on file

Ibis is a pure‑Python dataframe interface that hands queries to engines instead of running them locally, fetching only table schemas until execution and compiling expressions to the engine’s SQL. It supports 20+ engines (DuckDB, Snowflake, BigQuery, Polars, pandas, etc.), reads Parquet/Arrow, and offers deferred execution. Example numbers: a 22M‑row aggregation runs ~1.75s vs 72s (Polars vs pandas), and a 1.1B‑row run finishes on a laptop with ~1.1B rows on laptop memory under 10GB.

AI-written summary · about

  1. 0:00Ibis introduction
  2. 1:05What Ibis is and why it matters
  3. 3:11Decoupling interfaces from engines
  4. 7:24Deferred execution with remote data
  5. 13:26Ibis with DuckDB
  6. 20:51SQL dialects problem and Ibis solution
  7. 22:39Performance across engines
  8. 28:58Real-world example with 1.1 billion rows
  9. 31:07Closing thoughts and future-proofing
  10. 33:11Q&A
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.