From d1a5dc792ea9828433a207818ab5805a5bd0a2f0 Mon Sep 17 00:00:00 2001 From: Sergey Kosukhin Date: Tue, 12 May 2020 16:35:11 +0200 Subject: py-dask: new version (#16531) * py-dask: new version * py-dask: update the constraints. * py-dask: add a list of maintainers. --- .../repos/builtin/packages/py-dask/package.py | 139 +++++++++++++++++---- .../repos/builtin/packages/py-fsspec/package.py | 4 + .../repos/builtin/packages/py-partd/package.py | 3 + 3 files changed, 122 insertions(+), 24 deletions(-) (limited to 'var') diff --git a/var/spack/repos/builtin/packages/py-dask/package.py b/var/spack/repos/builtin/packages/py-dask/package.py index 4967306f63..b6f3a07f10 100644 --- a/var/spack/repos/builtin/packages/py-dask/package.py +++ b/var/spack/repos/builtin/packages/py-dask/package.py @@ -12,6 +12,9 @@ class PyDask(PythonPackage): homepage = "https://github.com/dask/dask/" url = "https://pypi.io/packages/source/d/dask/dask-1.1.0.tar.gz" + maintainers = ['skosukhin'] + + version('2.16.0', sha256='2af5b0dcd48ce679ce0321cf91de623f4fe376262789b951fefa3c334002f350') version('1.2.2', sha256='5e7876bae2a01b355d1969b73aeafa23310febd8c353163910b73e93dc7e492c') version('1.1.2', sha256='93b355b9a9c9a3ddbb39fab99d5759aad5cfd346f4520b87788970e80cf97256') version('1.1.0', sha256='e76088e8931b326c05a92d2658e07b94a6852b42c13a7560505a8b2354871454') @@ -21,10 +24,18 @@ class PyDask(PythonPackage): variant('array', default=True, description='Install requirements for dask.array') variant('bag', default=True, description='Install requirements for dask.bag') variant('dataframe', default=True, description='Install requirements for dask.dataframe') - variant('delayed', default=True, description='Install requirements for dask.delayed') variant('distributed', default=True, description='Install requirements for dask.distributed') + variant('diagnostics', default=False, description='Install requirements for dask.diagnostics') + variant('delayed', default=True, description='Install requirements for dask.delayed (dask.imperative)') + variant('yaml', default=True, description='Ensure support for YAML configuration files') + + conflicts('+distributed', when='@:0.4.0,0.7.6:0.8.1') + conflicts('+diagnostics', when='@:0.5.0') + conflicts('+yaml', when='@:0.17.5') - conflicts('+distributed', when='@:1.2.1') # Only present in 1.2.2+ + depends_on('python@2.7:2.8,3.5:', type=('build', 'run')) + depends_on('python@3.5:', type=('build', 'run'), when='@2.0.0:') + depends_on('python@3.6:', type=('build', 'run'), when='@2.7.0:') depends_on('py-setuptools', type='build') depends_on('py-pytest@3.1.0:', type='test') @@ -32,35 +43,107 @@ class PyDask(PythonPackage): depends_on('py-pytest-runner', type='test') # Requirements for dask.array - depends_on('py-numpy@1.11.0:', type=('build', 'run'), when='+array') - depends_on('py-numpy@1.13.0:', type=('build', 'run'), when='@1.2.2: +array') - depends_on('py-toolz@0.7.3:', type=('build', 'run'), when='+array') + depends_on('py-numpy@1.10.4:', type=('build', 'run'), when='+array') + depends_on('py-numpy@1.11.0:', type=('build', 'run'), when='@0.17.3: +array') + depends_on('py-numpy@1.13.0:', type=('build', 'run'), when='@1.2.1: +array') + + depends_on('py-toolz', type=('build', 'run'), when='+array') + depends_on('py-toolz@0.7.2:', type=('build', 'run'), when='@0.7.0: +array') + depends_on('py-toolz@0.7.3:', type=('build', 'run'), when='@0.14.1: +array') + depends_on('py-toolz@0.8.2:', type=('build', 'run'), when='@2.13.0: +array') # Requirements for dask.bag - depends_on('py-cloudpickle@0.2.1:', type=('build', 'run'), when='+bag') - depends_on('py-toolz@0.7.3:', type=('build', 'run'), when='+bag') - depends_on('py-partd@0.3.8:', type=('build', 'run'), when='+bag') + depends_on('py-dill', type=('build', 'run'), when='@:0.7.5 +bag') + depends_on('py-cloudpickle', type=('build', 'run'), when='@0.7.6: +bag') + depends_on('py-cloudpickle@0.2.1:', type=('build', 'run'), when='@0.8.2: +bag') + depends_on('py-cloudpickle@0.2.2:', type=('build', 'run'), when='@2.13.0: +bag') + + depends_on('py-fsspec@0.3.3:', type=('build', 'run'), when='@2.2.0: +bag') + depends_on('py-fsspec@0.5.1:', type=('build', 'run'), when='@2.5.0: +bag') + depends_on('py-fsspec@0.6.0:', type=('build', 'run'), when='@2.8.0: +bag') + + depends_on('py-toolz', type=('build', 'run'), when='+bag') + depends_on('py-toolz@0.7.2:', type=('build', 'run'), when='@0.7.0: +bag') + depends_on('py-toolz@0.7.3:', type=('build', 'run'), when='@0.14.1: +bag') + depends_on('py-toolz@0.8.2:', type=('build', 'run'), when='@2.13.0: +bag') + + depends_on('py-partd', type=('build', 'run'), when='+bag') + depends_on('py-partd@0.3.2:', type=('build', 'run'), when='@0.6.0: +bag') + depends_on('py-partd@0.3.3:', type=('build', 'run'), when='@0.9.0: +bag') + depends_on('py-partd@0.3.5:', type=('build', 'run'), when='@0.10.2: +bag') + depends_on('py-partd@0.3.6:', type=('build', 'run'), when='@0.12.0: +bag') + depends_on('py-partd@0.3.7:', type=('build', 'run'), when='@0.13.0: +bag') + depends_on('py-partd@0.3.8:', type=('build', 'run'), when='@0.15.0: +bag') + depends_on('py-partd@0.3.10:', type=('build', 'run'), when='@2.0.0: +bag') # Requirements for dask.dataframe - depends_on('py-numpy@1.11.0:', type=('build', 'run'), when='+dataframe') - depends_on('py-numpy@1.13.0:', type=('build', 'run'), when='@1.2.2: +dataframe') - depends_on('py-pandas@0.19.0:', type=('build', 'run'), when='+dataframe') - depends_on('py-pandas@0.21.0:', type=('build', 'run'), when='@1.2.2: +dataframe') - depends_on('py-toolz@0.7.3:', type=('build', 'run'), when='+dataframe') - depends_on('py-partd@0.3.8:', type=('build', 'run'), when='+dataframe') - depends_on('py-cloudpickle@0.2.1:', type=('build', 'run'), when='+dataframe') + depends_on('py-numpy@1.10.4:', type=('build', 'run'), when='+dataframe') + depends_on('py-numpy@1.11.0:', type=('build', 'run'), when='@0.17.3: +dataframe') + depends_on('py-numpy@1.13.0:', type=('build', 'run'), when='@1.2.1: +dataframe') + + depends_on('py-pandas@0.16.0:', type=('build', 'run'), when='+dataframe') + depends_on('py-pandas@0.18.0:', type=('build', 'run'), when='@0.9.0: +dataframe') + depends_on('py-pandas@0.19.0:', type=('build', 'run'), when='@0.14.0: +dataframe') + depends_on('py-pandas@0.21.0:', type=('build', 'run'), when='@1.2.1: +dataframe') + depends_on('py-pandas@0.23.0:', type=('build', 'run'), when='@2.11.0: +dataframe') + + depends_on('py-toolz', type=('build', 'run'), when='+dataframe') + depends_on('py-toolz@0.7.2:', type=('build', 'run'), when='@0.7.0: +dataframe') + depends_on('py-toolz@0.7.3:', type=('build', 'run'), when='@0.14.1: +dataframe') + depends_on('py-toolz@0.8.2:', type=('build', 'run'), when='@2.13.0: +dataframe') + + depends_on('py-partd', type=('build', 'run'), when='+dataframe') + depends_on('py-partd@0.3.2:', type=('build', 'run'), when='@0.6.0: +dataframe') + depends_on('py-partd@0.3.3:', type=('build', 'run'), when='@0.9.0: +dataframe') + depends_on('py-partd@0.3.5:', type=('build', 'run'), when='@0.10.2: +dataframe') + depends_on('py-partd@0.3.7:', type=('build', 'run'), when='@0.13.0: +dataframe') + depends_on('py-partd@0.3.8:', type=('build', 'run'), when='@0.15.0: +dataframe') + depends_on('py-partd@0.3.10:', type=('build', 'run'), when='@2.0.0: +dataframe') + + depends_on('py-cloudpickle@0.2.1:', type=('build', 'run'), when='@0.8.2:2.6.0 +dataframe') + + depends_on('py-fsspec@0.3.3:', type=('build', 'run'), when='@2.2.0: +dataframe') + depends_on('py-fsspec@0.5.1:', type=('build', 'run'), when='@2.5.0: +dataframe') + depends_on('py-fsspec@0.6.0:', type=('build', 'run'), when='@2.8.0: +dataframe') + + # Requirements for dask.distributed + depends_on('py-dill', type=('build', 'run'), when='@:0.7.5 +distributed') + depends_on('py-pyzmq', type=('build', 'run'), when='@:0.7.5 +distributed') + depends_on('py-distributed', type=('build', 'run'), when='@0.8.2: +distributed') + depends_on('py-distributed@1.9:', type=('build', 'run'), when='@0.9.0: +distributed') + depends_on('py-distributed@1.10:', type=('build', 'run'), when='@0.10.0: +distributed') + depends_on('py-distributed@1.14:', type=('build', 'run'), when='@0.12.0: +distributed') + depends_on('py-distributed@1.15:', type=('build', 'run'), when='@0.13.0: +distributed') + depends_on('py-distributed@1.16:', type=('build', 'run'), when='@0.14.1: +distributed') + depends_on('py-distributed@1.20:', type=('build', 'run'), when='@0.16.0: +distributed') + depends_on('py-distributed@1.21:', type=('build', 'run'), when='@0.17.0: +distributed') + depends_on('py-distributed@1.22:', type=('build', 'run'), when='@0.18.0: +distributed') + depends_on('py-distributed@2.0:', type=('build', 'run'), when='@2.0.0: +distributed') + + # Requirements for dask.diagnostics + depends_on('py-bokeh', type=('build', 'run'), when='+diagnostics') + depends_on('py-bokeh@1.0.0:', type=('build', 'run'), when='@2.0.0: +diagnostics') # Requirements for dask.delayed - depends_on('py-toolz@0.7.3:', type=('build', 'run'), when='+delayed') + depends_on('py-cloudpickle@0.2.1:', type=('build', 'run'), when='@2,7.0: +delayed') + depends_on('py-cloudpickle@0.2.2:', type=('build', 'run'), when='@2.13.0: +delayed') - # Requirements for dask.distributed - depends_on('py-distributed@1.22:', type=('build', 'run'), when='+distributed') + depends_on('py-toolz@0.7.2:', type=('build', 'run'), when='@0.8.1: +delayed') + depends_on('py-toolz@0.7.3:', type=('build', 'run'), when='@0.14.1: +delayed') + depends_on('py-toolz@0.8.2:', type=('build', 'run'), when='@2.13.0: +delayed') + + # Support for YAML configuration files + depends_on('py-pyyaml', type=('build', 'run'), when='+yaml') @property def import_modules(self): - modules = [ - 'dask', 'dask.bytes', 'dask.diagnostics', 'dask.store' - ] + modules = ['dask'] + + if self.spec.satisfies('@0.9.0:'): + modules.append('dask.bytes') + + if self.spec.satisfies('@:0.20.2'): + modules.append('dask.store') if '+array' in self.spec: modules.append('dask.array') @@ -68,9 +151,17 @@ class PyDask(PythonPackage): if '+bag' in self.spec: modules.append('dask.bag') + if self.spec.satisfies('@:0.7.5 +distributed'): + modules.append('dask.distributed') + if '+dataframe' in self.spec: - modules.extend([ - 'dask.dataframe', 'dask.dataframe.io', 'dask.dataframe.tseries' - ]) + modules.append('dask.dataframe') + if self.spec.satisfies('@0.8.2:'): + modules.append('dask.dataframe.tseries') + if self.spec.satisfies('@0.12.0:'): + modules.append('dask.dataframe.io') + + if '+diagnostics' in self.spec: + modules.append('dask.diagnostics') return modules diff --git a/var/spack/repos/builtin/packages/py-fsspec/package.py b/var/spack/repos/builtin/packages/py-fsspec/package.py index 6302fff6d7..bf82fc803a 100644 --- a/var/spack/repos/builtin/packages/py-fsspec/package.py +++ b/var/spack/repos/builtin/packages/py-fsspec/package.py @@ -12,7 +12,11 @@ class PyFsspec(PythonPackage): homepage = "https://github.com/intake/filesystem_spec" url = "https://pypi.io/packages/source/f/fsspec/fsspec-0.4.4.tar.gz" + import_modules = ['fsspec', 'fsspec.implementations'] + + version('0.7.3', sha256='1b540552c93b47e83c568e87507d6e02993e6d1b30bc7285f2336c81c5014103') version('0.4.4', sha256='97697a46e8bf8be34461c2520d6fc4bfca0ed749b22bb2b7c21939fd450a7d63') depends_on('python@3.5:', type=('build', 'run')) + depends_on('python@3.6:', type=('build', 'run'), when='@0.6.3:') depends_on('py-setuptools', type='build') diff --git a/var/spack/repos/builtin/packages/py-partd/package.py b/var/spack/repos/builtin/packages/py-partd/package.py index 616f960f23..8e99413822 100644 --- a/var/spack/repos/builtin/packages/py-partd/package.py +++ b/var/spack/repos/builtin/packages/py-partd/package.py @@ -14,8 +14,11 @@ class PyPartd(PythonPackage): import_modules = ['partd'] + version('1.1.0', sha256='6e258bf0810701407ad1410d63d1a15cfd7b773fd9efe555dac6bb82cc8832b0') + version('0.3.10', sha256='33722a228ebcd1fa6f44b1631bdd4cff056376f89eb826d7d880b35b637bcfba') version('0.3.8', sha256='67291f1c4827cde3e0148b3be5d69af64b6d6169feb9ba88f0a6cfe77089400f') + depends_on('python@3.5:', type=('build', 'run'), when='@1.1.0:') depends_on('py-setuptools', type='build') depends_on('py-locket', type=('build', 'run')) depends_on('py-toolz', type=('build', 'run')) -- cgit v1.2.3-70-g09d2