ukaea/fair-mast

Intake-xarray plugin does not support python 3.12

Opened this issue · 3 comments

When using terminal in virtual environment with python=3.12 and all dependancies added:

uv pip install pandas matplotlib zarr fsspec s3fs intake intake_xarray intake_parquet ipython jinja2

ipython and jinjia2 are not in the pip install at the top of the page:

ipython is imported into the code, but I don't believe it is actually used so could be taken out of imports.
jinja2 is used but is not in the pip install list at the top of the page.

I then run the code as it is written in the document
when I get to line:
dataset = catalog.level1.shots(url=shot.url, group='amc').to_dask()
I get error message:
ValueError: No plugins loaded for this entry:
intake_xarray.xzarr.ZarrSource

which I believe is from .to_dask(). It does still work when I am in collab however.
Added issue before noticing it was a python version error. The code works for python=3.11 and hence why it works in collab.

Pip installs that were missing have now been added.

The fact that it doesn't work for python 3.12 to 3.13 has not been resolved.

I've investigated this and it is because the intake-xarray plugin imports distutils, which was removed in python 3.12.

I'll open an issue there and see how that goes.

It looks to me like we should remake the intake catalogues using just intake, rather than the plugin.

See intake/intake#850 for details.