Skip to content

chore: drop the cloudpickle test and tidy changelog fragments for the VerboseModule removal - #4555

Closed
d-v-b wants to merge 4 commits into
zarr-developers:mainfrom
d-v-b:chore/4505-followup
Closed

d-v-b wants to merge 4 commits into
zarr-developers:mainfrom
d-v-b:chore/4505-followup

Conversation

@d-v-b

@d-v-b d-v-b commented Oct 22, 2026

Copy link
Copy Markdown
Contributor

Summary

This PR follows up on #4505 by updating the changelog entry and removing the test that was added. We don't need to test that the module is pickleable. It's just a regular module now.

Author attestation

  • I am a human, these are my changes, and I have reviewed and understood every change and can explain why each is correct.

TODO

  • Add unit tests and/or doctests in docstrings
  • Add docstrings and API docs for any new/modified user-facing classes and functions
  • New/modified features documented in docs/user-guide/*.md
  • Changes documented as a new file in changes/
  • GitHub Actions have all passed
  • Test coverage is 100% (Codecov passes)

Yi-111-a and others added 4 commits October 10, 2026 03:35
`zarr.storage` was replaced at import time by `VerboseModule`, a
`types.ModuleType` subclass that only existed to warn about the
long-deprecated `zarr.storage.default_compressor` attribute.

Serializers that dispatch on the exact type of an object miss that subclass:
`cloudpickle` (used by Dask) registers a reduce for `ModuleType`, so any
attempt to serialize the module raised `TypeError: cannot pickle
'VerboseModule' object`, which made `zarr.storage.ObjectStore`-backed Dask
arrays impossible to send to a cluster.

Drop the wrapper as suggested in zarr-developers#4029 and add a regression test. Setting
`zarr.storage.default_compressor` no longer warns; `zarr.config` is the
supported way to configure `array.v2_default_compressor`.
…ule removal

Rename the changelog fragment from the issue number (4029) to the PR
number (4505), as changes/README.md requires, and shorten it to the
user-visible effect. Add a removal fragment for the dropped
`zarr.storage.default_compressor` deprecation warning, as the
deprecation policy in docs/contributing.md requires when a deprecated
API is finally removed. Replace the comment block in
test_storage_module_is_picklable with a docstring, matching the
neighboring tests.

Assisted-by: ClaudeCode:claude-fable-5-1
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
The test only checked that `zarr.storage` is a plain `ModuleType` and
that cloudpickle can pickle a plain module. The first guards against
re-adding a one-off `__class__` swap; the second tests cloudpickle.
Neither justified a new pinned test dependency, so the test, the
`cloudpickle` pin in the `test` group, and its `uv.lock` entries go.

Assisted-by: ClaudeCode:claude-opus-5-5
@d-v-b

d-v-b commented Oct 23, 2026

Copy link
Copy Markdown
Contributor Author

closing in favor of #4557

@d-v-b d-v-b closed this Oct 23, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant