You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
At the moment distributed does not include bokeh in its requirements at all. But it contains features that break without it. I'd like to ask that you include bokeh as optional requirement in your package, so that users can easily install everything they need.
Seems reasonable to me to move the diagnostics extra from dask to distributed. I'm wondering if historically, the idea was "you should install distributed through dask, not on its own"—maybe @jrbourbeau would know?
I'm wondering if historically, the idea was "you should install distributed through dask, not on its own"—maybe @jrbourbeau would know?
I would argue this is still the case. There is typically no point in installing distributed as a standalone since it will inevitably install dask as well.
distributed itself currently does not have any extra requirements and I'm not eager to run into any pinning issues because dask and distributed definitions drift.
@gabicca you can install what you want by simply installing dask[distributed, diagnostics]. Would this work for you?
I still disagree with this approach. It feels backwards. You're right, dask will be installed if you install distributed, because it's in distributed's requirements. But you can't specify if you want any optional requirements installed like that, because distributed doesn't have the right settings to give it optionals.
You say: "There is typically no point in installing distributed as a standalone since it will inevitably install dask as well." This doesn't really make sense. If you need distributed, then you should just install distributed and not specify dask as your dependency, since distributed will install it anyway. But now, if I want distributed with diagnostics (since really, that's a distributed feature and not, or not just, a dask feature), you can't just make it your dependency, because now you explicitly have to add dask[diagnostics] as well, sintead of just adding distributed[diagnostics] and not worry about dask anymore.
Sorry for the convoluted message, hopefully what I'm trying to say here gets across.
At the moment the only way we could solve this is add dask[diagnostics] into the requirements and we have distributed as a separate requirement. Yes, we could replace with dask[distributed, diagnostics] but that won't make much of a difference still.
Again, the main problem here, is that the [diagnostics] bit in dask is actually required by distributed; but you can't ask distributed itself to install all its diagnostics packages.
Activity
gjoseph92 commentedon Dec 1, 2022
Seems reasonable to me to move the
diagnosticsextra from dask to distributed. I'm wondering if historically, the idea was "you should install distributed through dask, not on its own"—maybe @jrbourbeau would know?gjoseph92 commentedon Feb 6, 2023
@jrbourbeau any more thoughts here? This still seems like a pain point #7512
fjetter commentedon Feb 9, 2023
I would argue this is still the case. There is typically no point in installing
distributedas a standalone since it will inevitably installdaskas well.distributeditself currently does not have any extra requirements and I'm not eager to run into any pinning issues because dask and distributed definitions drift.@gabicca you can install what you want by simply installing
dask[distributed, diagnostics]. Would this work for you?gabicca commentedon Feb 9, 2023
Hi @fjetter ,
I still disagree with this approach. It feels backwards. You're right, dask will be installed if you install distributed, because it's in distributed's requirements. But you can't specify if you want any optional requirements installed like that, because distributed doesn't have the right settings to give it optionals.
You say: "There is typically no point in installing distributed as a standalone since it will inevitably install dask as well." This doesn't really make sense. If you need distributed, then you should just install distributed and not specify dask as your dependency, since distributed will install it anyway. But now, if I want distributed with diagnostics (since really, that's a distributed feature and not, or not just, a dask feature), you can't just make it your dependency, because now you explicitly have to add dask[diagnostics] as well, sintead of just adding distributed[diagnostics] and not worry about dask anymore.
Sorry for the convoluted message, hopefully what I'm trying to say here gets across.
At the moment the only way we could solve this is add
dask[diagnostics]into the requirements and we havedistributedas a separate requirement. Yes, we could replace withdask[distributed, diagnostics]but that won't make much of a difference still.Again, the main problem here, is that the
[diagnostics]bit in dask is actually required by distributed; but you can't ask distributed itself to install all its diagnostics packages.fix bokeh version dep