-
-
Notifications
You must be signed in to change notification settings - Fork 1.8k
Description
I know there was an effort to pull out some of the dependencies in dask last year, and I just had an extended discussion with @jcrist about what is or isn't an optional dependency.
I'd strongly suggest that if dask is going to get wider adoption, that this be handled more gracefully. I can think of three reasonable solutions here (feel free to add others if I missed something):
1] pull dask subcomponents out so that they get to remain lightweight, this makes the overall development process harder to coordinate but encourages more ownership as well of the individual pieces and has a slew of other pros/cons
2] bite the bullet and add bokeh/psutil/etc... back in as dependencies to the conda package. I'm less concerned with folks who install dask from other sources, but the conda package should install everything a user who expects to interact with dask may need.
3] handle all import errors of optional dependencies more gracefully. Possibly by adding a thin wrapper function around these imports that catches ImportErrors and explains to the user what package failed to import, then points them to a documentation page where optional dependencies are laid out.