See Progress for most details. This only adds a function ``func=``
that splits keys. This defaults to ``key_split`` which aligns with naming
conventions chosen in the dask project (tuples, hyphens, etc..)
State
-----
keys: dict
Maps group name to set of not-yet-complete keys for that group
all_keys: dict
Maps group name to set of all keys for that group>>> split = lambda s: s.split('-')[0]
>>> p = MultiProgress(['y-2'], func=split) # doctest: +SKIP
>>> p.keys # doctest: +SKIP
{'x': {'x-1', 'x-2', 'x-3'},
'y': {'y-1', 'y-2'}}This method overrides distributed.diagnostics.progress.Progress.__init__.
This method overrides distributed.diagnostics.progress.Progress.transition.
Start state of the transition. One of released, waiting, processing, memory, error.
Final state of the transition.
This may include worker ID, compute time, etc.