pola-rs/polars · error

write_database with Snowflake driver requires 'pyarrow'. Ple

Error message

write_database with Snowflake driver requires 'pyarrow'.
Please install using the command `pip install pyarrow`.

What it means

Error "write_database with Snowflake driver requires 'pyarrow'. Please install using the command `pip install pyarrow`." thrown in pola-rs/polars.

Source

Thrown at py-polars/src/polars/dataframe/frame.py:4634

                        if (
                            getattr(err, "status_code", None)
                            == driver_manager.AdbcStatusCode.NOT_FOUND
                        ):
                            mode = "create_append"

                # For Snowflake, we convert to PyArrow until string_view columns can be
                # written. Ref: https://github.com/apache/arrow-adbc/issues/3420
                is_snowflake_driver = (
                    "snowflake" in adbc_module_name
                    if _PYARROW_AVAILABLE
                    else _is_adbc_snowflake_conn(conn)
                )
                if is_snowflake_driver and not _PYARROW_AVAILABLE:
                    msg = (
                        "write_database with Snowflake driver requires 'pyarrow'.\n"
                        "Please install using the command `pip install pyarrow`."
                    )
                    raise ModuleNotFoundError(msg)

                # As of adbc_driver_manager 1.6.0, adbc_ingest can take a Polars
                # DataFrame via the PyCapsule interface
                data = (
                    self
                    if (driver_manager_version >= (1, 6)) and not is_snowflake_driver
                    else self.to_arrow()
                )

                # use of schema-qualified table names was released in
                # adbc-driver-manager 0.7.0 and is working without bugs from driver
                # version (e.g., adbc-driver-postgresql) version 0.8.0
                if driver_manager_version >= (0, 7) and adbc_driver_version >= (0, 8):
                    n_rows = cursor.adbc_ingest(
                        unpacked_table_name,
                        data=data,
                        mode=mode,
                        catalog_name=catalog,

View on GitHub (pinned to df599052da)

When it happens

Trigger: Thrown at py-polars/src/polars/dataframe/frame.py:4634 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of pola-rs/polars@df599052da (2026-08-16). Data as JSON: /api/errors/ea2111c115524df3. Report an issue: GitHub.