Skip to content

usage_python vignette fails with mudata >= 0.4 #511

Description

@rcannood

The usage_python vignette fails on CI since 2026-08-17, breaking R-CMD-check, r-universe and pkgdown on every branch:

Quitting from usage_python.Rmd:119-127 [load_mudata_example]
! anndata._io.specs.registry.IORegistryError: No read method registered for IOSpec(encoding_type='AnnData', encoding_version='0.1.0') from <class 'h5py._hl.group.Group'>. You may need to update your installation of anndata.

Cause

mudata 0.4.0 (released 2026-08-17) rewrote read_h5mu() to dispatch modality groups through anndata's IO registry on the encoding-type attribute. The example file used in the vignette (minipbcite.h5mu) was written by mudata <= 0.1.1 and stores encoding-type: "AnnData", while the registry only knows the lowercase "anndata" that mudata has written since 0.1.2. mudata's own backwards-compatibility test archives only go back to v0.1.2, so this went unnoticed upstream.

Verified locally:

  • mudata 0.3.10 + anndata 0.12: reads the file fine
  • mudata 0.4.0 / 0.4.1, with anndata 0.12 or 0.13: IORegistryError
  • mudata 0.4.1 after rewriting the attribute to "anndata": reads the file fine

Minimal reproducible example (no R needed):

curl -sLO https://github.com/gtca/h5xx-datasets/raw/b1177ac8877c89d8bb355b072164384b4e9cc81d/datasets/minipbcite.h5mu
uv run --with "mudata==0.4.1" python -c "import mudata; mudata.read_h5mu('minipbcite.h5mu')"

Plan

  • Pin mudata<0.4 in the vignette so CI is green again
  • Report the regression upstream to scverse/mudata -- a fallback for the legacy capitalised encoding-type would fix it -- or switch the vignette to an example file written by a recent mudata
  • Remove the pin once either of those lands

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions