Introduction
Ibis 4.0 has officially been released as the latest version of the package. This release includes several new backends, improved functionality, and some major internal refactors. A full list of the changes can be found in the project release notes. Let’s talk about some of the new changes 4.0 brings for Ibis users.
Backends
Ibis 4.0 brings Polars, Snowflake, and Trino into an already-impressive stock of supported backends. The Polars backend adds another way for users to work locally with DataFrames. The Snowflake and Trino backends add a free and familiar python API to popular data warehouses.
Alongside these new backends, Google BigQuery and Microsoft SQL have been moved to the main repo, so their release cycle will follow the Ibis core.
Functionality
There are a lot of improvements incoming, but some notable changes include:
- read API: allows users to read various file formats directly into their configured
default_backend
(default DuckDB) throughread_*
functions, which makes working with local files easier than ever. - to_pyarrow and to_pyarrow_batches: users can now return PyArrow objects (Tables, Arrays, Scalars, RecordBatchReader) and therefore grants all of the functionality that PyArrow provides
- JSON getitem: users can now run getitem on a JSON field using Ibis expressions with some backends
- Plotting support through
__array__
: allows users to plot Ibis expressions out of the box
Refactors
This won’t be visible to most users, but the project underwent a series of refactors that spans multiple PRs. Notable changes include removing intermediate expressions, improving the testing framework, and UX updates.
Additional Changes
As mentioned previously, additional functionality, bugfixes, and more have been included in the latest 4.0 release. To stay up to date and learn more about recent changes: check out the project’s homepage at ibis-project.org, follow @IbisData on Twitter, find the source code and community on GitHub, and join the discussion on Zulip.
As always, try Ibis by installing it today.