Skip to content

Update minimum version of dask #2203

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

Closed
jhamman opened this issue May 30, 2018 · 6 comments · Fixed by #2204
Closed

Update minimum version of dask #2203

jhamman opened this issue May 30, 2018 · 6 comments · Fixed by #2204

Comments

@jhamman
Copy link
Member

jhamman commented May 30, 2018

Xarray currently states that it supports dask version 0.9 and later. However, 1) I don't think this is true and my quick test shows that some of our tests fail using dask 0.9, and 2) we have a growing number of tests that are being skipped for older dask versions:

$ grep -irn "dask.__version__" xarray/tests/*py
xarray/tests/__init__.py:90:    if LooseVersion(dask.__version__) < '0.18':
xarray/tests/test_computation.py:755:        if LooseVersion(dask.__version__) < LooseVersion('0.17.3'):
xarray/tests/test_computation.py:841:    if not use_dask or LooseVersion(dask.__version__) > LooseVersion('0.17.4'):
xarray/tests/test_dask.py:211:    @pytest.mark.skipif(LooseVersion(dask.__version__) <= '0.15.4',
xarray/tests/test_dask.py:223:    @pytest.mark.skipif(LooseVersion(dask.__version__) <= '0.15.4',
xarray/tests/test_dask.py:284:    @pytest.mark.skipif(LooseVersion(dask.__version__) <= '0.15.4',
xarray/tests/test_dask.py:296:    @pytest.mark.skipif(LooseVersion(dask.__version__) <= '0.15.4',
xarray/tests/test_dask.py:387:        if LooseVersion(dask.__version__) == LooseVersion('0.15.3'):
xarray/tests/test_dask.py:784:    pytest.mark.skipif(LooseVersion(dask.__version__) <= '0.15.4',
xarray/tests/test_dask.py:802:    pytest.mark.skipif(LooseVersion(dask.__version__) <= '0.15.4',
xarray/tests/test_dask.py:818:@pytest.mark.skipif(LooseVersion(dask.__version__) <= '0.15.4',
xarray/tests/test_variable.py:1664:        if LooseVersion(dask.__version__) <= LooseVersion('0.15.1'):
xarray/tests/test_variable.py:1670:        if LooseVersion(dask.__version__) <= LooseVersion('0.15.1'):

I'd like to see xarray bump the minimum version number of dask to something around 0.15.4 (Oct. 2017) or 0.16 (Nov. 2017).

cc @mrocklin, @pydata/xarray

@fujiisoup
Copy link
Member

fujiisoup commented May 30, 2018

DataArray.dot() is using dask.einsum, and it only woks with dask >= 0.17.5 (#2089).

Does this requirement sound is too strict? If so, it maybe better to add another pass for older dask.

@jhamman
Copy link
Member Author

jhamman commented May 30, 2018

We have traditionally allowed for a fairly large lag in version dependencies so I'd guess that 0.17.5 (May 16, 2018) is too recent. That said, I'm in favor of shrinking that window to facilitate faster integration of new features.

@shoyer
Copy link
Member

shoyer commented May 31, 2018

Requiring 0.15.4 seems reasonable to me. There is virtue in supporting a (small) range of versions in dependencies. But clearly 0.9 was too out of date here.

We should probably add a CI test against the oldest version of dask that we support, just to make sure things don't sneak through.

@jhamman
Copy link
Member Author

jhamman commented May 31, 2018

Can I update my recommendation to 0.16? That is the version that added the new collection interface.

@fujiisoup
Copy link
Member

How do we consider the minimum version of optional dependency?
If we say "the minimum version of dask is 0.16", then all our dask related functions should work with dask=0.16?
or do we allow functions that only work with newer version of dask if we raise an appropriate error message?

@shoyer
Copy link
Member

shoyer commented May 31, 2018 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants