summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--var/spack/repos/builtin/packages/py-dask/package.py139
-rw-r--r--var/spack/repos/builtin/packages/py-fsspec/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-partd/package.py3
3 files changed, 122 insertions, 24 deletions
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'))