Skip to content

Panic in Polars when loading ESM catalog from S3-hosted CSV (begin <= end (10 <= 9) slicing error) #744

@BaptisteFrancois

Description

@BaptisteFrancois

Description

When attempting to load an ESM catalog from a CSV file hosted on S3 using intake-esm, the process fails with a panic from the polars backend. The error appears to be related to slicing logic in polars-io.

What I Did

import intake
cat = intake.open_esm_datastore("https://cadcat.s3.amazonaws.com/cae-zarr.csv")

Traceback

thread '<unnamed>' (14708) panicked at crates\polars-io\src\path_utils\mod.rs:427:63:
begin <= end (10 <= 9) when slicing `cadcat.s3.amazonaws.com/cae-zarr.csv`
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Users\bfrancois\AppData\Local\anaconda3\envs\ebmud\lib\site-packages\intake_esm\core.py", line 124, in __init__
    self.esmcat = ESMCatalogModel.load(
  File "C:\Users\bfrancois\AppData\Local\anaconda3\envs\ebmud\lib\site-packages\intake_esm\cat.py", line 265, in load
    cat._cast_agg_columns_with_iterables()
  File "C:\Users\bfrancois\AppData\Local\anaconda3\envs\ebmud\lib\site-packages\intake_esm\cat.py", line 369, in _cast_agg_columns_with_iterables
    self.columns_with_iterables.intersection(
  File "C:\Users\bfrancois\AppData\Local\anaconda3\envs\ebmud\lib\site-packages\intake_esm\cat.py", line 354, in columns_with_iterables
    return self._frames.columns_with_iterables  # type: ignore[union-attr]
  File "C:\Users\bfrancois\AppData\Local\anaconda3\envs\ebmud\lib\site-packages\intake_esm\cat.py", line 582, in columns_with_iterables
    if (trunc_df := self.lazy.head(1).collect()).is_empty():
  File "C:\Users\bfrancois\AppData\Local\anaconda3\envs\ebmud\lib\site-packages\polars\_utils\deprecation.py", line 97, in wrapper
    return function(*args, **kwargs)
  File "C:\Users\bfrancois\AppData\Local\anaconda3\envs\ebmud\lib\site-packages\polars\lazyframe\opt_flags.py", line 330, in wrapper
    return function(*args, **kwargs)
  File "C:\Users\bfrancois\AppData\Local\anaconda3\envs\ebmud\lib\site-packages\polars\lazyframe\frame.py", line 2407, in collect
    return wrap_df(ldf.collect(engine, callback))
pyo3_runtime.PanicException: begin <= end (10 <= 9) when slicing `cadcat.s3.amazonaws.com/cae-zarr.csv`

Version information: output of intake_esm.show_versions()

INSTALLED VERSIONS

cftime: 1.6.4
dask: 2025.7.0
fastprogress: 1.0.3
fsspec: 2025.9.0
gcsfs: None
intake: 2.0.8
intake_esm: 2025.7.9
netCDF4: 1.7.2
pandas: 2.3.2
requests: 2.32.5
s3fs: 2025.9.0
xarray: 2025.6.1
zarr: 2.18.3

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions