[python-package] [dask] add type annotations on dask._HostWorkers #5766
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.
Contributes to #3756.
Contributes to #3867.
Split from #5765.
Proposes replacing the use of
collections.namedtuple
for one internal class in the Dask module with a regular Python class, so that informative type annotations can be added.This makes it a bit clearer, when reading the code, what the values of that class's attributes should be (unlike
namedtuple
, which is just a collection of attribute names).I chose to use a regular Python class instead of
dataclasses.dataclass
to preserve support for Python 3.6 (#5765 (comment)), and chose to avoidtyping.NamedTuple
(https://stackoverflow.com/a/50038614/3986677) to reduce the risk of incompatibilities caused by future updates totyping
.