fix: Handle inhomogeneous array shapes in to_arrays() #1382
+64
−1
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
to_arrays()failing when arrays have different but "almost compatible" shapes (e.g.,(100,)vs(100, 1))Problem
When fetching blob attributes containing arrays of different shapes,
to_arrays()would fail:The fallback
np.array(values, dtype=object)still fails because numpy tries to broadcast shapes that are "almost compatible".Solution
Instead of
np.array(values, dtype=object), create an empty object array and assign elements individually:This matches v0.14.7 behavior where
fetch(*attrs)extracted columns from structured arrays withdtype=object, preserving individual array shapes.Test plan
Fixes #1380
🤖 Generated with Claude Code