For Polars and DuckDB it makes sense if you want to fast-forward and get some functions. But for Ibis I still can't see the real benefit. I just want to understand this out of curiosity 😉. Do you keep the existing Rust goodies like the execution layer with the high-performance tabular abstraction?
Maybe
@jay,
@Sammy Sidhu and others can help.
According to Ibis docs you get:
Ibis for library developers
Python developers creating libraries can use Ibis to:
• instantly support 20+ data backends
• instantly support pandas, PyArrow, and Polars objects
• read and write from all common file formats (depending on the backend)
• trace column-level lineage through Ibis expressions
• compile Ibis expressions to SQL or Substrait
• perform cross-dialect SQL transpilation (powered by
SQLGlot)
Maybe adopting Substrait in the future when more engines ig/will support it could make sense?!