Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Suggest installing dask when not discovered by ChunkManager #7963

Closed
wants to merge 2 commits into from

Conversation

TomNicholas
Copy link
Member

@TomNicholas TomNicholas commented Jul 5, 2023

  • Closes Better chunk manager error #7962
  • Tests added
  • User visible changes (including notable bug fixes) are documented in whats-new.rst
  • New functions/methods are listed in api.rst

@TomNicholas TomNicholas added the topic-chunked-arrays Managing different chunked backends, e.g. dask label Jul 5, 2023
@TomNicholas TomNicholas changed the title add package name to error message Suggest installing dask when not discovered by ChunkManager Jul 5, 2023
raise TypeError(
f"Could not find a Chunk Manager which recognises type {type(chunked_arr)}"
f"Could not find a Chunk Manager which recognises type {type(chunked_arr)}. Try installing the {possible_missing_package_name} package."
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
f"Could not find a Chunk Manager which recognises type {type(chunked_arr)}. Try installing the {possible_missing_package_name} package."
f"Could not find a Chunk Manager which recognises type {type(chunked_arr)}. Try searching for and installing a {possible_missing_package_name}_xarray package."

? Since you could have cubed installed but not cubed-xarray

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fair point, but then would that be more confusing if the problem is that the user doesn't have Dask installed? Because then it would point them towards a non-existent dask_xarray package...

@dcherian dcherian closed this Jul 24, 2023
@TomNicholas
Copy link
Member Author

This came up again in #8301.

To be honest, given there are only 2 known chunkmanagers at the moment, maybe we should just special case the error message to tell the user exactly which package to install?

@TomNicholas TomNicholas reopened this Oct 14, 2023
@dcherian
Copy link
Contributor

Works for me!

@@ -132,8 +132,9 @@ def get_chunked_array_type(*args) -> ChunkManagerEntrypoint:
if chunkmanager.is_chunked_array(chunked_arr)
]
if not selected:
possible_missing_package_name = type(chunked_arr).__module__.split(".")[0]
raise TypeError(
Copy link
Member

@andersy005 andersy005 Oct 16, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

considering that the error is actually caused by a missing package, could we consider

  • using a more general exception, such as ModuleNotFoundError, instead of the current TypeError?
  • or implementing a custom exception specifically for this purpose?

@TomNicholas
Copy link
Member Author

Closing in favour of #9676

@TomNicholas TomNicholas closed this Nov 8, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
topic-chunked-arrays Managing different chunked backends, e.g. dask topic-error reporting
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Better chunk manager error
3 participants