Ibis

last updated: Jan 09, 2024

https://ibis-project.org/tutorials/getting_started

Ibis is the portable Python dataframe library.

If you’ve had issues with scaling data transformation code in Python, need to work with data in multiple data platforms, find yourself translating between other Python dataframe APIs, or just want a great Python dataframe experience, Ibis is for you.

Runs against Duckdb by default, but can run against polars, sqlite, Postgres, and lots of others.

ex:

t.group_by("f").aggregate(d=t.a + t.b.sum())

gets transformed to something like (depending on the db):

SELECT f, sum(a + b) AS d
FROM t
GROUP BY f

Found via this issue describing Duckdb's roadmap for gaining a pandas-like interface (in the python version anyway).

I kind of want to develop a similar thing for javascript.

↑ up