Ibis v4.0.0

release
blog
Author

Patrick Clarke

Published

January 9, 2023

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) through read_* 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.

Back to top