summaryrefslogtreecommitdiff
path: root/var
diff options
context:
space:
mode:
authorAdam J. Stewart <ajstewart426@gmail.com>2020-12-16 17:15:03 -0600
committerGitHub <noreply@github.com>2020-12-16 15:15:03 -0800
commit826cd07cf7bef7d610103516943b0ef73ab459ad (patch)
treebdde5bcf9c1ee4051c54c05f07dadb9088906fdf /var
parentcd496a20e97ab339c2f75093e098b3e2fde521a2 (diff)
downloadspack-826cd07cf7bef7d610103516943b0ef73ab459ad.tar.gz
spack-826cd07cf7bef7d610103516943b0ef73ab459ad.tar.bz2
spack-826cd07cf7bef7d610103516943b0ef73ab459ad.tar.xz
spack-826cd07cf7bef7d610103516943b0ef73ab459ad.zip
PythonPackage: add import module smoke tests (#20023)
Diffstat (limited to 'var')
-rw-r--r--var/spack/repos/builtin/packages/aws-parallelcluster/package.py4
-rw-r--r--var/spack/repos/builtin/packages/gdal/package.py19
-rw-r--r--var/spack/repos/builtin/packages/mercurial/package.py7
-rw-r--r--var/spack/repos/builtin/packages/py-accimage/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-adb-enhanced/package.py1
-rw-r--r--var/spack/repos/builtin/packages/py-aenum/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-aiohttp-cors/package.py19
-rw-r--r--var/spack/repos/builtin/packages/py-alabaster/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-apipkg/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-appdirs/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-archspec/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-argon2-cffi/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-args/package.py1
-rw-r--r--var/spack/repos/builtin/packages/py-arrow/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-asteval/package.py1
-rw-r--r--var/spack/repos/builtin/packages/py-astor/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-astropy/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-atomicwrites/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-attrs/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-awesome-slugify/package.py1
-rw-r--r--var/spack/repos/builtin/packages/py-azure-cli-core/package.py1
-rw-r--r--var/spack/repos/builtin/packages/py-azure-cli-telemetry/package.py1
-rw-r--r--var/spack/repos/builtin/packages/py-azure-cli/package.py1
-rw-r--r--var/spack/repos/builtin/packages/py-babel/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-basis-set-exchange/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-black/package.py13
-rw-r--r--var/spack/repos/builtin/packages/py-blis/package.py1
-rw-r--r--var/spack/repos/builtin/packages/py-blosc/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-boto3/package.py5
-rw-r--r--var/spack/repos/builtin/packages/py-botocore/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-bottleneck/package.py1
-rw-r--r--var/spack/repos/builtin/packages/py-brian2/package.py1
-rw-r--r--var/spack/repos/builtin/packages/py-cairocffi/package.py5
-rw-r--r--var/spack/repos/builtin/packages/py-cartopy/package.py11
-rw-r--r--var/spack/repos/builtin/packages/py-certifi/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-cffi/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-chardet/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-cloudpickle/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-cmocean/package.py1
-rw-r--r--var/spack/repos/builtin/packages/py-codecov/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-counter/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-cvxopt/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-cvxpy/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-cython/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-dask/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-dateparser/package.py5
-rw-r--r--var/spack/repos/builtin/packages/py-deeptools/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-diskcache/package.py1
-rw-r--r--var/spack/repos/builtin/packages/py-docopt/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-docutils/package.py11
-rw-r--r--var/spack/repos/builtin/packages/py-dxchange/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-dxfile/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-easybuild-framework/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-ecdsa/package.py1
-rw-r--r--var/spack/repos/builtin/packages/py-ecos/package.py1
-rw-r--r--var/spack/repos/builtin/packages/py-edffile/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-elephant/package.py1
-rw-r--r--var/spack/repos/builtin/packages/py-entrypoints/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-fenics-dolfinx/package.py1
-rw-r--r--var/spack/repos/builtin/packages/py-filemagic/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-fiona/package.py5
-rw-r--r--var/spack/repos/builtin/packages/py-fiscalyear/package.py5
-rw-r--r--var/spack/repos/builtin/packages/py-fisher/package.py1
-rw-r--r--var/spack/repos/builtin/packages/py-freezegun/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-fsspec/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-funcsigs/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-future/package.py26
-rw-r--r--var/spack/repos/builtin/packages/py-gee-asset-manager/package.py1
-rw-r--r--var/spack/repos/builtin/packages/py-geeadd/package.py1
-rw-r--r--var/spack/repos/builtin/packages/py-geoalchemy2/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-geopandas/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-google-api-core/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-gpustat/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-graphviz/package.py5
-rw-r--r--var/spack/repos/builtin/packages/py-grequests/package.py1
-rw-r--r--var/spack/repos/builtin/packages/py-h5py/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-h5sh/package.py1
-rw-r--r--var/spack/repos/builtin/packages/py-hacking/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-horovod/package.py59
-rw-r--r--var/spack/repos/builtin/packages/py-htmlgen/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-humanize/package.py1
-rw-r--r--var/spack/repos/builtin/packages/py-hypothesis/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-imagesize/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-iminuit/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-importlib-metadata/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-intervaltree/package.py1
-rw-r--r--var/spack/repos/builtin/packages/py-ipykernel/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-ipython/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-ipywidgets/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-isort/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-jinja2/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-jmespath/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-jupyterlab-server/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-jupyterlab/package.py5
-rw-r--r--var/spack/repos/builtin/packages/py-kmodes/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-latexcodec/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-linecache2/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-locket/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-logilab-common/package.py1
-rw-r--r--var/spack/repos/builtin/packages/py-luigi/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-mako/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-markupsafe/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-matplotlib/package.py17
-rw-r--r--var/spack/repos/builtin/packages/py-mccabe/package.py1
-rw-r--r--var/spack/repos/builtin/packages/py-merlin/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-mock/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-more-itertools/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-msal-extensions/package.py1
-rw-r--r--var/spack/repos/builtin/packages/py-mypy/package.py5
-rw-r--r--var/spack/repos/builtin/packages/py-nose/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-numpy/package.py25
-rw-r--r--var/spack/repos/builtin/packages/py-oauthlib/package.py9
-rw-r--r--var/spack/repos/builtin/packages/py-olefile/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-openslide-python/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-opt-einsum/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-ordereddict/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-oset/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-overpy/package.py1
-rw-r--r--var/spack/repos/builtin/packages/py-packaging/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-pandas/package.py29
-rw-r--r--var/spack/repos/builtin/packages/py-parso/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-partd/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-pathlib2/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-patsy/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-pbr/package.py16
-rw-r--r--var/spack/repos/builtin/packages/py-pep8/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-pillow/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-pkgconfig/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-pkginfo/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-planet/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-pluggy/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-preshed/package.py1
-rw-r--r--var/spack/repos/builtin/packages/py-projectq/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-prometheus-client/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-psutil/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-py/package.py9
-rw-r--r--var/spack/repos/builtin/packages/py-py2cairo/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-py4j/package.py1
-rw-r--r--var/spack/repos/builtin/packages/py-pyarrow/package.py5
-rw-r--r--var/spack/repos/builtin/packages/py-pybind11/package.py1
-rw-r--r--var/spack/repos/builtin/packages/py-pybtex-docutils/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-pybtex/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-pycparser/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-pycuda/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-pydotplus/package.py1
-rw-r--r--var/spack/repos/builtin/packages/py-pygments/package.py9
-rw-r--r--var/spack/repos/builtin/packages/py-pyinstrument-cext/package.py1
-rw-r--r--var/spack/repos/builtin/packages/py-pyinstrument/package.py1
-rw-r--r--var/spack/repos/builtin/packages/py-pyjwt/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-pykml/package.py1
-rw-r--r--var/spack/repos/builtin/packages/py-pynn/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-pyparsing/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-pyprecice/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-pyproj/package.py1
-rw-r--r--var/spack/repos/builtin/packages/py-pyqt4/package.py7
-rw-r--r--var/spack/repos/builtin/packages/py-pyqt5/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-pysocks/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-pytest-httpbin/package.py1
-rw-r--r--var/spack/repos/builtin/packages/py-pytest-isort/package.py1
-rw-r--r--var/spack/repos/builtin/packages/py-pytest-pep8/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-pytest-runner/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-pytest/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-python-dateutil/package.py14
-rw-r--r--var/spack/repos/builtin/packages/py-python-swiftclient/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-python-utils/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-pytz/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-pywavelets/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-pyyaml/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-pyzmq/package.py14
-rw-r--r--var/spack/repos/builtin/packages/py-qsymm/package.py1
-rw-r--r--var/spack/repos/builtin/packages/py-qtconsole/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-rasterio/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-readme-renderer/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-requests-mock/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-requests-oauthlib/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-requests/package.py18
-rw-r--r--var/spack/repos/builtin/packages/py-robotframework/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-rsa/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-s3transfer/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-scandir/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-scikit-learn/package.py19
-rw-r--r--var/spack/repos/builtin/packages/py-scikit-optimize/package.py1
-rw-r--r--var/spack/repos/builtin/packages/py-scipy/package.py31
-rw-r--r--var/spack/repos/builtin/packages/py-setuptools-scm/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-setuptools/package.py25
-rw-r--r--var/spack/repos/builtin/packages/py-shapely/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-six/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-snowballstemmer/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-spdlog/package.py1
-rw-r--r--var/spack/repos/builtin/packages/py-spefile/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-sphinx-rtd-theme/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-sphinx/package.py18
-rw-r--r--var/spack/repos/builtin/packages/py-sphinxcontrib-applehelp/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-sphinxcontrib-bibtex/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-sphinxcontrib-devhelp/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-sphinxcontrib-htmlhelp/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-sphinxcontrib-jsmath/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-sphinxcontrib-programoutput/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-sphinxcontrib-qthelp/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-sphinxcontrib-serializinghtml/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-sphinxcontrib-websupport/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-sqlalchemy/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-srsly/package.py5
-rw-r--r--var/spack/repos/builtin/packages/py-statsmodels/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-tables/package.py5
-rw-r--r--var/spack/repos/builtin/packages/py-tatsu/package.py1
-rw-r--r--var/spack/repos/builtin/packages/py-tensorflow/package.py14
-rw-r--r--var/spack/repos/builtin/packages/py-testrepository/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-theano/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-thinc/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-threadpoolctl/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-tifffile/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-tomopy/package.py5
-rw-r--r--var/spack/repos/builtin/packages/py-toolz/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-torch/package.py37
-rw-r--r--var/spack/repos/builtin/packages/py-torchvision/package.py7
-rw-r--r--var/spack/repos/builtin/packages/py-tpot/package.py1
-rw-r--r--var/spack/repos/builtin/packages/py-tqdm/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-traceback2/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-traitlets/package.py1
-rw-r--r--var/spack/repos/builtin/packages/py-typing/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-update-checker/package.py1
-rw-r--r--var/spack/repos/builtin/packages/py-urllib3/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-usgs/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-vermin/package.py5
-rw-r--r--var/spack/repos/builtin/packages/py-wand/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-wasabi/package.py1
-rw-r--r--var/spack/repos/builtin/packages/py-werkzeug/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-wheel/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-wub/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-wxmplot/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-wxpython/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-yahmm/package.py1
-rw-r--r--var/spack/repos/builtin/packages/py-zope-event/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-zope-interface/package.py7
-rw-r--r--var/spack/repos/builtin/packages/python/package.py21
236 files changed, 209 insertions, 918 deletions
diff --git a/var/spack/repos/builtin/packages/aws-parallelcluster/package.py b/var/spack/repos/builtin/packages/aws-parallelcluster/package.py
index e970fee0e5..4f69548a45 100644
--- a/var/spack/repos/builtin/packages/aws-parallelcluster/package.py
+++ b/var/spack/repos/builtin/packages/aws-parallelcluster/package.py
@@ -18,10 +18,6 @@ class AwsParallelcluster(PythonPackage):
'sean-smith', 'demartinofra', 'enrico-usai', 'lukeseawalker', 'rexcsn',
'ddeidda', 'tilne'
]
- import_modules = [
- 'pcluster', 'awsbatch', 'pcluster.dcv', 'pcluster.configure',
- 'pcluster.config', 'pcluster.networking'
- ]
version('2.10.0', sha256='a7a27871b4f54cb913b0c1233e675131e9b2099549af0840d32c36b7e91b104b')
version('2.9.1', sha256='12dc22286cd447a16931f1f8619bdd47d4543fd0de7905d52b6c6f83ff9db8a3')
diff --git a/var/spack/repos/builtin/packages/gdal/package.py b/var/spack/repos/builtin/packages/gdal/package.py
index a6f1dfd909..fc56128269 100644
--- a/var/spack/repos/builtin/packages/gdal/package.py
+++ b/var/spack/repos/builtin/packages/gdal/package.py
@@ -21,11 +21,6 @@ class Gdal(AutotoolsPackage):
maintainers = ['adamjstewart']
- import_modules = [
- 'osgeo', 'osgeo.gdal', 'osgeo.ogr', 'osgeo.osr',
- 'osgeo.gdal_array', 'osgeo.gdalconst'
- ]
-
version('3.2.0', sha256='b051f852600ffdf07e337a7f15673da23f9201a9dbb482bd513756a3e5a196a6')
version('3.1.4', sha256='7b82486f71c71cec61f9b237116212ce18ef6b90f068cbbf9f7de4fc50b576a8')
version('3.1.3', sha256='161cf55371a143826f1d76ce566db1f0a666496eeb4371aed78b1642f219d51d')
@@ -170,6 +165,8 @@ class Gdal(AutotoolsPackage):
executables = ['^gdal-config$']
+ import_modules = PythonPackage.import_modules
+
@classmethod
def determine_version(cls, exe):
return Executable(exe)('--version', output=str, error=str).rstrip()
@@ -554,15 +551,11 @@ class Gdal(AutotoolsPackage):
install('*.jar', prefix)
@run_after('install')
- @on_package_attributes(run_tests=True)
- def import_module_test(self):
- if '+python' in self.spec:
- with working_dir('spack-test', create=True):
- for module in self.import_modules:
- python('-c', 'import {0}'.format(module))
-
- @run_after('install')
def darwin_fix(self):
# The shared library is not installed correctly on Darwin; fix this
if 'platform=darwin' in self.spec:
fix_darwin_install_name(self.prefix.lib)
+
+ def test(self):
+ if '+python' in self.spec:
+ PythonPackage.test(self)
diff --git a/var/spack/repos/builtin/packages/mercurial/package.py b/var/spack/repos/builtin/packages/mercurial/package.py
index 620ef19bdb..84d8b9ebfd 100644
--- a/var/spack/repos/builtin/packages/mercurial/package.py
+++ b/var/spack/repos/builtin/packages/mercurial/package.py
@@ -13,13 +13,6 @@ class Mercurial(PythonPackage):
homepage = "https://www.mercurial-scm.org"
url = "https://www.mercurial-scm.org/release/mercurial-5.3.tar.gz"
- import_modules = [
- 'hgext', 'hgext3rd', 'mercurial', 'hgext.convert', 'hgext.fsmonitor',
- 'hgext.highlight', 'hgext.largefiles', 'hgext.zeroconf',
- 'hgext.fsmonitor.pywatchman', 'mercurial.hgweb',
- 'mercurial.httpclient', 'mercurial.pure'
- ]
-
version('5.3', sha256='e57ff61d6b67695149dd451922b40aa455ab02e01711806a131a1e95c544f9b9')
version('5.1.2', sha256='15af0b090b23649e0e53621a88dde97b55a734d7cb08b77d3df284db70d44e2e')
version('5.1.1', sha256='35fc8ba5e0379c1b3affa2757e83fb0509e8ac314cbd9f1fd133cf265d16e49f')
diff --git a/var/spack/repos/builtin/packages/py-accimage/package.py b/var/spack/repos/builtin/packages/py-accimage/package.py
index 3ef812704c..a22c3631ee 100644
--- a/var/spack/repos/builtin/packages/py-accimage/package.py
+++ b/var/spack/repos/builtin/packages/py-accimage/package.py
@@ -22,6 +22,8 @@ class PyAccimage(PythonPackage):
depends_on('py-numpy', type='test')
depends_on('py-imageio', type='test')
- def test(self):
+ @run_after('build')
+ @on_package_attributes(run_tests=True)
+ def build_test(self):
pytest = which('pytest')
pytest('test.py')
diff --git a/var/spack/repos/builtin/packages/py-adb-enhanced/package.py b/var/spack/repos/builtin/packages/py-adb-enhanced/package.py
index 92eff9a04a..f1e830e9c1 100644
--- a/var/spack/repos/builtin/packages/py-adb-enhanced/package.py
+++ b/var/spack/repos/builtin/packages/py-adb-enhanced/package.py
@@ -25,4 +25,3 @@ class PyAdbEnhanced(PythonPackage):
depends_on('py-future', type=('build', 'run'))
depends_on('py-psutil', type=('build', 'run'))
depends_on('py-asyncio', type=('build', 'run'))
- depends_on('py-pytest', type='test')
diff --git a/var/spack/repos/builtin/packages/py-aenum/package.py b/var/spack/repos/builtin/packages/py-aenum/package.py
index 3fa4c63a80..fb275c7891 100644
--- a/var/spack/repos/builtin/packages/py-aenum/package.py
+++ b/var/spack/repos/builtin/packages/py-aenum/package.py
@@ -13,8 +13,6 @@ class PyAenum(PythonPackage):
homepage = "https://bitbucket.org/stoneleaf/aenum"
url = "https://pypi.io/packages/source/a/aenum/aenum-2.1.2.tar.gz"
- import_modules = ['aenum']
-
version('2.1.2', sha256='a3208e4b28db3a7b232ff69b934aef2ea1bf27286d9978e1e597d46f490e4687')
depends_on('py-setuptools', type='build')
diff --git a/var/spack/repos/builtin/packages/py-aiohttp-cors/package.py b/var/spack/repos/builtin/packages/py-aiohttp-cors/package.py
new file mode 100644
index 0000000000..8d4dd2f7d1
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-aiohttp-cors/package.py
@@ -0,0 +1,19 @@
+# Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+
+class PyAiohttpCors(PythonPackage):
+ """aiohttp_cors library implements Cross Origin Resource Sharing (CORS)
+ support for aiohttp asyncio-powered asynchronous HTTP server."""
+
+ homepage = "https://github.com/aio-libs/aiohttp-cors"
+ url = "https://pypi.io/packages/source/a/aiohttp_cors/aiohttp-cors-0.7.0.tar.gz"
+
+ version('0.7.0', sha256='4d39c6d7100fd9764ed1caf8cebf0eb01bf5e3f24e2e073fda6234bc48b19f5d')
+
+ depends_on('python@3.4.1:', type=('build', 'run'))
+ depends_on('py-setuptools@20.8.1:', type='build')
+ depends_on('py-aiohttp@1.1:', type=('build', 'run'))
+ depends_on('py-typing', when='^python@:3.4', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-alabaster/package.py b/var/spack/repos/builtin/packages/py-alabaster/package.py
index 5d623519b7..65ed9f89b6 100644
--- a/var/spack/repos/builtin/packages/py-alabaster/package.py
+++ b/var/spack/repos/builtin/packages/py-alabaster/package.py
@@ -13,11 +13,8 @@ class PyAlabaster(PythonPackage):
homepage = "https://alabaster.readthedocs.io/"
url = "https://pypi.io/packages/source/a/alabaster/alabaster-0.7.10.tar.gz"
- import_modules = ['alabaster']
-
version('0.7.12', sha256='a661d72d58e6ea8a57f7a86e37d86716863ee5e92788398526d58b26a4e4dc02')
version('0.7.10', sha256='37cdcb9e9954ed60912ebc1ca12a9d12178c26637abdf124e3cde2341c257fe0')
version('0.7.9', sha256='47afd43b08a4ecaa45e3496e139a193ce364571e7e10c6a87ca1a4c57eb7ea08')
depends_on('py-setuptools', type='build')
- depends_on('py-pygments', type='test')
diff --git a/var/spack/repos/builtin/packages/py-apipkg/package.py b/var/spack/repos/builtin/packages/py-apipkg/package.py
index 6799ad8f26..f5812df50d 100644
--- a/var/spack/repos/builtin/packages/py-apipkg/package.py
+++ b/var/spack/repos/builtin/packages/py-apipkg/package.py
@@ -18,5 +18,3 @@ class PyApipkg(PythonPackage):
depends_on('py-setuptools@30.3.0:', type='build')
depends_on('py-setuptools-scm', type='build')
depends_on('python@2.7:2.8,3.4:', type=('build', 'run'))
- depends_on('py-py', type='test')
- depends_on('py-pytest', type='test')
diff --git a/var/spack/repos/builtin/packages/py-appdirs/package.py b/var/spack/repos/builtin/packages/py-appdirs/package.py
index 29b6c4f85b..87e3bba0e7 100644
--- a/var/spack/repos/builtin/packages/py-appdirs/package.py
+++ b/var/spack/repos/builtin/packages/py-appdirs/package.py
@@ -13,16 +13,8 @@ class PyAppdirs(PythonPackage):
homepage = "https://github.com/ActiveState/appdirs"
url = "https://pypi.io/packages/source/a/appdirs/appdirs-1.4.3.tar.gz"
- import_modules = ['appdirs']
-
version('1.4.3', sha256='9e5896d1372858f8dd3344faf4e5014d21849c756c8d5701f78f8a103b372d92')
version('1.4.0', sha256='8fc245efb4387a4e3e0ac8ebcc704582df7d72ff6a42a53f5600bbb18fdaadc5')
patch('setuptools-import.patch', when='@:1.4.0')
-
- # Newer versions of setuptools require appdirs. Although setuptools is an
- # optional dependency of appdirs, if it is not found, setup.py will
- # fallback on distutils.core instead. Don't add a setuptools dependency
- # or we won't be able to bootstrap setuptools.
-
- # depends_on('py-setuptools', type='build')
+ depends_on('py-setuptools', type='build')
diff --git a/var/spack/repos/builtin/packages/py-archspec/package.py b/var/spack/repos/builtin/packages/py-archspec/package.py
index 54aaea8037..be8ffe331a 100644
--- a/var/spack/repos/builtin/packages/py-archspec/package.py
+++ b/var/spack/repos/builtin/packages/py-archspec/package.py
@@ -12,8 +12,6 @@ class PyArchspec(PythonPackage):
maintainers = ['alalazo']
- import_modules = ['archspec']
-
version('0.1.1', sha256='34bafad493b41208857232e21776216d716de37ab051a6a4a1cc1653f7e26423')
depends_on('python@2.7:2.8,3.5:', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-argon2-cffi/package.py b/var/spack/repos/builtin/packages/py-argon2-cffi/package.py
index 954c86331c..e799949e13 100644
--- a/var/spack/repos/builtin/packages/py-argon2-cffi/package.py
+++ b/var/spack/repos/builtin/packages/py-argon2-cffi/package.py
@@ -16,6 +16,3 @@ class PyArgon2Cffi(PythonPackage):
depends_on('py-cffi@1.0.0:', type=('build', 'run'))
depends_on('py-six', type=('build', 'run'))
depends_on('py-enum34', when='^python@:3.3', type=('build', 'run'))
- depends_on('py-coverage@5.0.2:+toml', type='test')
- depends_on('py-hypothesis', type='test')
- depends_on('py-pytest', type='test')
diff --git a/var/spack/repos/builtin/packages/py-args/package.py b/var/spack/repos/builtin/packages/py-args/package.py
index 08364481e8..d425a06e24 100644
--- a/var/spack/repos/builtin/packages/py-args/package.py
+++ b/var/spack/repos/builtin/packages/py-args/package.py
@@ -15,4 +15,3 @@ class PyArgs(PythonPackage):
version('0.1.0', sha256='a785b8d837625e9b61c39108532d95b85274acd679693b71ebb5156848fcf814')
depends_on('py-setuptools', type='build')
- depends_on('py-nose', type='test')
diff --git a/var/spack/repos/builtin/packages/py-arrow/package.py b/var/spack/repos/builtin/packages/py-arrow/package.py
index 32a9885f8f..cfc62140c5 100644
--- a/var/spack/repos/builtin/packages/py-arrow/package.py
+++ b/var/spack/repos/builtin/packages/py-arrow/package.py
@@ -25,6 +25,3 @@ class PyArrow(PythonPackage):
depends_on('py-setuptools', type='build')
depends_on('py-backports-functools-lru-cache@1.2.1:', type=('build', 'run'), when='^python@2.7:2.8')
depends_on('py-python-dateutil', type=('build', 'run'))
- depends_on('py-chai', type='test')
- depends_on('py-mock', type='test')
- depends_on('py-pytz@2019.0:', type='test')
diff --git a/var/spack/repos/builtin/packages/py-asteval/package.py b/var/spack/repos/builtin/packages/py-asteval/package.py
index 4f80a22789..7392c3d296 100644
--- a/var/spack/repos/builtin/packages/py-asteval/package.py
+++ b/var/spack/repos/builtin/packages/py-asteval/package.py
@@ -16,4 +16,3 @@ class PyAsteval(PythonPackage):
depends_on('python@3.5:', type=('build', 'run'))
depends_on('py-setuptools', type='build')
- depends_on('py-pytest', type='test')
diff --git a/var/spack/repos/builtin/packages/py-astor/package.py b/var/spack/repos/builtin/packages/py-astor/package.py
index 38c77c5196..97ecb71956 100644
--- a/var/spack/repos/builtin/packages/py-astor/package.py
+++ b/var/spack/repos/builtin/packages/py-astor/package.py
@@ -18,8 +18,6 @@ class PyAstor(PythonPackage):
depends_on('python@2.7:2.8,3.4:', type=('build', 'run'))
depends_on('py-setuptools', type='build')
- depends_on('py-nose', type='test')
- depends_on('py-astunparse', type='test')
# Build fails with newer versions of setuptools
# https://github.com/berkerpeksag/astor/issues/162
diff --git a/var/spack/repos/builtin/packages/py-astropy/package.py b/var/spack/repos/builtin/packages/py-astropy/package.py
index 6e5dc8282b..38501cf3e0 100644
--- a/var/spack/repos/builtin/packages/py-astropy/package.py
+++ b/var/spack/repos/builtin/packages/py-astropy/package.py
@@ -15,8 +15,6 @@ class PyAstropy(PythonPackage):
homepage = 'https://astropy.org/'
url = 'https://pypi.io/packages/source/a/astropy/astropy-4.0.1.post1.tar.gz'
- install_time_test_callbacks = ['install_test', 'import_module_test']
-
version('4.0.1.post1', sha256='5c304a6c1845ca426e7bc319412b0363fccb4928cb4ba59298acd1918eec44b5')
version('3.2.1', sha256='706c0457789c78285e5464a5a336f5f0b058d646d60f4e5f5ba1f7d5bf424b28')
version('2.0.14', sha256='618807068609a4d8aeb403a07624e9984f566adc0dc0f5d6b477c3658f31aeb6')
@@ -87,6 +85,8 @@ class PyAstropy(PythonPackage):
return args
+ @run_after('install')
+ @on_package_attributes(run_tests=True)
def install_test(self):
with working_dir('spack-test', create=True):
python('-c', 'import astropy; astropy.test()')
diff --git a/var/spack/repos/builtin/packages/py-atomicwrites/package.py b/var/spack/repos/builtin/packages/py-atomicwrites/package.py
index de8ec7788b..7ef16004c3 100644
--- a/var/spack/repos/builtin/packages/py-atomicwrites/package.py
+++ b/var/spack/repos/builtin/packages/py-atomicwrites/package.py
@@ -12,8 +12,6 @@ class PyAtomicwrites(PythonPackage):
homepage = "https://github.com/untitaker/python-atomicwrites"
url = "https://pypi.io/packages/source/a/atomicwrites/atomicwrites-1.3.0.tar.gz"
- import_modules = ['atomicwrites']
-
version('1.3.0', sha256='75a9445bac02d8d058d5e1fe689654ba5a6556a1dfd8ce6ec55a0ed79866cfa6')
version('1.1.5', sha256='240831ea22da9ab882b551b31d4225591e5e447a68c5e188db5b89ca1d487585')
diff --git a/var/spack/repos/builtin/packages/py-attrs/package.py b/var/spack/repos/builtin/packages/py-attrs/package.py
index cdb3d490c5..6a17ec7fc6 100644
--- a/var/spack/repos/builtin/packages/py-attrs/package.py
+++ b/var/spack/repos/builtin/packages/py-attrs/package.py
@@ -12,8 +12,6 @@ class PyAttrs(PythonPackage):
homepage = "http://attrs.org/"
url = "https://pypi.io/packages/source/a/attrs/attrs-20.3.0.tar.gz"
- import_modules = ['attr']
-
version('20.3.0', sha256='832aa3cde19744e49938b91fea06d69ecb9e649c93ba974535d08ad92164f700')
version('20.2.0', sha256='26b54ddbbb9ee1d34d5d3668dd37d6cf74990ab23c828c2888dccdceee395594')
version('20.1.0', sha256='0ef97238856430dcf9228e07f316aefc17e8939fc8507e18c6501b761ef1a42a')
@@ -25,11 +23,3 @@ class PyAttrs(PythonPackage):
depends_on('python@2.7:2.8,3.4:', type=('build', 'run'))
depends_on('py-setuptools', type='build')
-
- depends_on('py-coverage', type='test')
- depends_on('py-hypothesis', type='test')
- depends_on('py-pympler', type='test')
- depends_on('py-pytest', type='test')
- depends_on('py-pytest@4.3.0:', type='test', when='@19.3.0:')
- depends_on('py-six', type='test')
- depends_on('py-zope-interface', type='test')
diff --git a/var/spack/repos/builtin/packages/py-awesome-slugify/package.py b/var/spack/repos/builtin/packages/py-awesome-slugify/package.py
index 2d8ac680e4..5348236a0f 100644
--- a/var/spack/repos/builtin/packages/py-awesome-slugify/package.py
+++ b/var/spack/repos/builtin/packages/py-awesome-slugify/package.py
@@ -18,4 +18,3 @@ class PyAwesomeSlugify(PythonPackage):
depends_on('py-regex', type=('build', 'run'))
depends_on('py-unidecode@0.04.14:0.04.99', type=('build', 'run'))
- depends_on('py-nose', type='test')
diff --git a/var/spack/repos/builtin/packages/py-azure-cli-core/package.py b/var/spack/repos/builtin/packages/py-azure-cli-core/package.py
index 07e520c530..adaeb282e1 100644
--- a/var/spack/repos/builtin/packages/py-azure-cli-core/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-cli-core/package.py
@@ -36,4 +36,3 @@ class PyAzureCliCore(PythonPackage):
depends_on('py-ndg-httpsclient', when='^python@:2.7.8', type=('build', 'run'))
depends_on('py-pyasn1', when='^python@:2.7.8', type=('build', 'run'))
depends_on('py-futures', when='^python@:2', type=('build', 'run'))
- depends_on('py-mock', type='test')
diff --git a/var/spack/repos/builtin/packages/py-azure-cli-telemetry/package.py b/var/spack/repos/builtin/packages/py-azure-cli-telemetry/package.py
index bb379686be..18f8cb5591 100644
--- a/var/spack/repos/builtin/packages/py-azure-cli-telemetry/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-cli-telemetry/package.py
@@ -15,4 +15,3 @@ class PyAzureCliTelemetry(PythonPackage):
depends_on('py-setuptools', type='build')
depends_on('py-applicationinsights@0.11.1:0.11.999', type=('build', 'run'))
depends_on('py-portalocker@1.2:1.999', type=('build', 'run'))
- depends_on('py-mock', type='test')
diff --git a/var/spack/repos/builtin/packages/py-azure-cli/package.py b/var/spack/repos/builtin/packages/py-azure-cli/package.py
index faa09d1cfd..44017651e7 100644
--- a/var/spack/repos/builtin/packages/py-azure-cli/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-cli/package.py
@@ -99,4 +99,3 @@ class PyAzureCli(PythonPackage):
depends_on('py-xmltodict@0.12:0.999', type=('build', 'run'))
depends_on('py-javaproperties@0.5.1', type=('build', 'run'))
depends_on('py-jsondiff@1.2.0', type=('build', 'run'))
- depends_on('py-mock@4.0:4.999', type='test')
diff --git a/var/spack/repos/builtin/packages/py-babel/package.py b/var/spack/repos/builtin/packages/py-babel/package.py
index f95746fe8f..13bf99a07b 100644
--- a/var/spack/repos/builtin/packages/py-babel/package.py
+++ b/var/spack/repos/builtin/packages/py-babel/package.py
@@ -14,8 +14,6 @@ class PyBabel(PythonPackage):
homepage = "http://babel.pocoo.org/en/latest/"
url = "https://pypi.io/packages/source/B/Babel/Babel-2.7.0.tar.gz"
- import_modules = ['babel', 'babel.localtime', 'babel.messages']
-
version('2.7.0', sha256='e86135ae101e31e2c8ec20a4e0c5220f4eed12487d5cf3f78be7e98d3a57fc28')
version('2.6.0', sha256='8cba50f48c529ca3fa18cf81fa9403be176d374ac4d60738b839122dfaaa3d23')
version('2.4.0', sha256='8c98f5e5f8f5f088571f2c6bd88d530e331cbbcb95a7311a0db69d3dca7ec563')
@@ -24,5 +22,3 @@ class PyBabel(PythonPackage):
depends_on('python@2.7:2.8,3.4:', type=('build', 'run'))
depends_on('py-setuptools', type=('build', 'run'))
depends_on('py-pytz@2015.7:', type=('build', 'run'))
- depends_on('py-pytest', type='test')
- depends_on('py-freezegun', type='test')
diff --git a/var/spack/repos/builtin/packages/py-basis-set-exchange/package.py b/var/spack/repos/builtin/packages/py-basis-set-exchange/package.py
index 92cd2b6d72..03bc8b99ca 100644
--- a/var/spack/repos/builtin/packages/py-basis-set-exchange/package.py
+++ b/var/spack/repos/builtin/packages/py-basis-set-exchange/package.py
@@ -29,5 +29,3 @@ class PyBasisSetExchange(PythonPackage):
depends_on('py-jsonschema', type=('build', 'run'))
depends_on('py-setuptools', type='build')
depends_on('python@3:', type=('build', 'run'))
- depends_on('py-pytest@4.0:', type='test')
- depends_on('py-pytest-cov', type='test')
diff --git a/var/spack/repos/builtin/packages/py-black/package.py b/var/spack/repos/builtin/packages/py-black/package.py
index 913b2592c8..52f1867867 100644
--- a/var/spack/repos/builtin/packages/py-black/package.py
+++ b/var/spack/repos/builtin/packages/py-black/package.py
@@ -18,6 +18,8 @@ class PyBlack(PythonPackage):
version('19.3b0', sha256='68950ffd4d9169716bcb8719a56c07a2f4485354fec061cdd5910aa07369731c')
version('18.9b0', sha256='e030a9a28f542debc08acceb273f228ac422798e5215ba2a791a6ddeaaca22a5')
+ variant('d', default=False, description='enable blackd HTTP server')
+
depends_on('python@3.6.0:')
# Needs setuptools at runtime so that `import pkg_resources` succeeds
# See #8843 and #8689 for examples of setuptools added as a runtime dep
@@ -28,3 +30,14 @@ class PyBlack(PythonPackage):
depends_on('py-click@6.5:', type=('build', 'run'))
depends_on('py-appdirs', type=('build', 'run'))
depends_on('py-toml@0.9.4:', type=('build', 'run'))
+ depends_on('py-aiohttp@3.3.2:', when='+d', type=('build', 'run'))
+ depends_on('py-aiohttp-cors', when='+d', type=('build', 'run'))
+
+ @property
+ def import_modules(self):
+ modules = ['blib2to3', 'blib2to3.pgen2', 'black']
+
+ if '+d' in self.spec:
+ modules.append('blackd')
+
+ return modules
diff --git a/var/spack/repos/builtin/packages/py-blis/package.py b/var/spack/repos/builtin/packages/py-blis/package.py
index ce7f6c4c65..74ea43690b 100644
--- a/var/spack/repos/builtin/packages/py-blis/package.py
+++ b/var/spack/repos/builtin/packages/py-blis/package.py
@@ -15,4 +15,3 @@ class PyBlis(PythonPackage):
depends_on('py-setuptools', type='build')
depends_on('py-numpy@1.15:', type=('build', 'run'))
- depends_on('py-hypothesis', type='test')
diff --git a/var/spack/repos/builtin/packages/py-blosc/package.py b/var/spack/repos/builtin/packages/py-blosc/package.py
index da185302ff..8e6badf99f 100644
--- a/var/spack/repos/builtin/packages/py-blosc/package.py
+++ b/var/spack/repos/builtin/packages/py-blosc/package.py
@@ -19,5 +19,3 @@ class PyBlosc(PythonPackage):
depends_on('python@3.6:', type=('build', 'run'))
depends_on('py-scikit-build', type='build')
# depends_on('c-blosc') # shipped internally
- depends_on('py-numpy', type='test')
- depends_on('py-psutil', type='test')
diff --git a/var/spack/repos/builtin/packages/py-boto3/package.py b/var/spack/repos/builtin/packages/py-boto3/package.py
index e31d3b8110..0daa62be81 100644
--- a/var/spack/repos/builtin/packages/py-boto3/package.py
+++ b/var/spack/repos/builtin/packages/py-boto3/package.py
@@ -12,11 +12,6 @@ class PyBoto3(PythonPackage):
homepage = "https://github.com/boto/boto3"
url = "https://pypi.io/packages/source/b/boto3/boto3-1.10.44.tar.gz"
- import_modules = [
- 'boto3', 'boto3.s3', 'boto3.resources', 'boto3.dynamodb',
- 'boto3.docs', 'boto3.ec2'
- ]
-
version('1.10.44', sha256='adc0c0269bd65967fd528d7cd826304f381d40d94f2bf2b09f58167e5ac05d86')
version('1.10.38', sha256='6cdb063b2ae5ac7b93ded6b6b17e3da1325b32232d5ff56e6800018d4786bba6')
version('1.9.169', sha256='9d8bd0ca309b01265793b7e8d7b88c1df439737d77c8725988f0277bbf58d169')
diff --git a/var/spack/repos/builtin/packages/py-botocore/package.py b/var/spack/repos/builtin/packages/py-botocore/package.py
index 7b05bf0c72..fe0f738a34 100644
--- a/var/spack/repos/builtin/packages/py-botocore/package.py
+++ b/var/spack/repos/builtin/packages/py-botocore/package.py
@@ -12,8 +12,6 @@ class PyBotocore(PythonPackage):
homepage = "https://github.com/boto/botocore"
url = "https://pypi.io/packages/source/b/botocore/botocore-1.13.44.tar.gz"
- import_modules = ['botocore']
-
version('1.13.44', sha256='a4409008c32a3305b9c469c5cc92edb5b79d6fcbf6f56fe126886b545f0a4f3f')
version('1.13.38', sha256='15766a367f39dba9de3c6296aaa7da31030f08a0117fd12685e7df682d8acee2')
version('1.12.169', sha256='25b44c3253b5ed1c9093efb57ffca440c5099a2d62fa793e8b6c52e72f54b01e')
@@ -28,5 +26,3 @@ class PyBotocore(PythonPackage):
depends_on('py-urllib3@1.20:1.25', type=('build', 'run'))
depends_on('py-urllib3@1.20:1.23', type=('build', 'run'), when='^python@2.6.0:2.6.999')
depends_on('py-urllib3@1.20:1.22', type=('build', 'run'), when='^python@3.3.0:3.3.999')
- depends_on('py-mock', type='test')
- depends_on('py-nose', type='test')
diff --git a/var/spack/repos/builtin/packages/py-bottleneck/package.py b/var/spack/repos/builtin/packages/py-bottleneck/package.py
index 8870b3197c..9bd5adb5f5 100644
--- a/var/spack/repos/builtin/packages/py-bottleneck/package.py
+++ b/var/spack/repos/builtin/packages/py-bottleneck/package.py
@@ -16,4 +16,3 @@ class PyBottleneck(PythonPackage):
depends_on('py-setuptools', type='build')
depends_on('py-numpy', type=('build', 'run'))
- depends_on('py-nose', type='test')
diff --git a/var/spack/repos/builtin/packages/py-brian2/package.py b/var/spack/repos/builtin/packages/py-brian2/package.py
index 0e7a7bf31d..849ffca005 100644
--- a/var/spack/repos/builtin/packages/py-brian2/package.py
+++ b/var/spack/repos/builtin/packages/py-brian2/package.py
@@ -26,7 +26,6 @@ class PyBrian2(PythonPackage):
depends_on('py-jinja2@2.7:', type=('build', 'run'))
depends_on('py-setuptools@21:', type=('build', 'run'))
depends_on('py-sphinx@1.5:', type=('build', 'run'), when='+docs')
- depends_on('py-nose@1.0:', type='test')
def build_args(self, spec, prefix):
return ['--with-cython']
diff --git a/var/spack/repos/builtin/packages/py-cairocffi/package.py b/var/spack/repos/builtin/packages/py-cairocffi/package.py
index d4cf1ca37c..1fd2a95fbb 100644
--- a/var/spack/repos/builtin/packages/py-cairocffi/package.py
+++ b/var/spack/repos/builtin/packages/py-cairocffi/package.py
@@ -14,14 +14,9 @@ class PyCairocffi(PythonPackage):
homepage = "https://github.com/Kozea/cairocffi"
url = "https://pypi.io/packages/source/c/cairocffi/cairocffi-1.0.2.tar.gz"
- import_modules = ['cairocffi']
version('1.0.2', sha256='01ac51ae12c4324ca5809ce270f9dd1b67f5166fe63bd3e497e9ea3ca91946ff')
depends_on('python@3.5:', type=('build', 'run'))
depends_on('py-setuptools@39.2.0:', type='build')
depends_on('py-cffi@1.1.0:', type=('build', 'run'))
- depends_on('py-pytest-runner', type='test')
- depends_on('py-pytest-cov', type='test')
- depends_on('py-pytest-flake8', type='test')
- depends_on('py-pytest-isort', type='test')
diff --git a/var/spack/repos/builtin/packages/py-cartopy/package.py b/var/spack/repos/builtin/packages/py-cartopy/package.py
index 1d19b4da2d..8eebd1fb2b 100644
--- a/var/spack/repos/builtin/packages/py-cartopy/package.py
+++ b/var/spack/repos/builtin/packages/py-cartopy/package.py
@@ -13,10 +13,6 @@ class PyCartopy(PythonPackage):
url = "https://github.com/SciTools/cartopy/archive/v0.18.0.tar.gz"
maintainers = ['adamjstewart']
- import_modules = [
- 'cartopy', 'cartopy.sphinxext', 'cartopy.io', 'cartopy.geodesic',
- 'cartopy.examples', 'cartopy.mpl', 'cartopy.feature',
- ]
version('0.18.0', sha256='493ced4698361ffabec1a213d2b711dc836117242c304f3b93f5406182fd8bc2')
version('0.17.0', sha256='137642e63952404ec0841fa0333ad14c58fbbf19cca2a5ac6a38498c4b4998fb')
@@ -48,11 +44,6 @@ class PyCartopy(PythonPackage):
depends_on('pil@1.7.8:', type=('build', 'run'), when='+plotting')
depends_on('py-scipy@0.10:', type=('build', 'run'), when='+plotting')
- # Testing dependencies
- depends_on('py-filelock', type='test')
- depends_on('py-mock@1.0.1:', type='test')
- depends_on('py-pytest@3.0.0:', type='test')
-
patch('proj6.patch', when='@0.17.0')
phases = ['build_ext', 'install']
@@ -74,8 +65,6 @@ class PyCartopy(PythonPackage):
return args
# Tests need to be re-added since `phases` was overridden
- run_after('build_ext')(
- PythonPackage._run_default_build_time_test_callbacks)
run_after('install')(
PythonPackage._run_default_install_time_test_callbacks)
run_after('install')(PythonPackage.sanity_check_prefix)
diff --git a/var/spack/repos/builtin/packages/py-certifi/package.py b/var/spack/repos/builtin/packages/py-certifi/package.py
index 033ac47a88..78c70cff3f 100644
--- a/var/spack/repos/builtin/packages/py-certifi/package.py
+++ b/var/spack/repos/builtin/packages/py-certifi/package.py
@@ -14,8 +14,6 @@ class PyCertifi(PythonPackage):
homepage = "http://certifi.io/"
url = "https://pypi.io/packages/source/c/certifi/certifi-2020.6.20.tar.gz"
- import_modules = ['certifi']
-
version('2020.6.20', sha256='5930595817496dd21bb8dc35dad090f1c2cd0adfaf21204bf6732ca5d8ee34d3')
version('2019.9.11', sha256='e4f3620cfea4f83eedc95b24abd9cd56f3c4b146dd0177e83a21b4eb49e21e50')
version('2019.6.16', sha256='945e3ba63a0b9f577b1395204e13c3a231f9bc0223888be653286534e5873695')
diff --git a/var/spack/repos/builtin/packages/py-cffi/package.py b/var/spack/repos/builtin/packages/py-cffi/package.py
index f333c73ffa..74168d93ab 100644
--- a/var/spack/repos/builtin/packages/py-cffi/package.py
+++ b/var/spack/repos/builtin/packages/py-cffi/package.py
@@ -13,8 +13,6 @@ class PyCffi(PythonPackage):
homepage = "https://cffi.readthedocs.io/en/latest/"
url = "https://pypi.io/packages/source/c/cffi/cffi-1.13.0.tar.gz"
- import_modules = ['cffi']
-
version('1.14.3', sha256='f92f789e4f9241cd262ad7a555ca2c648a98178a953af117ef7fad46aa1d5591')
version('1.13.0', sha256='8fe230f612c18af1df6f348d02d682fe2c28ca0a6c3856c99599cdacae7cf226')
version('1.12.2', sha256='e113878a446c6228669144ae8a56e268c91b7f1fafae927adc4879d9849e0ea7')
@@ -27,8 +25,6 @@ class PyCffi(PythonPackage):
depends_on('py-pycparser', type=('build', 'run'))
depends_on('py-pycparser@2.19:', when='^python@:2.6', type=('build', 'run'))
depends_on('libffi')
- depends_on('py-py', type='test')
- depends_on('py-pytest', type='test')
def setup_build_environment(self, env):
# This sets the compiler (and flags) that distutils will use
diff --git a/var/spack/repos/builtin/packages/py-chardet/package.py b/var/spack/repos/builtin/packages/py-chardet/package.py
index 8cd829597d..ba24e728d7 100644
--- a/var/spack/repos/builtin/packages/py-chardet/package.py
+++ b/var/spack/repos/builtin/packages/py-chardet/package.py
@@ -18,5 +18,3 @@ class PyChardet(PythonPackage):
depends_on('py-setuptools', type=('build', 'run'))
depends_on('py-pytest-runner', type='build')
- depends_on('py-pytest', type='test')
- depends_on('py-hypothesis', type='test')
diff --git a/var/spack/repos/builtin/packages/py-cloudpickle/package.py b/var/spack/repos/builtin/packages/py-cloudpickle/package.py
index 0f7e525290..6d55d6c8f1 100644
--- a/var/spack/repos/builtin/packages/py-cloudpickle/package.py
+++ b/var/spack/repos/builtin/packages/py-cloudpickle/package.py
@@ -12,13 +12,7 @@ class PyCloudpickle(PythonPackage):
homepage = "https://github.com/cloudpipe/cloudpickle"
url = "https://pypi.io/packages/source/c/cloudpickle/cloudpickle-0.5.2.tar.gz"
- import_modules = ['cloudpickle']
-
version('1.2.1', sha256='603244e0f552b72a267d47a7d9b347b27a3430f58a0536037a290e7e0e212ecf')
version('0.5.2', sha256='b0e63dd89ed5285171a570186751bc9b84493675e99e12789e9a5dc5490ef554')
depends_on('py-setuptools', type='build')
-
- def build_test(self):
- # PyPI tarball does not come with unit tests
- pass
diff --git a/var/spack/repos/builtin/packages/py-cmocean/package.py b/var/spack/repos/builtin/packages/py-cmocean/package.py
index aca64870cc..6094fb381f 100644
--- a/var/spack/repos/builtin/packages/py-cmocean/package.py
+++ b/var/spack/repos/builtin/packages/py-cmocean/package.py
@@ -15,4 +15,3 @@ class PyCmocean(PythonPackage):
depends_on('py-setuptools', type='build')
depends_on('py-matplotlib', type=('build', 'run'))
depends_on('py-numpy', type=('build', 'run'))
- depends_on('py-pytest', type='test')
diff --git a/var/spack/repos/builtin/packages/py-codecov/package.py b/var/spack/repos/builtin/packages/py-codecov/package.py
index afced5c19b..73510ac184 100644
--- a/var/spack/repos/builtin/packages/py-codecov/package.py
+++ b/var/spack/repos/builtin/packages/py-codecov/package.py
@@ -12,13 +12,9 @@ class PyCodecov(PythonPackage):
homepage = "https://github.com/codecov/codecov-python"
url = "https://pypi.io/packages/source/c/codecov/codecov-2.0.15.tar.gz"
- import_modules = ['codecov']
-
version('2.0.15', sha256='8ed8b7c6791010d359baed66f84f061bba5bd41174bf324c31311e8737602788')
depends_on('py-setuptools', type=('build', 'run'))
depends_on('py-requests@2.7.9:', type=('build', 'run'))
depends_on('py-coverage', type=('build', 'run'))
depends_on('py-argparse', when='^python@:2.6', type=('build', 'run'))
- depends_on('py-unittest2', type='test')
- depends_on('py-linecache2', type='test')
diff --git a/var/spack/repos/builtin/packages/py-counter/package.py b/var/spack/repos/builtin/packages/py-counter/package.py
index f751818caa..7f0e7ffe91 100644
--- a/var/spack/repos/builtin/packages/py-counter/package.py
+++ b/var/spack/repos/builtin/packages/py-counter/package.py
@@ -10,8 +10,6 @@ class PyCounter(PythonPackage):
"""Counter package defines the "counter.Counter" class similar to
bags or multisets in other languages."""
- import_modules = ['counter']
-
homepage = "https://github.com/KelSolaar/Counter"
url = "https://pypi.io/packages/source/C/Counter/Counter-1.0.0.tar.gz"
diff --git a/var/spack/repos/builtin/packages/py-cvxopt/package.py b/var/spack/repos/builtin/packages/py-cvxopt/package.py
index 1cc1a932c1..930a40385f 100644
--- a/var/spack/repos/builtin/packages/py-cvxopt/package.py
+++ b/var/spack/repos/builtin/packages/py-cvxopt/package.py
@@ -13,8 +13,6 @@ class PyCvxopt(PythonPackage):
homepage = "http://cvxopt.org/"
url = "https://pypi.io/packages/source/c/cvxopt/cvxopt-1.1.9.tar.gz"
- import_modules = ['cvxopt']
-
version('1.2.5', sha256='94ec8c36bd6628a11de9014346692daeeef99b3b7bae28cef30c7490bbcb2d72')
version('1.1.9', sha256='8f157e7397158812cabd340b68546f1baa55a486ed0aad8bc26877593dc2983d')
diff --git a/var/spack/repos/builtin/packages/py-cvxpy/package.py b/var/spack/repos/builtin/packages/py-cvxpy/package.py
index 68b82e8a59..0b0abad4cf 100644
--- a/var/spack/repos/builtin/packages/py-cvxpy/package.py
+++ b/var/spack/repos/builtin/packages/py-cvxpy/package.py
@@ -16,13 +16,10 @@ class PyCvxpy(PythonPackage):
version('1.0.25', sha256='8535529ddb807067b0d59661dce1d9a6ddb2a218398a38ea7772328ad8a6ea13')
depends_on('py-setuptools', type='build')
- depends_on('py-nose', type='test')
-
depends_on('py-numpy@1.15:', type=('build', 'run'))
depends_on('py-scipy@1.1.0:', type=('build', 'run'))
depends_on('py-ecos@2:', type=('build', 'run'))
depends_on('py-scs@1.1.3:', type=('build', 'run'))
depends_on('py-osqp@0.4.1', type=('build', 'run'))
-
depends_on('py-multiprocess', type=('build', 'run'))
depends_on('py-six', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-cython/package.py b/var/spack/repos/builtin/packages/py-cython/package.py
index 2dd532be2f..c37cf1f54a 100644
--- a/var/spack/repos/builtin/packages/py-cython/package.py
+++ b/var/spack/repos/builtin/packages/py-cython/package.py
@@ -12,14 +12,6 @@ class PyCython(PythonPackage):
homepage = "https://pypi.python.org/pypi/cython"
url = "https://pypi.io/packages/source/c/cython/Cython-0.29.21.tar.gz"
- import_modules = [
- 'cython', 'Cython', 'Cython.Build', 'Cython.Compiler',
- 'Cython.Runtime', 'Cython.Distutils', 'Cython.Debugger',
- 'Cython.Debugger.Tests', 'Cython.Plex', 'Cython.Tests',
- 'Cython.Build.Tests', 'Cython.Compiler.Tests', 'Cython.Utility',
- 'Cython.Tempita', 'pyximport',
- ]
-
version('0.29.21', sha256='e57acb89bd55943c8d8bf813763d20b9099cc7165c0f16b707631a7654be9cad')
version('0.29.16', sha256='232755284f942cbb3b43a06cd85974ef3c970a021aef19b5243c03ee2b08fa05')
version('0.29.15', sha256='60d859e1efa5cc80436d58aecd3718ff2e74b987db0518376046adedba97ac30')
@@ -47,6 +39,8 @@ class PyCython(PythonPackage):
"""Returns the Cython command"""
return Executable(self.prefix.bin.cython)
+ @run_after('build')
+ @on_package_attributes(run_tests=True)
def build_test(self):
# Warning: full suite of unit tests takes a very long time
python('runtests.py', '-j', str(make_jobs))
diff --git a/var/spack/repos/builtin/packages/py-dask/package.py b/var/spack/repos/builtin/packages/py-dask/package.py
index b6f3a07f10..96744de758 100644
--- a/var/spack/repos/builtin/packages/py-dask/package.py
+++ b/var/spack/repos/builtin/packages/py-dask/package.py
@@ -38,9 +38,6 @@ class PyDask(PythonPackage):
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')
- depends_on('py-requests', type='test')
- depends_on('py-pytest-runner', type='test')
# Requirements for dask.array
depends_on('py-numpy@1.10.4:', type=('build', 'run'), when='+array')
diff --git a/var/spack/repos/builtin/packages/py-dateparser/package.py b/var/spack/repos/builtin/packages/py-dateparser/package.py
index 5d233e6377..cc0ac18a8a 100644
--- a/var/spack/repos/builtin/packages/py-dateparser/package.py
+++ b/var/spack/repos/builtin/packages/py-dateparser/package.py
@@ -26,8 +26,3 @@ class PyDateparser(PythonPackage):
depends_on('py-ruamel-yaml', type=('build', 'run'), when='+calendars')
depends_on('py-convertdate', type=('build', 'run'), when='+calendars')
depends_on('py-jdatetime', type=('build', 'run'), when='+calendars')
- depends_on('py-mock', type='test')
- depends_on('py-nose', type='test')
- depends_on('py-parameterized', type='test')
- depends_on('py-six', type='test')
- depends_on('py-coverage', type='test')
diff --git a/var/spack/repos/builtin/packages/py-deeptools/package.py b/var/spack/repos/builtin/packages/py-deeptools/package.py
index 35103a5e5d..8ce9e1519e 100644
--- a/var/spack/repos/builtin/packages/py-deeptools/package.py
+++ b/var/spack/repos/builtin/packages/py-deeptools/package.py
@@ -30,8 +30,6 @@ class PyDeeptools(PythonPackage):
depends_on('py-plotly@2.0.0:', type=('build', 'run'))
depends_on('py-deeptoolsintervals@0.1.8:', type=('build', 'run'))
- depends_on('py-nose', type='test')
-
def patch(self):
# Add nosetest hook for "python setup.py test" argument.
filter_file(r'^setup\(',
diff --git a/var/spack/repos/builtin/packages/py-diskcache/package.py b/var/spack/repos/builtin/packages/py-diskcache/package.py
index 042183cdf3..8e8f76326b 100644
--- a/var/spack/repos/builtin/packages/py-diskcache/package.py
+++ b/var/spack/repos/builtin/packages/py-diskcache/package.py
@@ -13,4 +13,3 @@ class PyDiskcache(PythonPackage):
version('4.1.0', sha256='bcee5a59f9c264e2809e58d01be6569a3bbb1e36a1e0fb83f7ef9b2075f95ce0')
depends_on('py-setuptools', type='build')
- depends_on('py-tox', type='test')
diff --git a/var/spack/repos/builtin/packages/py-docopt/package.py b/var/spack/repos/builtin/packages/py-docopt/package.py
index ce0dcd40ad..02bea78e7a 100644
--- a/var/spack/repos/builtin/packages/py-docopt/package.py
+++ b/var/spack/repos/builtin/packages/py-docopt/package.py
@@ -12,8 +12,6 @@ class PyDocopt(PythonPackage):
homepage = "http://docopt.org/"
url = "https://pypi.io/packages/source/d/docopt/docopt-0.6.2.tar.gz"
- import_modules = ['docopt']
-
version('0.6.2', sha256='49b3a825280bd66b3aa83585ef59c4a8c82f2c8a522dbe754a8bc8d08c85c491')
depends_on('py-setuptools', type='build')
diff --git a/var/spack/repos/builtin/packages/py-docutils/package.py b/var/spack/repos/builtin/packages/py-docutils/package.py
index 07b0da2534..4ff1d4252e 100644
--- a/var/spack/repos/builtin/packages/py-docutils/package.py
+++ b/var/spack/repos/builtin/packages/py-docutils/package.py
@@ -17,17 +17,6 @@ class PyDocutils(PythonPackage):
homepage = "http://docutils.sourceforge.net/"
url = "https://pypi.io/packages/source/d/docutils/docutils-0.15.2.tar.gz"
- import_modules = [
- 'docutils', 'docutils.languages', 'docutils.parsers',
- 'docutils.readers', 'docutils.transforms', 'docutils.utils',
- 'docutils.writers', 'docutils.parsers.rst',
- 'docutils.parsers.rst.directives', 'docutils.parsers.rst.languages',
- 'docutils.utils.math', 'docutils.writers.html4css1',
- 'docutils.writers.html5_polyglot', 'docutils.writers.latex2e',
- 'docutils.writers.odf_odt', 'docutils.writers.pep_html',
- 'docutils.writers.s5_html', 'docutils.writers.xetex'
- ]
-
version('0.15.2', sha256='a2aeea129088da402665e92e0b25b04b073c04b2dce4ab65caaa38b7ce2e1a99')
version('0.14', sha256='51e64ef2ebfb29cae1faa133b3710143496eca21c530f3f71424d77687764274')
version('0.13.1', sha256='718c0f5fb677be0f34b781e04241c4067cbd9327b66bdd8e763201130f5175be')
diff --git a/var/spack/repos/builtin/packages/py-dxchange/package.py b/var/spack/repos/builtin/packages/py-dxchange/package.py
index be0a23916c..5a96d68bdc 100644
--- a/var/spack/repos/builtin/packages/py-dxchange/package.py
+++ b/var/spack/repos/builtin/packages/py-dxchange/package.py
@@ -14,8 +14,6 @@ class PyDxchange(PythonPackage):
homepage = "https://github.com/data-exchange/dxchange"
url = "https://github.com/data-exchange/dxchange/archive/v0.1.2.tar.gz"
- import_modules = ['dxchange']
-
version('0.1.2', sha256='d005b036b6323d0dffd5944c3da0b8a90496d96277654e72b53717058dd5fd87')
depends_on('py-setuptools', type='build')
diff --git a/var/spack/repos/builtin/packages/py-dxfile/package.py b/var/spack/repos/builtin/packages/py-dxfile/package.py
index aa7eac9d91..27066291c7 100644
--- a/var/spack/repos/builtin/packages/py-dxfile/package.py
+++ b/var/spack/repos/builtin/packages/py-dxfile/package.py
@@ -13,8 +13,6 @@ class PyDxfile(PythonPackage):
homepage = "https://github.com/data-exchange/dxfile"
url = "https://github.com/data-exchange/dxfile/archive/v0.4.tar.gz"
- import_modules = ['dxfile']
-
version('0.4', sha256='b7729eebdc7c99a66a8b339fc10019aa8565e02bd12708540fb3f47935f004c7')
depends_on('py-setuptools', type='build')
diff --git a/var/spack/repos/builtin/packages/py-easybuild-framework/package.py b/var/spack/repos/builtin/packages/py-easybuild-framework/package.py
index 9096f62708..e283fd825b 100644
--- a/var/spack/repos/builtin/packages/py-easybuild-framework/package.py
+++ b/var/spack/repos/builtin/packages/py-easybuild-framework/package.py
@@ -22,6 +22,3 @@ class PyEasybuildFramework(PythonPackage):
depends_on('python@2.6:2.8,3.5:', when='@4:', type=('build', 'run'))
depends_on('py-setuptools', when='@:3', type=('build', 'run'))
depends_on('py-vsc-base@2.5.4:', when='@2.9:3', type='run')
-
- # Only required for tests (python -O -m test.framework.suite)
- depends_on('py-vsc-install', when='@:3', type='test')
diff --git a/var/spack/repos/builtin/packages/py-ecdsa/package.py b/var/spack/repos/builtin/packages/py-ecdsa/package.py
index 2401b9bd27..0ba06e98fb 100644
--- a/var/spack/repos/builtin/packages/py-ecdsa/package.py
+++ b/var/spack/repos/builtin/packages/py-ecdsa/package.py
@@ -18,4 +18,3 @@ class PyEcdsa(PythonPackage):
depends_on('python@2.6:2.8,3.3:', type=('build', 'run'))
depends_on('py-setuptools', type='build')
depends_on('py-six@1.9.0:', type=('build', 'run'))
- depends_on('openssl', type='test')
diff --git a/var/spack/repos/builtin/packages/py-ecos/package.py b/var/spack/repos/builtin/packages/py-ecos/package.py
index 84e3bcd9eb..97ce50b68c 100644
--- a/var/spack/repos/builtin/packages/py-ecos/package.py
+++ b/var/spack/repos/builtin/packages/py-ecos/package.py
@@ -16,6 +16,5 @@ class PyEcos(PythonPackage):
version('2.0.7.post1', sha256='83e90f42b3f32e2a93f255c3cfad2da78dbd859119e93844c45d2fca20bdc758')
depends_on('py-setuptools', type='build')
- depends_on('py-nose', type='test')
depends_on('py-numpy@1.6:', type=('build', 'run'))
depends_on('py-scipy@0.9:', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-edffile/package.py b/var/spack/repos/builtin/packages/py-edffile/package.py
index ab4a9f9ed9..d902b922b1 100644
--- a/var/spack/repos/builtin/packages/py-edffile/package.py
+++ b/var/spack/repos/builtin/packages/py-edffile/package.py
@@ -12,8 +12,6 @@ class PyEdffile(PythonPackage):
homepage = "https://github.com/vasole/pymca/blob/master/PyMca5/PyMcaIO/EdfFile.py"
git = "https://github.com/conda-forge/edffile-feedstock.git"
- import_modules = ['EdfFile']
-
version('5.0.0', commit='be5ab4199db9f8209c59e31874934b8536b52301')
depends_on('py-setuptools', type='build')
diff --git a/var/spack/repos/builtin/packages/py-elephant/package.py b/var/spack/repos/builtin/packages/py-elephant/package.py
index 7d2477ef40..4ce26bc339 100644
--- a/var/spack/repos/builtin/packages/py-elephant/package.py
+++ b/var/spack/repos/builtin/packages/py-elephant/package.py
@@ -27,4 +27,3 @@ class PyElephant(PythonPackage):
depends_on('py-pandas@0.14.1:', type=('build', 'run'), when='+pandas')
depends_on('py-numpydoc@0.5:', type=('build', 'run'), when='+docs')
depends_on('py-sphinx@1.2.2:', type=('build', 'run'), when='+docs')
- depends_on('py-nose@1.3.3:', type='test')
diff --git a/var/spack/repos/builtin/packages/py-entrypoints/package.py b/var/spack/repos/builtin/packages/py-entrypoints/package.py
index 84bc7c20f4..4a05b19a64 100644
--- a/var/spack/repos/builtin/packages/py-entrypoints/package.py
+++ b/var/spack/repos/builtin/packages/py-entrypoints/package.py
@@ -12,8 +12,6 @@ class PyEntrypoints(PythonPackage):
homepage = "https://pypi.python.org/pypi/entrypoints"
url = "https://pypi.io/packages/source/e/entrypoints/entrypoints-0.2.3.tar.gz"
- import_modules = ['entrypoints']
-
version('0.3', sha256='c70dd71abe5a8c85e55e12c19bd91ccfeec11a6e99044204511f9ed547d48451')
version('0.2.3', sha256='d2d587dde06f99545fb13a383d2cd336a8ff1f359c5839ce3a64c917d10c029f')
diff --git a/var/spack/repos/builtin/packages/py-fenics-dolfinx/package.py b/var/spack/repos/builtin/packages/py-fenics-dolfinx/package.py
index f84f9ce565..9c709d9166 100644
--- a/var/spack/repos/builtin/packages/py-fenics-dolfinx/package.py
+++ b/var/spack/repos/builtin/packages/py-fenics-dolfinx/package.py
@@ -30,7 +30,6 @@ class PyFenicsDolfinx(PythonPackage):
depends_on("py-cffi", type=("run"))
depends_on("py-numpy", type=("run"))
- import_modules = ['dolfinx']
phases = ['build_ext', 'build', 'install']
build_directory = 'python'
diff --git a/var/spack/repos/builtin/packages/py-filemagic/package.py b/var/spack/repos/builtin/packages/py-filemagic/package.py
index 8d425dfb37..d1a5ffd3c8 100644
--- a/var/spack/repos/builtin/packages/py-filemagic/package.py
+++ b/var/spack/repos/builtin/packages/py-filemagic/package.py
@@ -15,5 +15,3 @@ class PyFilemagic(PythonPackage):
version('1.6', sha256='e684359ef40820fe406f0ebc5bf8a78f89717bdb7fed688af68082d991d6dbf3')
depends_on('py-setuptools', type='build')
- depends_on('py-mock', type='test', when='^python@3:')
- depends_on('py-unittest2', type='test')
diff --git a/var/spack/repos/builtin/packages/py-fiona/package.py b/var/spack/repos/builtin/packages/py-fiona/package.py
index b4213d5f61..ffaf250408 100644
--- a/var/spack/repos/builtin/packages/py-fiona/package.py
+++ b/var/spack/repos/builtin/packages/py-fiona/package.py
@@ -13,7 +13,6 @@ class PyFiona(PythonPackage):
url = "https://pypi.io/packages/source/F/Fiona/Fiona-1.8.6.tar.gz"
maintainers = ['adamjstewart']
- import_modules = ['fiona', 'fiona.fio']
version('1.8.6', sha256='fa31dfe8855b9cd0b128b47a4df558f1b8eda90d2181bff1dd9854e5556efb3e')
version('1.7.12', sha256='8b54eb8422d7c502bb7776b184018186bede1a489cf438a7a47f992ade6a0e51')
@@ -33,7 +32,3 @@ class PyFiona(PythonPackage):
depends_on('py-argparse', type=('build', 'run'), when='^python@:2.6')
depends_on('py-ordereddict', type=('build', 'run'), when='^python@:2.6')
depends_on('py-enum34', type=('build', 'run'), when='^python@:3.3')
-
- def build_test(self):
- # PyPI tarball does not come with unit tests
- pass
diff --git a/var/spack/repos/builtin/packages/py-fiscalyear/package.py b/var/spack/repos/builtin/packages/py-fiscalyear/package.py
index 407caa7ce5..a0b95ff73f 100644
--- a/var/spack/repos/builtin/packages/py-fiscalyear/package.py
+++ b/var/spack/repos/builtin/packages/py-fiscalyear/package.py
@@ -17,7 +17,6 @@ class PyFiscalyear(PythonPackage):
git = "https://github.com/adamjstewart/fiscalyear.git"
maintainers = ['adamjstewart']
- import_modules = ['fiscalyear']
version('master', branch='master')
version('0.2.0', sha256='f513616aeb03046406c56d7c69cd9e26f6a12963c71c1410cc3d4532a5bfee71')
@@ -25,7 +24,3 @@ class PyFiscalyear(PythonPackage):
depends_on('python@2.5:', type=('build', 'run'))
depends_on('py-setuptools', type='build')
-
- depends_on('py-pytest', type='test')
- depends_on('py-pytest-runner', type='test')
- depends_on('py-pytest-mock', type='test')
diff --git a/var/spack/repos/builtin/packages/py-fisher/package.py b/var/spack/repos/builtin/packages/py-fisher/package.py
index 45e0fc5110..17318ee202 100644
--- a/var/spack/repos/builtin/packages/py-fisher/package.py
+++ b/var/spack/repos/builtin/packages/py-fisher/package.py
@@ -18,4 +18,3 @@ class PyFisher(PythonPackage):
depends_on('py-setuptools', type='build')
depends_on('py-numpy', type=('build', 'run'))
- depends_on('py-pytest', type='test')
diff --git a/var/spack/repos/builtin/packages/py-freezegun/package.py b/var/spack/repos/builtin/packages/py-freezegun/package.py
index 3329c975bc..4a99441796 100644
--- a/var/spack/repos/builtin/packages/py-freezegun/package.py
+++ b/var/spack/repos/builtin/packages/py-freezegun/package.py
@@ -13,13 +13,9 @@ class PyFreezegun(PythonPackage):
homepage = "https://github.com/spulec/freezegun"
url = "https://pypi.io/packages/source/f/freezegun/freezegun-0.3.12.tar.gz"
- import_modules = ['freezegun']
-
version('0.3.12', sha256='2a4d9c8cd3c04a201e20c313caf8b6338f1cfa4cda43f46a94cc4a9fd13ea5e7')
depends_on('py-setuptools', type='build')
depends_on('py-six', type=('build', 'run'))
depends_on('py-python-dateutil@1.0:1.999', type=('build', 'run'), when='^python@:2')
depends_on('py-python-dateutil@2:', type=('build', 'run'), when='^python@3:')
- depends_on('py-mock', type='test')
- depends_on('py-nose', type='test')
diff --git a/var/spack/repos/builtin/packages/py-fsspec/package.py b/var/spack/repos/builtin/packages/py-fsspec/package.py
index bf82fc803a..f0b58dcb77 100644
--- a/var/spack/repos/builtin/packages/py-fsspec/package.py
+++ b/var/spack/repos/builtin/packages/py-fsspec/package.py
@@ -12,8 +12,6 @@ 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')
diff --git a/var/spack/repos/builtin/packages/py-funcsigs/package.py b/var/spack/repos/builtin/packages/py-funcsigs/package.py
index ec53173d15..77db9cd6ad 100644
--- a/var/spack/repos/builtin/packages/py-funcsigs/package.py
+++ b/var/spack/repos/builtin/packages/py-funcsigs/package.py
@@ -12,10 +12,7 @@ class PyFuncsigs(PythonPackage):
homepage = "https://pypi.python.org/pypi/funcsigs"
url = "https://pypi.io/packages/source/f/funcsigs/funcsigs-1.0.2.tar.gz"
- import_modules = ['funcsigs']
-
version('1.0.2', sha256='a7bb0f2cf3a3fd1ab2732cb49eba4252c2af4240442415b4abce3b87022a8f50')
version('0.4', sha256='d83ce6df0b0ea6618700fe1db353526391a8a3ada1b7aba52fed7a61da772033')
depends_on('py-setuptools@17.1:', type='build')
- depends_on('py-unittest2', type='test')
diff --git a/var/spack/repos/builtin/packages/py-future/package.py b/var/spack/repos/builtin/packages/py-future/package.py
index af2bce85f0..d89490eaf5 100644
--- a/var/spack/repos/builtin/packages/py-future/package.py
+++ b/var/spack/repos/builtin/packages/py-future/package.py
@@ -21,3 +21,29 @@ class PyFuture(PythonPackage):
depends_on('py-setuptools', type='build')
depends_on('py-importlib', type=('build', 'run'), when='^python@:2.6')
depends_on('py-argparse', type=('build', 'run'), when='^python@:2.6')
+
+ @property
+ def import_modules(self):
+ modules = [
+ 'copyreg', '_thread', 'past', 'past.types', 'past.translation',
+ 'past.utils', 'past.builtins', 'reprlib', 'html', 'builtins',
+ 'http', '_dummy_thread', 'queue', 'xmlrpc', 'libfuturize',
+ 'libfuturize.fixes', 'future', 'future.moves', 'future.moves.test',
+ 'future.moves.urllib', 'future.moves.html', 'future.moves.http',
+ 'future.moves.dbm', 'future.moves.xmlrpc', 'future.types',
+ 'future.tests', 'future.utils', 'future.builtins',
+ 'future.backports', 'future.backports.test',
+ 'future.backports.urllib', 'future.backports.html',
+ 'future.backports.http', 'future.backports.xmlrpc',
+ 'future.backports.email', 'future.backports.email.mime',
+ 'future.standard_library', 'libpasteurize', 'libpasteurize.fixes',
+ 'socketserver', '_markupbase'
+ ]
+
+ if 'platform=windows' in self.spec:
+ modules.append('winreg')
+
+ if '+tkinter' in self.spec['python']:
+ modules.extend(['tkinter', 'future.moves.tkinter'])
+
+ return modules
diff --git a/var/spack/repos/builtin/packages/py-gee-asset-manager/package.py b/var/spack/repos/builtin/packages/py-gee-asset-manager/package.py
index f32108bccd..921d0057ac 100644
--- a/var/spack/repos/builtin/packages/py-gee-asset-manager/package.py
+++ b/var/spack/repos/builtin/packages/py-gee-asset-manager/package.py
@@ -22,6 +22,5 @@ class PyGeeAssetManager(PythonPackage):
depends_on('py-retrying@1.3.3:', type=('build', 'run'))
depends_on('py-beautifulsoup4@4.5.1:', type=('build', 'run'))
depends_on('py-requests-toolbelt@0.7.0:', type=('build', 'run'))
- depends_on('py-pytest@3.0.0:', type=('build', 'test'))
depends_on('py-future@0.16.0:', type=('build', 'run'))
depends_on('py-google-cloud-storage@1.1.1:', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-geeadd/package.py b/var/spack/repos/builtin/packages/py-geeadd/package.py
index 78c260243b..42510838eb 100644
--- a/var/spack/repos/builtin/packages/py-geeadd/package.py
+++ b/var/spack/repos/builtin/packages/py-geeadd/package.py
@@ -22,7 +22,6 @@ class PyGeeadd(PythonPackage):
depends_on('py-clipboard@0.0.4:', type=('build', 'run'))
depends_on('py-beautifulsoup4@4.5.1:', type=('build', 'run'))
depends_on('py-requests-toolbelt@0.7.0:', type=('build', 'run'))
- depends_on('py-pytest@3.0.0:', type=('build', 'test'))
depends_on('py-future@0.16.0:', type=('build', 'run'))
depends_on('py-google-cloud-storage@1.1.1:', type=('build', 'run'))
depends_on('py-oauth2client@4.1.3:', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-geoalchemy2/package.py b/var/spack/repos/builtin/packages/py-geoalchemy2/package.py
index dad20c8e16..09080f7d57 100644
--- a/var/spack/repos/builtin/packages/py-geoalchemy2/package.py
+++ b/var/spack/repos/builtin/packages/py-geoalchemy2/package.py
@@ -20,9 +20,3 @@ class PyGeoalchemy2(PythonPackage):
depends_on('py-setuptools', type='build')
depends_on('py-sqlalchemy@0.8:', type=('build', 'run'))
depends_on('py-shapely@1.3.0:', type=('build', 'run'), when='+dev')
-
- depends_on('py-pycodestyle@2.2.0', type='test')
- depends_on('py-flake8@3.2.0', type='test')
- depends_on('py-pytest@3.7.4', type='test', when='@0.6.3')
- depends_on('py-pytest@3.1.3', type='test', when='@0.4.2')
- depends_on('py-pytest-cov@2.5.1', type='test')
diff --git a/var/spack/repos/builtin/packages/py-geopandas/package.py b/var/spack/repos/builtin/packages/py-geopandas/package.py
index 3373e961e5..e27fec8205 100644
--- a/var/spack/repos/builtin/packages/py-geopandas/package.py
+++ b/var/spack/repos/builtin/packages/py-geopandas/package.py
@@ -17,9 +17,6 @@ class PyGeopandas(PythonPackage):
url = "https://pypi.io/packages/source/g/geopandas/geopandas-0.5.0.tar.gz"
maintainers = ['adamjstewart']
- import_modules = [
- 'geopandas', 'geopandas.io', 'geopandas.tools', 'geopandas.datasets'
- ]
version('0.5.0', sha256='d075d2ab61a502ab92ec6b72aaf9610a1340ec24ed07264fcbdbe944b9e68954')
version('0.4.0', sha256='9f5d24d23f33e6d3267a633025e4d9e050b3a1e86d41a96d3ccc5ad95afec3db')
diff --git a/var/spack/repos/builtin/packages/py-google-api-core/package.py b/var/spack/repos/builtin/packages/py-google-api-core/package.py
index f8ca4ea2b5..be9ce2e32a 100644
--- a/var/spack/repos/builtin/packages/py-google-api-core/package.py
+++ b/var/spack/repos/builtin/packages/py-google-api-core/package.py
@@ -12,6 +12,10 @@ class PyGoogleApiCore(PythonPackage):
homepage = "https://github.com/GoogleCloudPlatform/google-cloud-python"
url = "https://pypi.io/packages/source/g/google-api-core/google-api-core-1.14.2.tar.gz"
+ # google.api_core.operations_v1 and google.api_core.gapic_v1 require
+ # grpc optional dependency
+ import_modules = ['google.api_core', 'google.api_core.future']
+
version('1.14.2', sha256='2c23fbc81c76b941ffb71301bb975ed66a610e9b03f918feacd1ed59cf43a6ec')
depends_on('python@2.7:2.8,3.4:', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-gpustat/package.py b/var/spack/repos/builtin/packages/py-gpustat/package.py
index 1bfab1ba35..c351d3770b 100644
--- a/var/spack/repos/builtin/packages/py-gpustat/package.py
+++ b/var/spack/repos/builtin/packages/py-gpustat/package.py
@@ -19,5 +19,3 @@ class PyGpustat(PythonPackage):
depends_on('py-nvidia-ml-py3@7.352.0:', when='^python@3:', type=('build', 'run'))
depends_on('py-psutil', type=('build', 'run'))
depends_on('py-blessings@1.6:', type=('build', 'run'))
- depends_on('py-mock@2:', type='test')
- depends_on('py-pytest@:4', type='test')
diff --git a/var/spack/repos/builtin/packages/py-graphviz/package.py b/var/spack/repos/builtin/packages/py-graphviz/package.py
index 144321cccf..e556430f9d 100644
--- a/var/spack/repos/builtin/packages/py-graphviz/package.py
+++ b/var/spack/repos/builtin/packages/py-graphviz/package.py
@@ -30,10 +30,5 @@ class PyGraphviz(PythonPackage):
depends_on('py-pep8-naming', type=('build', 'run'), when='+dev')
depends_on('py-wheel', type=('build', 'run'), when='+dev')
depends_on('py-twine', type=('build', 'run'), when='+dev')
- depends_on('py-mock@2:', type='test')
- depends_on('py-pytest@3.4:', type='test')
- depends_on('py-pytest@3.4:3.9,3.11:', when='@0.11.1', type='test')
- depends_on('py-pytest-mock@1.8:', type='test')
- depends_on('py-pytest-cov', type='test')
depends_on('py-sphinx@1.7:', type=('build', 'run'), when='+docs')
depends_on('py-sphinx-rtd-theme', type=('build', 'run'), when='+docs')
diff --git a/var/spack/repos/builtin/packages/py-grequests/package.py b/var/spack/repos/builtin/packages/py-grequests/package.py
index 53b804bd6f..4f171dabc1 100644
--- a/var/spack/repos/builtin/packages/py-grequests/package.py
+++ b/var/spack/repos/builtin/packages/py-grequests/package.py
@@ -22,4 +22,3 @@ class PyGrequests(PythonPackage):
depends_on('py-setuptools', type='build')
depends_on('py-gevent', type=('build', 'run'))
depends_on('py-requests', type=('build', 'run'))
- depends_on('py-nose', type='test')
diff --git a/var/spack/repos/builtin/packages/py-h5py/package.py b/var/spack/repos/builtin/packages/py-h5py/package.py
index 2b7d34cc4b..a6479c4379 100644
--- a/var/spack/repos/builtin/packages/py-h5py/package.py
+++ b/var/spack/repos/builtin/packages/py-h5py/package.py
@@ -14,8 +14,6 @@ class PyH5py(PythonPackage):
url = "https://pypi.io/packages/source/h/h5py/h5py-2.10.0.tar.gz"
git = "https://github.com/h5py/h5py.git"
- import_modules = ['h5py', 'h5py._hl']
-
version('master', branch='master')
version('2.10.0', sha256='84412798925dc870ffd7107f045d7659e60f5d46d1c70c700375248bf6bf512d')
version('2.9.0', sha256='9d41ca62daf36d6b6515ab8765e4c8c4388ee18e2a665701fef2b41563821002')
diff --git a/var/spack/repos/builtin/packages/py-h5sh/package.py b/var/spack/repos/builtin/packages/py-h5sh/package.py
index a85c123475..e49fd75901 100644
--- a/var/spack/repos/builtin/packages/py-h5sh/package.py
+++ b/var/spack/repos/builtin/packages/py-h5sh/package.py
@@ -22,4 +22,3 @@ class PyH5sh(PythonPackage):
depends_on('py-prompt-toolkit@2:', type=('build', 'run'))
depends_on('py-pygments', type=('build', 'run'))
depends_on('py-six', type=('build', 'run'))
- depends_on('py-pytest', type='test')
diff --git a/var/spack/repos/builtin/packages/py-hacking/package.py b/var/spack/repos/builtin/packages/py-hacking/package.py
index dae3f8b281..bb8e8c42b2 100644
--- a/var/spack/repos/builtin/packages/py-hacking/package.py
+++ b/var/spack/repos/builtin/packages/py-hacking/package.py
@@ -12,8 +12,6 @@ class PyHacking(PythonPackage):
homepage = "https://docs.openstack.org/hacking/latest/"
url = "https://pypi.io/packages/source/h/hacking/hacking-1.1.0.tar.gz"
- import_modules = ['hacking']
-
version('1.1.0', sha256='23a306f3a1070a4469a603886ba709780f02ae7e0f1fc7061e5c6fb203828fee')
depends_on('py-setuptools', type='build')
diff --git a/var/spack/repos/builtin/packages/py-horovod/package.py b/var/spack/repos/builtin/packages/py-horovod/package.py
index 099d0cbf00..26cd83c6c4 100644
--- a/var/spack/repos/builtin/packages/py-horovod/package.py
+++ b/var/spack/repos/builtin/packages/py-horovod/package.py
@@ -89,12 +89,6 @@ class PyHorovod(PythonPackage, CudaPackage):
# There does not appear to be a way to use an external Gloo installation
depends_on('cmake', type='build', when='tensor_ops=gloo')
- # Test dependencies
- depends_on('py-mock', type='test')
- depends_on('py-pytest', type='test')
- depends_on('py-pytest-forked', type='test')
- depends_on('py-parameterized', type='test', when='@0.20:')
-
conflicts('cuda_arch=none', when='+cuda',
msg='Must specify CUDA compute capabilities of your GPU, see '
'https://developer.nvidia.com/cuda-gpus')
@@ -105,6 +99,51 @@ class PyHorovod(PythonPackage, CudaPackage):
# https://github.com/horovod/horovod/pull/1835
patch('fma.patch', when='@0.19.0:0.19.1')
+ @property
+ def import_modules(self):
+ modules = [
+ 'horovod', 'horovod.runner', 'horovod.runner.util',
+ 'horovod.runner.elastic', 'horovod.runner.driver',
+ 'horovod.runner.common', 'horovod.runner.common.util',
+ 'horovod.runner.common.service', 'horovod.runner.http',
+ 'horovod.runner.task', 'horovod.common'
+ ]
+
+ if 'frameworks=tensorflow' in self.spec:
+ modules.append('horovod.tensorflow')
+
+ if 'frameworks=pytorch' in self.spec:
+ modules.extend([
+ 'horovod.torch', 'horovod.torch.mpi_lib',
+ 'horovod.torch.elastic', 'horovod.torch.mpi_lib_impl'
+ ])
+
+ if 'frameworks=mxnet' in self.spec:
+ modules.append('horovod.mxnet')
+
+ if 'frameworks=keras' in self.spec:
+ modules.extend(['horovod.keras', 'horovod._keras'])
+
+ if 'frameworks=spark' in self.spec:
+ modules.extend([
+ 'horovod.spark', 'horovod.spark.driver',
+ 'horovod.spark.common', 'horovod.spark.task'
+ ])
+
+ if 'frameworks=ray' in self.spec:
+ modules.append('horovod.ray')
+
+ if 'frameworks=tensorflow,keras' in self.spec:
+ modules.append('horovod.tensorflow.keras')
+
+ if 'frameworks=spark,pytorch' in self.spec:
+ modules.append('horovod.spark.torch')
+
+ if 'frameworks=spark,keras' in self.spec:
+ modules.append('horovod.spark.keras')
+
+ return modules
+
def setup_build_environment(self, env):
# https://github.com/horovod/horovod/blob/master/docs/install.rst#environment-variables
@@ -167,8 +206,6 @@ class PyHorovod(PythonPackage, CudaPackage):
env.set('HOROVOD_CPU_OPERATIONS',
self.spec.variants['tensor_ops'].value.upper())
- @run_after('install')
- @on_package_attributes(run_tests=True)
- def install_test(self):
- horovodrun = Executable(self.prefix.bin.horovodrun)
- horovodrun('--check-build')
+ def test(self):
+ super(PyHorovod, self).test()
+ run_test(self.prefix.bin.horovodrun, '--check-build')
diff --git a/var/spack/repos/builtin/packages/py-htmlgen/package.py b/var/spack/repos/builtin/packages/py-htmlgen/package.py
index b15fe69769..5c3ca45b6d 100644
--- a/var/spack/repos/builtin/packages/py-htmlgen/package.py
+++ b/var/spack/repos/builtin/packages/py-htmlgen/package.py
@@ -18,5 +18,3 @@ class PyHtmlgen(PythonPackage):
depends_on('python@2.7:2.8,3.4:', type=('build', 'run'))
depends_on('py-setuptools', type='build')
- depends_on('py-asserts@0.8.0:0.8.999', type='test')
- depends_on('py-typing', type='test')
diff --git a/var/spack/repos/builtin/packages/py-humanize/package.py b/var/spack/repos/builtin/packages/py-humanize/package.py
index c83200de00..4778ce24d6 100644
--- a/var/spack/repos/builtin/packages/py-humanize/package.py
+++ b/var/spack/repos/builtin/packages/py-humanize/package.py
@@ -19,4 +19,3 @@ class PyHumanize(PythonPackage):
version('0.5.1', sha256='a43f57115831ac7c70de098e6ac46ac13be00d69abbf60bdcac251344785bb19')
depends_on('py-setuptools', type='build')
- depends_on('py-mock', type='test')
diff --git a/var/spack/repos/builtin/packages/py-hypothesis/package.py b/var/spack/repos/builtin/packages/py-hypothesis/package.py
index 79a39055d0..68e64adc68 100644
--- a/var/spack/repos/builtin/packages/py-hypothesis/package.py
+++ b/var/spack/repos/builtin/packages/py-hypothesis/package.py
@@ -12,14 +12,6 @@ class PyHypothesis(PythonPackage):
homepage = "https://github.com/HypothesisWorks/hypothesis-python"
url = "https://pypi.io/packages/source/h/hypothesis/hypothesis-4.41.2.tar.gz"
- import_modules = [
- 'hypothesis', 'hypothesis.searchstrategy', 'hypothesis.extra',
- 'hypothesis.utils', 'hypothesis.vendor', 'hypothesis.internal',
- 'hypothesis.internal.conjecture'
- ]
-
- # TODO: Add missing dependency required to import hypothesis.extra.django
-
version('5.3.0', sha256='c9fdb53fe3bf1f8e7dcca1a7dd6e430862502f088aca2903d141511212e79429')
version('4.57.1', sha256='3c4369a4b0a1348561048bcda5f1db951a1b8e2a514ea8e8c70d36e656bf6fa0')
version('4.41.2', sha256='6847df3ffb4aa52798621dd007e6b61dbcf2d76c30ba37dc2699720e2c734b7a')
diff --git a/var/spack/repos/builtin/packages/py-imagesize/package.py b/var/spack/repos/builtin/packages/py-imagesize/package.py
index e9f2033413..2dbcbdb71b 100644
--- a/var/spack/repos/builtin/packages/py-imagesize/package.py
+++ b/var/spack/repos/builtin/packages/py-imagesize/package.py
@@ -13,8 +13,6 @@ class PyImagesize(PythonPackage):
homepage = "https://github.com/shibukawa/imagesize_py"
url = "https://pypi.io/packages/source/i/imagesize/imagesize-0.7.1.tar.gz"
- import_modules = ['imagesize']
-
version('1.1.0', sha256='f3832918bc3c66617f92e35f5d70729187676313caa60c187eb0f28b8fe5e3b5')
version('0.7.1', sha256='0ab2c62b87987e3252f89d30b7cedbec12a01af9274af9ffa48108f2c13c6062')
diff --git a/var/spack/repos/builtin/packages/py-iminuit/package.py b/var/spack/repos/builtin/packages/py-iminuit/package.py
index e9ec1b73bf..035b05cab6 100644
--- a/var/spack/repos/builtin/packages/py-iminuit/package.py
+++ b/var/spack/repos/builtin/packages/py-iminuit/package.py
@@ -18,9 +18,3 @@ class PyIminuit(PythonPackage):
# Required dependencies
depends_on('py-setuptools', type='build')
depends_on('py-numpy', type=('build', 'run'), when='@1.3:')
-
- # Optional dependencies
- depends_on('py-matplotlib', type='test', when='@1.3:')
- depends_on('py-cython', type='test', when='@1.3:')
- depends_on('py-pytest', type='test', when='@1.3:')
- depends_on('py-scipy', type='test', when='@1.3:')
diff --git a/var/spack/repos/builtin/packages/py-importlib-metadata/package.py b/var/spack/repos/builtin/packages/py-importlib-metadata/package.py
index f22a812605..2df356f636 100644
--- a/var/spack/repos/builtin/packages/py-importlib-metadata/package.py
+++ b/var/spack/repos/builtin/packages/py-importlib-metadata/package.py
@@ -25,5 +25,3 @@ class PyImportlibMetadata(PythonPackage):
depends_on('py-pathlib2', when='^python@:2', type=('build', 'run'))
depends_on('py-contextlib2', when='^python@:2', type=('build', 'run'))
depends_on('py-configparser@3.5:', when='^python@:2', type=('build', 'run'))
- depends_on('py-importlib-resources', when='^python@:3.6', type='test')
- depends_on('py-packaging', type='test')
diff --git a/var/spack/repos/builtin/packages/py-intervaltree/package.py b/var/spack/repos/builtin/packages/py-intervaltree/package.py
index f5d4501dd7..c89ae107ca 100644
--- a/var/spack/repos/builtin/packages/py-intervaltree/package.py
+++ b/var/spack/repos/builtin/packages/py-intervaltree/package.py
@@ -15,5 +15,4 @@ class PyIntervaltree(PythonPackage):
version('3.0.2', sha256='e8ab75b66077f2e5fb85ac56cb6df834689edb048d38601d53d8867cce3b77d1')
depends_on('py-sortedcontainers@2:2.999', type=('build', 'run'))
- depends_on('py-pytest', type='test')
depends_on('py-setuptools', type='build')
diff --git a/var/spack/repos/builtin/packages/py-ipykernel/package.py b/var/spack/repos/builtin/packages/py-ipykernel/package.py
index 1428f7d804..eee3e033b7 100644
--- a/var/spack/repos/builtin/packages/py-ipykernel/package.py
+++ b/var/spack/repos/builtin/packages/py-ipykernel/package.py
@@ -36,10 +36,6 @@ class PyIpykernel(PythonPackage):
depends_on('py-tornado@4.0:', when='@:4.999', type=('build', 'run'))
depends_on('py-tornado@4.2:', when='@5.0.0:', type=('build', 'run'))
depends_on('py-appnope', when='platform=darwin', type=('build', 'run'))
- depends_on('py-pytest@:5.3.3,5.3.5:', type='test')
- depends_on('py-pytest-cov', type='test')
- # depends_on('py-flaky', type='test')
- depends_on('py-nose', type='test')
phases = ['build', 'install', 'install_data']
diff --git a/var/spack/repos/builtin/packages/py-ipython/package.py b/var/spack/repos/builtin/packages/py-ipython/package.py
index 2f10a7dddf..ba62552304 100644
--- a/var/spack/repos/builtin/packages/py-ipython/package.py
+++ b/var/spack/repos/builtin/packages/py-ipython/package.py
@@ -41,9 +41,3 @@ class PyIpython(PythonPackage):
depends_on('py-backports-shutil-get-terminal-size', type=('build', 'run'), when="^python@:3.2")
depends_on('py-pathlib2', type=('build', 'run'), when="^python@:3.3")
depends_on('py-simplegeneric@0.8:', type=('build', 'run'), when='@:7.0.0')
- depends_on('py-nose@0.10.1:', type='test')
- depends_on('py-requests', type='test')
- depends_on('py-testpath', type='test')
- depends_on('py-nbformat', type='test')
- depends_on('py-ipykernel', type='test')
- depends_on('py-numpy@1.14:', type='test')
diff --git a/var/spack/repos/builtin/packages/py-ipywidgets/package.py b/var/spack/repos/builtin/packages/py-ipywidgets/package.py
index 11b0989069..076d013863 100644
--- a/var/spack/repos/builtin/packages/py-ipywidgets/package.py
+++ b/var/spack/repos/builtin/packages/py-ipywidgets/package.py
@@ -30,5 +30,3 @@ class PyIpywidgets(PythonPackage):
when='@7.4.2')
depends_on('py-widgetsnbextension@3.5.0:3.5.999', type=('build', 'run'),
when='@7.5.1')
- depends_on('py-mock', type='test', when='^python@2.7:2.8')
- depends_on('py-nose', type='test')
diff --git a/var/spack/repos/builtin/packages/py-isort/package.py b/var/spack/repos/builtin/packages/py-isort/package.py
index 1446f70979..612fa8c769 100644
--- a/var/spack/repos/builtin/packages/py-isort/package.py
+++ b/var/spack/repos/builtin/packages/py-isort/package.py
@@ -16,8 +16,6 @@ class PyIsort(PythonPackage):
version('4.2.15', sha256='79f46172d3a4e2e53e7016e663cc7a8b538bec525c36675fcfd2767df30b3983')
depends_on('py-setuptools', type=('build', 'run'))
- depends_on('py-pytest', type='test')
- depends_on('py-mock', type='test')
depends_on('python@2.6:2.8,3.3:', type=('build', 'run'))
depends_on('python@2.7:2.8,3.4:', type=('build', 'run'), when='@4.3.0:')
depends_on('py-futures', type=('build', 'run'), when='@4.3.0: ^python@:3.1')
diff --git a/var/spack/repos/builtin/packages/py-jinja2/package.py b/var/spack/repos/builtin/packages/py-jinja2/package.py
index 588367c0f5..4210fecc52 100644
--- a/var/spack/repos/builtin/packages/py-jinja2/package.py
+++ b/var/spack/repos/builtin/packages/py-jinja2/package.py
@@ -14,8 +14,6 @@ class PyJinja2(PythonPackage):
homepage = "https://palletsprojects.com/p/jinja/"
url = "https://pypi.io/packages/source/J/Jinja2/Jinja2-2.10.3.tar.gz"
- import_modules = ['jinja2']
-
version('2.10.3', sha256='9fe95f19286cfefaa917656583d020be14e7859c6b0252588391e47db34527de')
version('2.10.1', sha256='065c4f02ebe7f7cf559e49ee5a95fb800a9e4528727aec6f24402a5374c65013')
version('2.10', sha256='f84be1bb0040caca4cea721fcbbbbd61f9be9464ca236387158b0feea01914a4')
diff --git a/var/spack/repos/builtin/packages/py-jmespath/package.py b/var/spack/repos/builtin/packages/py-jmespath/package.py
index ed5da676f2..f339adce11 100644
--- a/var/spack/repos/builtin/packages/py-jmespath/package.py
+++ b/var/spack/repos/builtin/packages/py-jmespath/package.py
@@ -12,9 +12,6 @@ class PyJmespath(PythonPackage):
homepage = "https://github.com/jmespath/jmespath.py"
url = "https://pypi.io/packages/source/j/jmespath/jmespath-0.9.4.tar.gz"
- import_modules = ['jmespath']
-
version('0.9.4', sha256='bde2aef6f44302dfb30320115b17d030798de8c4110e28d5cf6cf91a7a31074c')
depends_on('py-setuptools', type='build')
- depends_on('py-nose', type='test')
diff --git a/var/spack/repos/builtin/packages/py-jupyterlab-server/package.py b/var/spack/repos/builtin/packages/py-jupyterlab-server/package.py
index 09bfce1b1f..16098d58bf 100644
--- a/var/spack/repos/builtin/packages/py-jupyterlab-server/package.py
+++ b/var/spack/repos/builtin/packages/py-jupyterlab-server/package.py
@@ -22,5 +22,3 @@ class PyJupyterlabServer(PythonPackage):
depends_on('py-jsonschema@3.0.1:', type=('build', 'run'))
depends_on('py-notebook@4.2.0:', type=('build', 'run'))
depends_on('py-jinja2@2.10:', type=('build', 'run'))
-
- depends_on('py-pytest', type='test')
diff --git a/var/spack/repos/builtin/packages/py-jupyterlab/package.py b/var/spack/repos/builtin/packages/py-jupyterlab/package.py
index f19c1b8174..1f3a460cd3 100644
--- a/var/spack/repos/builtin/packages/py-jupyterlab/package.py
+++ b/var/spack/repos/builtin/packages/py-jupyterlab/package.py
@@ -20,8 +20,3 @@ class PyJupyterlab(PythonPackage):
depends_on('py-tornado@:5,6.0.3:', type=('build', 'run'))
depends_on('py-jupyterlab-server@1.1.5:1.999', type=('build', 'run'))
depends_on('py-jinja2@2.10:', type=('build', 'run'))
- depends_on('py-pytest', type='test')
- depends_on('py-pytest-check-links', type='test')
- depends_on('py-requests', type='test')
- depends_on('py-wheel', type='test')
- depends_on('py-virtualenv', type='test')
diff --git a/var/spack/repos/builtin/packages/py-kmodes/package.py b/var/spack/repos/builtin/packages/py-kmodes/package.py
index a3bbe8ea75..e3c348a3b9 100644
--- a/var/spack/repos/builtin/packages/py-kmodes/package.py
+++ b/var/spack/repos/builtin/packages/py-kmodes/package.py
@@ -13,8 +13,6 @@ class PyKmodes(PythonPackage):
homepage = "https://github.com/nicodv/kmodes"
url = "https://pypi.io/packages/source/k/kmodes/kmodes-0.10.1.tar.gz"
- import_modules = ['kmodes', 'kmodes.util']
-
version('0.10.1', sha256='3222c2f672a6356be353955c02d1e38472d9f6074744b4ffb0c058e8c2235ea1')
depends_on('python@3.4:', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-latexcodec/package.py b/var/spack/repos/builtin/packages/py-latexcodec/package.py
index d379022142..9df819d09b 100644
--- a/var/spack/repos/builtin/packages/py-latexcodec/package.py
+++ b/var/spack/repos/builtin/packages/py-latexcodec/package.py
@@ -12,8 +12,6 @@ class PyLatexcodec(PythonPackage):
homepage = "http://latexcodec.readthedocs.io"
url = "https://pypi.io/packages/source/l/latexcodec/latexcodec-1.0.4.tar.gz"
- import_modules = ['latexcodec']
-
version('1.0.4', sha256='62bf8a3ee298f169a4d014dad5522bc1325b54dc98789a453fd338620387cb6c')
depends_on('py-setuptools', type='build')
diff --git a/var/spack/repos/builtin/packages/py-linecache2/package.py b/var/spack/repos/builtin/packages/py-linecache2/package.py
index b490059705..7e23622206 100644
--- a/var/spack/repos/builtin/packages/py-linecache2/package.py
+++ b/var/spack/repos/builtin/packages/py-linecache2/package.py
@@ -16,5 +16,3 @@ class PyLinecache2(PythonPackage):
depends_on('py-setuptools', type='build')
depends_on('py-pbr', type='build')
- depends_on('py-fixtures', type='test')
- depends_on('py-unittest2', type='test')
diff --git a/var/spack/repos/builtin/packages/py-locket/package.py b/var/spack/repos/builtin/packages/py-locket/package.py
index 2ef69b2992..ed0c47e0fd 100644
--- a/var/spack/repos/builtin/packages/py-locket/package.py
+++ b/var/spack/repos/builtin/packages/py-locket/package.py
@@ -12,6 +12,4 @@ class PyLocket(PythonPackage):
homepage = "http://github.com/mwilliamson/locket.py"
url = "https://pypi.io/packages/source/l/locket/locket-0.2.0.tar.gz"
- import_modules = ['locket']
-
version('0.2.0', sha256='1fee63c1153db602b50154684f5725564e63a0f6d09366a1cb13dffcec179fb4')
diff --git a/var/spack/repos/builtin/packages/py-logilab-common/package.py b/var/spack/repos/builtin/packages/py-logilab-common/package.py
index ad55892341..8e26e028d9 100644
--- a/var/spack/repos/builtin/packages/py-logilab-common/package.py
+++ b/var/spack/repos/builtin/packages/py-logilab-common/package.py
@@ -18,4 +18,3 @@ class PyLogilabCommon(PythonPackage):
depends_on("py-setuptools", type=('build', 'run'))
depends_on("py-six@1.4.0:", type=('build', 'run'))
depends_on("py-unittest2@0.5.1:", type=('build', 'run'), when='^python@:2.7')
- depends_on("py-pytz", type='test')
diff --git a/var/spack/repos/builtin/packages/py-luigi/package.py b/var/spack/repos/builtin/packages/py-luigi/package.py
index 18adbff049..cfadfde68f 100644
--- a/var/spack/repos/builtin/packages/py-luigi/package.py
+++ b/var/spack/repos/builtin/packages/py-luigi/package.py
@@ -19,5 +19,3 @@ class PyLuigi(PythonPackage):
depends_on('py-tornado@4.0:4.99', type=('build', 'run'))
depends_on('py-python-daemon@:2.1', type=('build', 'run'))
depends_on('py-python-dateutil@2.7.5', when='@2.8.3:', type=('build', 'run'))
-
- depends_on('py-pytest@3.3.0:', type='test')
diff --git a/var/spack/repos/builtin/packages/py-mako/package.py b/var/spack/repos/builtin/packages/py-mako/package.py
index b60dd8d184..0a23413bac 100644
--- a/var/spack/repos/builtin/packages/py-mako/package.py
+++ b/var/spack/repos/builtin/packages/py-mako/package.py
@@ -17,6 +17,4 @@ class PyMako(PythonPackage):
version('1.0.1', sha256='45f0869febea59dab7efd256fb451c377cbb7947bef386ff0bb44627c31a8d1c')
depends_on('py-setuptools', type='build')
- depends_on('py-mock', type='test')
- depends_on('py-pytest', type='test')
depends_on('py-markupsafe@0.9.2:', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-markupsafe/package.py b/var/spack/repos/builtin/packages/py-markupsafe/package.py
index f334d03cee..a1aa3b80b2 100644
--- a/var/spack/repos/builtin/packages/py-markupsafe/package.py
+++ b/var/spack/repos/builtin/packages/py-markupsafe/package.py
@@ -15,8 +15,6 @@ class PyMarkupsafe(PythonPackage):
homepage = "http://www.pocoo.org/projects/markupsafe/"
url = "https://pypi.io/packages/source/M/MarkupSafe/MarkupSafe-1.1.1.tar.gz"
- import_modules = ['markupsafe']
-
version('1.1.1', sha256='29872e92839765e546828bb7754a68c418d927cd064fd4708fab9fe9c8bb116b')
version('1.0', sha256='a6be69091dac236ea9c6bc7d012beab42010fa914c459791d627dad4910eb665')
version('0.23', sha256='a4ec1aff59b95a14b45eb2e23761a0179e98319da5a7eb76b56ea8cdc7b871c3')
diff --git a/var/spack/repos/builtin/packages/py-matplotlib/package.py b/var/spack/repos/builtin/packages/py-matplotlib/package.py
index ebb95033cf..b8589ffc59 100644
--- a/var/spack/repos/builtin/packages/py-matplotlib/package.py
+++ b/var/spack/repos/builtin/packages/py-matplotlib/package.py
@@ -14,15 +14,14 @@ class PyMatplotlib(PythonPackage):
url = "https://pypi.io/packages/source/m/matplotlib/matplotlib-3.3.2.tar.gz"
maintainers = ['adamjstewart']
-
import_modules = [
- 'mpl_toolkits', 'matplotlib', 'mpl_toolkits.axes_grid1',
- 'mpl_toolkits.axes_grid', 'mpl_toolkits.mplot3d',
- 'mpl_toolkits.axisartist', 'matplotlib.compat', 'matplotlib.tri',
- 'matplotlib.axes', 'matplotlib.sphinxext', 'matplotlib.cbook',
- 'matplotlib.backends', 'matplotlib.style', 'matplotlib.projections',
- 'matplotlib.testing', 'matplotlib.backends.qt_editor',
- 'matplotlib.testing.jpl_units'
+ 'mpl_toolkits.axes_grid1', 'mpl_toolkits.axes_grid',
+ 'mpl_toolkits.mplot3d', 'mpl_toolkits.axisartist', 'matplotlib',
+ 'matplotlib.compat', 'matplotlib.tri', 'matplotlib.axes',
+ 'matplotlib.sphinxext', 'matplotlib.cbook', 'matplotlib.backends',
+ 'matplotlib.backends.qt_editor', 'matplotlib.style',
+ 'matplotlib.projections', 'matplotlib.testing',
+ 'matplotlib.testing.jpl_units', 'pylab'
]
version('3.3.3', sha256='b1b60c6476c4cfe9e5cf8ab0d3127476fd3d5f05de0f343a452badaad0e4bdec')
@@ -183,6 +182,8 @@ class PyMatplotlib(PythonPackage):
setup.write('system_freetype = True\n')
setup.write('system_qhull = True\n')
+ @run_after('build')
+ @on_package_attributes(run_tests=True)
def build_test(self):
pytest = which('pytest')
pytest()
diff --git a/var/spack/repos/builtin/packages/py-mccabe/package.py b/var/spack/repos/builtin/packages/py-mccabe/package.py
index cd4c0df089..37b8f80f12 100644
--- a/var/spack/repos/builtin/packages/py-mccabe/package.py
+++ b/var/spack/repos/builtin/packages/py-mccabe/package.py
@@ -28,7 +28,6 @@ class PyMccabe(PythonPackage):
depends_on('python@2.7:2.8,3.3:')
depends_on('py-setuptools', type='build')
- depends_on('py-pytest', type='test')
def patch(self):
"""Filter pytest-runner requirement out of setup.py."""
diff --git a/var/spack/repos/builtin/packages/py-merlin/package.py b/var/spack/repos/builtin/packages/py-merlin/package.py
index 199c0bcd5f..231f90a278 100644
--- a/var/spack/repos/builtin/packages/py-merlin/package.py
+++ b/var/spack/repos/builtin/packages/py-merlin/package.py
@@ -21,9 +21,6 @@ class PyMerlin(PythonPackage):
depends_on('python@3.6:', type=('build', 'run'))
depends_on('py-setuptools', type=('build', 'run'))
-
- depends_on('py-pytest', type='test')
-
depends_on('py-cached-property', type=('build', 'run'))
depends_on('py-celery@5.0.0+redis+sqlalchemy', when="@1.7.5:", type=('build', 'run'))
depends_on('py-celery@4.3.0:4.999+redis+sqlalchemy', when="@:1.7.4", type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-mock/package.py b/var/spack/repos/builtin/packages/py-mock/package.py
index 1f35d26020..b406da3f8d 100644
--- a/var/spack/repos/builtin/packages/py-mock/package.py
+++ b/var/spack/repos/builtin/packages/py-mock/package.py
@@ -23,5 +23,3 @@ class PyMock(PythonPackage):
depends_on('py-six@1.7:', type=('build', 'run'))
depends_on('py-six@1.9:', type=('build', 'run'), when='@2.0.0:')
depends_on('py-funcsigs@1:', type=('build', 'run'), when='^python@:3.2')
- depends_on('py-pytest', type='test')
- depends_on('py-pytest-cov', type='test')
diff --git a/var/spack/repos/builtin/packages/py-more-itertools/package.py b/var/spack/repos/builtin/packages/py-more-itertools/package.py
index dba18e66b3..d21f5e57d4 100644
--- a/var/spack/repos/builtin/packages/py-more-itertools/package.py
+++ b/var/spack/repos/builtin/packages/py-more-itertools/package.py
@@ -12,8 +12,6 @@ class PyMoreItertools(PythonPackage):
homepage = "https://github.com/erikrose/more-itertools"
url = "https://pypi.io/packages/source/m/more-itertools/more-itertools-7.2.0.tar.gz"
- import_modules = ['more_itertools', 'more_itertools.tests']
-
version('7.2.0', sha256='409cd48d4db7052af495b09dec721011634af3753ae1ef92d2b32f73a745f832')
version('7.0.0', sha256='c3e4748ba1aad8dba30a4886b0b1a2004f9a863837b8654e7059eebf727afa5a')
version('5.0.0', sha256='38a936c0a6d98a38bcc2d03fdaaedaba9f412879461dd2ceff8d37564d6522e4')
diff --git a/var/spack/repos/builtin/packages/py-msal-extensions/package.py b/var/spack/repos/builtin/packages/py-msal-extensions/package.py
index 75e6740f35..5a17c1ad37 100644
--- a/var/spack/repos/builtin/packages/py-msal-extensions/package.py
+++ b/var/spack/repos/builtin/packages/py-msal-extensions/package.py
@@ -20,4 +20,3 @@ class PyMsalExtensions(PythonPackage):
depends_on('py-msal@0.4.1:1.999', type=('build', 'run'))
depends_on('py-portalocker@1.0:1.999', type=('build', 'run'))
depends_on('py-pathlib2', when='@0.2:^python@:2', type=('build', 'run'))
- depends_on('py-pytest', type='test')
diff --git a/var/spack/repos/builtin/packages/py-mypy/package.py b/var/spack/repos/builtin/packages/py-mypy/package.py
index f822ea567e..1e1d57f701 100644
--- a/var/spack/repos/builtin/packages/py-mypy/package.py
+++ b/var/spack/repos/builtin/packages/py-mypy/package.py
@@ -19,8 +19,3 @@ class PyMypy(PythonPackage):
depends_on('py-typed-ast@1.4.0:1.4.999', type=('build', 'run'))
depends_on('py-typing-extensions@3.7.4:', type=('build', 'run'))
depends_on('py-mypy-extensions@0.4.0:0.4.999', type=('build', 'run'))
- depends_on('py-pytest', type='test')
- depends_on('py-virtualenv', type='test')
- depends_on('py-pip', type='test')
- depends_on('py-lxml', type='test')
- depends_on('googletest', type='test')
diff --git a/var/spack/repos/builtin/packages/py-nose/package.py b/var/spack/repos/builtin/packages/py-nose/package.py
index fcafc521c7..a60a096f18 100644
--- a/var/spack/repos/builtin/packages/py-nose/package.py
+++ b/var/spack/repos/builtin/packages/py-nose/package.py
@@ -13,10 +13,6 @@ class PyNose(PythonPackage):
homepage = "https://pypi.python.org/pypi/nose"
url = "https://pypi.io/packages/source/n/nose/nose-1.3.4.tar.gz"
- import_modules = [
- 'nose', 'nose.ext', 'nose.plugins', 'nose.sphinx', 'nose.tools'
- ]
-
version('1.3.7', sha256='f1bffef9cbc82628f6e7d7b40d7e255aefaa1adb6a1b1d26c69a8b79e6208a98')
version('1.3.6', sha256='f61e0909a743eed37b1207e38a8e7b4a2fe0a82185e36f2be252ef1b3f901758')
version('1.3.4', sha256='76bc63a4e2d5e5a0df77ca7d18f0f56e2c46cfb62b71103ba92a92c79fab1e03')
diff --git a/var/spack/repos/builtin/packages/py-numpy/package.py b/var/spack/repos/builtin/packages/py-numpy/package.py
index fd09019469..106f40e76c 100644
--- a/var/spack/repos/builtin/packages/py-numpy/package.py
+++ b/var/spack/repos/builtin/packages/py-numpy/package.py
@@ -20,14 +20,6 @@ class PyNumpy(PythonPackage):
git = "https://github.com/numpy/numpy.git"
maintainers = ['adamjstewart']
- install_time_test_callbacks = ['install_test', 'import_module_test']
-
- import_modules = [
- 'numpy', 'numpy.compat', 'numpy.core', 'numpy.distutils', 'numpy.doc',
- 'numpy.f2py', 'numpy.fft', 'numpy.lib', 'numpy.linalg', 'numpy.ma',
- 'numpy.matrixlib', 'numpy.polynomial', 'numpy.random', 'numpy.testing',
- 'numpy.distutils.command', 'numpy.distutils.fcompiler'
- ]
version('master', branch='master')
version('1.19.4', sha256='141ec3a3300ab89c7f2b0775289954d193cc8edb621ea05f99db9cb181530512')
@@ -306,21 +298,8 @@ class PyNumpy(PythonPackage):
return args
- def build_test(self):
- # `setup.py test` is not supported. Use one of the following
- # instead:
- #
- # - `python runtests.py` (to build and test)
- # - `python runtests.py --no-build` (to test installed numpy)
- # - `>>> numpy.test()` (run tests for installed numpy
- # from within an interpreter)
- pass
-
+ @run_after('install')
+ @on_package_attributes(run_tests=True)
def install_test(self):
- # Change directories due to the following error:
- #
- # ImportError: Error importing numpy: you should not try to import
- # numpy from its source directory; please exit the numpy
- # source tree, and relaunch your python interpreter from there.
with working_dir('spack-test', create=True):
python('-c', 'import numpy; numpy.test("full", verbose=2)')
diff --git a/var/spack/repos/builtin/packages/py-oauthlib/package.py b/var/spack/repos/builtin/packages/py-oauthlib/package.py
index 93fbb9aacc..d69ae5bc6c 100644
--- a/var/spack/repos/builtin/packages/py-oauthlib/package.py
+++ b/var/spack/repos/builtin/packages/py-oauthlib/package.py
@@ -22,16 +22,7 @@ class PyOauthlib(PythonPackage):
variant('extras', default=True, description='Build with pyjwt, blinker, cryptography')
depends_on('py-setuptools', type='build')
-
depends_on('py-pyjwt@1.0.0:', type=('build', 'run'), when='+extras')
depends_on('py-blinker', type=('build', 'run'), when='+extras')
depends_on('py-cryptography', type=('build', 'run'), when='+extras')
-
- depends_on('py-mock@2.0:', type='test')
- depends_on('py-pytest@4.0:', type='test')
- depends_on('py-pytest-cov@2.6:', type='test')
-
- depends_on('py-nose', type='test', when='@2.0.2')
- depends_on('py-unittest2', type='test', when='^python@2.0.2')
-
depends_on('python@2.7:2.8,3.4:', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-olefile/package.py b/var/spack/repos/builtin/packages/py-olefile/package.py
index 4e9826b18b..34db8febe3 100644
--- a/var/spack/repos/builtin/packages/py-olefile/package.py
+++ b/var/spack/repos/builtin/packages/py-olefile/package.py
@@ -12,8 +12,6 @@ class PyOlefile(PythonPackage):
homepage = "https://www.decalage.info/python/olefileio"
url = "https://pypi.io/packages/source/o/olefile/olefile-0.44.zip"
- import_modules = ['olefile']
-
version('0.44', sha256='61f2ca0cd0aa77279eb943c07f607438edf374096b66332fae1ee64a6f0f73ad')
depends_on('python@2.6:', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-openslide-python/package.py b/var/spack/repos/builtin/packages/py-openslide-python/package.py
index 371b218cb3..aa12432d50 100644
--- a/var/spack/repos/builtin/packages/py-openslide-python/package.py
+++ b/var/spack/repos/builtin/packages/py-openslide-python/package.py
@@ -14,8 +14,6 @@ class PyOpenslidePython(PythonPackage):
version('1.1.1', sha256='33c390fe43e3d7d443fafdd66969392d3e9efd2ecd5d4af73c3dbac374485ed5')
- import_modules = ['openslide']
-
depends_on('openslide@3.4.0:')
depends_on('python@2.6:2.8,3.3:')
depends_on('py-setuptools', type='build')
diff --git a/var/spack/repos/builtin/packages/py-opt-einsum/package.py b/var/spack/repos/builtin/packages/py-opt-einsum/package.py
index 0f430c76f8..9bf9c57fd2 100644
--- a/var/spack/repos/builtin/packages/py-opt-einsum/package.py
+++ b/var/spack/repos/builtin/packages/py-opt-einsum/package.py
@@ -21,6 +21,3 @@ class PyOptEinsum(PythonPackage):
depends_on('python@3.5:', type=('build', 'run'), when='@3:')
depends_on('py-setuptools', type='build')
depends_on('py-numpy@1.7:', type=('build', 'run'))
- depends_on('py-pytest', type='test')
- depends_on('py-pytest-cov', type='test')
- depends_on('py-pytest-pep8', type='test')
diff --git a/var/spack/repos/builtin/packages/py-ordereddict/package.py b/var/spack/repos/builtin/packages/py-ordereddict/package.py
index afba6ee6f3..f26d76e049 100644
--- a/var/spack/repos/builtin/packages/py-ordereddict/package.py
+++ b/var/spack/repos/builtin/packages/py-ordereddict/package.py
@@ -13,6 +13,4 @@ class PyOrdereddict(PythonPackage):
homepage = "https://pypi.python.org/pypi/ordereddict"
url = "https://pypi.io/packages/source/o/ordereddict/ordereddict-1.1.tar.gz"
- import_modules = ['ordereddict']
-
version('1.1', sha256='1c35b4ac206cef2d24816c89f89cf289dd3d38cf7c449bb3fab7bf6d43f01b1f')
diff --git a/var/spack/repos/builtin/packages/py-oset/package.py b/var/spack/repos/builtin/packages/py-oset/package.py
index 9dfb7c47db..7bbf9fac62 100644
--- a/var/spack/repos/builtin/packages/py-oset/package.py
+++ b/var/spack/repos/builtin/packages/py-oset/package.py
@@ -12,8 +12,6 @@ class PyOset(PythonPackage):
homepage = "https://pypi.python.org/pypi/oset"
url = "https://pypi.io/packages/source/o/oset/oset-0.1.3.tar.gz"
- import_modules = ['oset']
-
version('0.1.3', sha256='4c1fd7dec96eeff9d3260995a8e37f9f415d0bdb79975f57824e68716ac8f904')
depends_on('py-setuptools', type='build')
diff --git a/var/spack/repos/builtin/packages/py-overpy/package.py b/var/spack/repos/builtin/packages/py-overpy/package.py
index 24b3186e17..80262e03bd 100644
--- a/var/spack/repos/builtin/packages/py-overpy/package.py
+++ b/var/spack/repos/builtin/packages/py-overpy/package.py
@@ -17,5 +17,4 @@ class PyOverpy(PythonPackage):
depends_on('py-setuptools', type='build')
depends_on('py-pytest-runner', type='build')
- depends_on('py-pytest', type='test')
depends_on('python@2.7:2.8,3.2:', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-packaging/package.py b/var/spack/repos/builtin/packages/py-packaging/package.py
index 30b44d9522..89ed821735 100644
--- a/var/spack/repos/builtin/packages/py-packaging/package.py
+++ b/var/spack/repos/builtin/packages/py-packaging/package.py
@@ -12,22 +12,14 @@ class PyPackaging(PythonPackage):
homepage = "https://github.com/pypa/packaging"
url = "https://pypi.io/packages/source/p/packaging/packaging-19.2.tar.gz"
- import_modules = ['packaging']
-
version('19.2', sha256='28b924174df7a2fa32c1953825ff29c61e2f5e082343165438812f00d3a7fc47')
version('19.1', sha256='c491ca87294da7cc01902edbe30a5bc6c4c28172b5138ab4e4aa1b9d7bfaeafe')
version('19.0', sha256='0c98a5d0be38ed775798ece1b9727178c4469d9c3b4ada66e8e6b7849f8732af')
version('17.1', sha256='f019b770dd64e585a99714f1fd5e01c7a8f11b45635aa953fd41c689a657375b')
version('16.8', sha256='5d50835fdf0a7edf0b55e311b7c887786504efea1177abd7e69329a8e5ea619e')
+ depends_on('py-setuptools', type='build')
depends_on('python@2.7:2.8,3.4:', type=('build', 'run'))
depends_on('py-attrs', when='@19.1', type=('build', 'run'))
depends_on('py-pyparsing@2.0.2:', type=('build', 'run'))
depends_on('py-six', type=('build', 'run'))
-
- # Newer versions of setuptools require packaging. Although setuptools is an
- # optional dependency of packaging, if it is not found, setup.py will
- # fallback on distutils.core instead. Don't add a setuptools dependency
- # or we won't be able to bootstrap setuptools.
-
- # depends_on('py-setuptools', type='build')
diff --git a/var/spack/repos/builtin/packages/py-pandas/package.py b/var/spack/repos/builtin/packages/py-pandas/package.py
index 55f5d27f0e..320d31231b 100644
--- a/var/spack/repos/builtin/packages/py-pandas/package.py
+++ b/var/spack/repos/builtin/packages/py-pandas/package.py
@@ -14,17 +14,19 @@ class PyPandas(PythonPackage):
maintainers = ['adamjstewart']
import_modules = [
- 'pandas', 'pandas.compat', 'pandas.core', 'pandas.util', 'pandas.io',
- 'pandas.tseries', 'pandas._libs', 'pandas.plotting', 'pandas.arrays',
- 'pandas.api', 'pandas.errors', 'pandas._config', 'pandas.compat.numpy',
+ 'pandas', 'pandas.compat', 'pandas.compat.numpy', 'pandas.core',
'pandas.core.reshape', 'pandas.core.tools', 'pandas.core.util',
- 'pandas.core.dtypes', 'pandas.core.groupby', 'pandas.core.internals',
- 'pandas.core.computation', 'pandas.core.arrays', 'pandas.core.ops',
- 'pandas.core.sparse', 'pandas.core.indexes', 'pandas.io.msgpack',
- 'pandas.io.formats', 'pandas.io.excel', 'pandas.io.json',
- 'pandas.io.sas', 'pandas.io.clipboard', 'pandas._libs.tslibs',
- 'pandas.plotting._matplotlib', 'pandas.api.types',
- 'pandas.api.extensions'
+ 'pandas.core.array_algos', 'pandas.core.dtypes', 'pandas.core.groupby',
+ 'pandas.core.internals', 'pandas.core.computation',
+ 'pandas.core.window', 'pandas.core.arrays',
+ 'pandas.core.arrays.sparse', 'pandas.core.ops', 'pandas.core.sparse',
+ 'pandas.core.indexes', 'pandas.util', 'pandas.io', 'pandas.io.formats',
+ 'pandas.io.excel', 'pandas.io.json', 'pandas.io.sas',
+ 'pandas.io.clipboard', 'pandas.tseries', 'pandas._libs',
+ 'pandas._libs.window', 'pandas._libs.tslibs', 'pandas.plotting',
+ 'pandas.arrays', 'pandas.api', 'pandas.api.indexers',
+ 'pandas.api.types', 'pandas.api.extensions', 'pandas.errors',
+ 'pandas._config'
]
version('1.1.5', sha256='f10fc41ee3c75a474d3bdf68d396f10782d013d7f67db99c0efbfd0acb99701b')
@@ -80,10 +82,3 @@ class PyPandas(PythonPackage):
# Optional dependencies
# https://pandas.pydata.org/pandas-docs/stable/getting_started/install.html#optional-dependencies
-
- # Test dependencies
- # https://pandas.pydata.org/pandas-docs/stable/development/contributing.html#running-the-test-suite
- depends_on('py-pytest@4.0.2:', type='test')
- depends_on('py-pytest-xdist', type='test')
- depends_on('py-hypothesis@3.58:', type='test')
- depends_on('py-pyarrow@0.10.0:', type='test')
diff --git a/var/spack/repos/builtin/packages/py-parso/package.py b/var/spack/repos/builtin/packages/py-parso/package.py
index 3f54eca9ce..cd0e93f273 100644
--- a/var/spack/repos/builtin/packages/py-parso/package.py
+++ b/var/spack/repos/builtin/packages/py-parso/package.py
@@ -19,5 +19,3 @@ class PyParso(PythonPackage):
depends_on('python@2.7:2.8,3.4:', type=('build', 'run'))
depends_on('py-setuptools', type='build')
- depends_on('py-pytest@3.0.7:', type='test')
- depends_on('py-docopt', type='test')
diff --git a/var/spack/repos/builtin/packages/py-partd/package.py b/var/spack/repos/builtin/packages/py-partd/package.py
index 8e99413822..751968fc53 100644
--- a/var/spack/repos/builtin/packages/py-partd/package.py
+++ b/var/spack/repos/builtin/packages/py-partd/package.py
@@ -12,8 +12,6 @@ class PyPartd(PythonPackage):
homepage = "http://github.com/dask/partd/"
url = "https://pypi.io/packages/source/p/partd/partd-0.3.8.tar.gz"
- import_modules = ['partd']
-
version('1.1.0', sha256='6e258bf0810701407ad1410d63d1a15cfd7b773fd9efe555dac6bb82cc8832b0')
version('0.3.10', sha256='33722a228ebcd1fa6f44b1631bdd4cff056376f89eb826d7d880b35b637bcfba')
version('0.3.8', sha256='67291f1c4827cde3e0148b3be5d69af64b6d6169feb9ba88f0a6cfe77089400f')
diff --git a/var/spack/repos/builtin/packages/py-pathlib2/package.py b/var/spack/repos/builtin/packages/py-pathlib2/package.py
index 5da1abbe18..10f547ce90 100644
--- a/var/spack/repos/builtin/packages/py-pathlib2/package.py
+++ b/var/spack/repos/builtin/packages/py-pathlib2/package.py
@@ -12,8 +12,6 @@ class PyPathlib2(PythonPackage):
homepage = "https://pypi.python.org/pypi/pathlib2"
url = "https://pypi.io/packages/source/p/pathlib2/pathlib2-2.3.2.tar.gz"
- import_modules = ['pathlib2']
-
version('2.3.3', sha256='25199318e8cc3c25dcb45cbe084cc061051336d5a9ea2a12448d3d8cb748f742')
version('2.3.2', sha256='8eb170f8d0d61825e09a95b38be068299ddeda82f35e96c3301a8a5e7604cb83')
version('2.1.0', sha256='deb3a960c1d55868dfbcac98432358b92ba89d95029cddd4040db1f27405055c')
diff --git a/var/spack/repos/builtin/packages/py-patsy/package.py b/var/spack/repos/builtin/packages/py-patsy/package.py
index eb20c74049..6b265dbfb3 100644
--- a/var/spack/repos/builtin/packages/py-patsy/package.py
+++ b/var/spack/repos/builtin/packages/py-patsy/package.py
@@ -21,5 +21,3 @@ class PyPatsy(PythonPackage):
depends_on('py-numpy', type=('build', 'run'))
depends_on('py-scipy', type=('build', 'run'), when="+splines")
depends_on('py-six', type=('build', 'run'))
-
- depends_on('py-nose', type='test')
diff --git a/var/spack/repos/builtin/packages/py-pbr/package.py b/var/spack/repos/builtin/packages/py-pbr/package.py
index 80abed9db0..27bee158f6 100644
--- a/var/spack/repos/builtin/packages/py-pbr/package.py
+++ b/var/spack/repos/builtin/packages/py-pbr/package.py
@@ -22,19 +22,3 @@ class PyPbr(PythonPackage):
depends_on('python@2.6:', type=('build', 'run'))
depends_on('py-setuptools', type='build')
-
- # test-requirements.txt
- depends_on('py-wheel@0.32.0:', type='test')
- depends_on('py-fixtures@3.0.0:', type='test')
- depends_on('py-hacking@0.12.0:0.12.999,0.13.1:0.13.999', type='test')
- depends_on('py-mock@2.0.0:', type='test')
- depends_on('py-six@1.10.0:', type='test')
- depends_on('py-stestr@2.1.0:', type='test')
- depends_on('py-testresources@2.0.0:', type='test')
- depends_on('py-testscenarios@0.4:', type='test')
- depends_on('py-testtools@2.2.0:', type='test')
- depends_on('py-virtualenv@14.0.6:', type='test')
- depends_on('py-coverage@4.0:4.3,4.5:', type='test')
- depends_on('py-sphinx@1.6.2:1.6.5,1.6.8:1.999', when='^python@:2', type='test')
- depends_on('py-sphinx@1.6.2:1.6.5,1.6.8:', type='test')
- depends_on('py-testrepository@0.0.18:', type='test')
diff --git a/var/spack/repos/builtin/packages/py-pep8/package.py b/var/spack/repos/builtin/packages/py-pep8/package.py
index d1eaa13470..ab5c65c5d2 100644
--- a/var/spack/repos/builtin/packages/py-pep8/package.py
+++ b/var/spack/repos/builtin/packages/py-pep8/package.py
@@ -12,8 +12,6 @@ class PyPep8(PythonPackage):
homepage = "https://pep8.readthedocs.org/"
url = "https://pypi.io/packages/source/p/pep8/pep8-1.7.1.tar.gz"
- import_modules = ['pep8']
-
version('1.7.1', sha256='fe249b52e20498e59e0b5c5256aa52ee99fc295b26ec9eaa85776ffdb9fe6374')
depends_on('py-setuptools', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-pillow/package.py b/var/spack/repos/builtin/packages/py-pillow/package.py
index 5ff2621c2d..c12b35deb5 100644
--- a/var/spack/repos/builtin/packages/py-pillow/package.py
+++ b/var/spack/repos/builtin/packages/py-pillow/package.py
@@ -7,7 +7,6 @@ class PyPillowBase(PythonPackage):
"""Base class for Pillow and its fork Pillow-SIMD."""
maintainers = ['adamjstewart']
- import_modules = ['PIL']
provides('pil')
@@ -36,9 +35,6 @@ class PyPillowBase(PythonPackage):
depends_on('python@2.6:2.8,3.2:3.5', when='@2:3', type=('build', 'run'))
depends_on('python@2.4:2.7', when='@:1', type=('build', 'run'))
depends_on('py-setuptools', type='build')
- depends_on('py-pytest', type='test')
- depends_on('py-pytest-runner', type='test')
- depends_on('imagemagick', type='test')
# Optional dependencies
depends_on('zlib', when='+zlib')
@@ -98,8 +94,6 @@ class PyPillowBase(PythonPackage):
env.set('MAX_CONCURRENCY', str(make_jobs))
# Tests need to be re-added since `phases` was overridden
- run_after('build_ext')(
- PythonPackage._run_default_build_time_test_callbacks)
run_after('install')(
PythonPackage._run_default_install_time_test_callbacks)
run_after('install')(PythonPackage.sanity_check_prefix)
diff --git a/var/spack/repos/builtin/packages/py-pkgconfig/package.py b/var/spack/repos/builtin/packages/py-pkgconfig/package.py
index f519422138..550a936dcb 100644
--- a/var/spack/repos/builtin/packages/py-pkgconfig/package.py
+++ b/var/spack/repos/builtin/packages/py-pkgconfig/package.py
@@ -19,7 +19,4 @@ class PyPkgconfig(PythonPackage):
depends_on('python@2.6:2.8,3.3:', type=('build', 'run'))
depends_on('python@2.7:2.8,3.3:', when='@1.5:', type=('build', 'run'))
depends_on('py-setuptools', when='@:1.4', type=('build', 'run'))
-
depends_on('pkgconfig', type=('build', 'run'))
-
- depends_on('py-nose@1.0:', type=('build', 'test'))
diff --git a/var/spack/repos/builtin/packages/py-pkginfo/package.py b/var/spack/repos/builtin/packages/py-pkginfo/package.py
index ed00f37a5d..366f4a9471 100644
--- a/var/spack/repos/builtin/packages/py-pkginfo/package.py
+++ b/var/spack/repos/builtin/packages/py-pkginfo/package.py
@@ -15,5 +15,3 @@ class PyPkginfo(PythonPackage):
version('1.5.0.1', sha256='7424f2c8511c186cd5424bbf31045b77435b37a8d604990b79d4e70d741148bb')
depends_on('py-setuptools', type=('build', 'run'))
- depends_on('py-nose', type='test')
- depends_on('py-coverage', type='test')
diff --git a/var/spack/repos/builtin/packages/py-planet/package.py b/var/spack/repos/builtin/packages/py-planet/package.py
index 89b888097e..617c0e8efc 100644
--- a/var/spack/repos/builtin/packages/py-planet/package.py
+++ b/var/spack/repos/builtin/packages/py-planet/package.py
@@ -14,9 +14,6 @@ class PyPlanet(PythonPackage):
version('1.4.6', sha256='43ff6a765f465302f500aaf65b81a46ac6aad7bb42899e4a7543bdc293d4ca0d')
depends_on('py-setuptools', type='build')
- depends_on('py-mock', type='test')
- depends_on('py-pytest', type='test')
- depends_on('py-requests-mock', type='test')
depends_on('py-click', type=('build', 'run'))
depends_on('py-requests', type=('build', 'run'))
depends_on('py-requests-futures@0.9.7', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-pluggy/package.py b/var/spack/repos/builtin/packages/py-pluggy/package.py
index 1e2fb3f2bd..41a6780e41 100644
--- a/var/spack/repos/builtin/packages/py-pluggy/package.py
+++ b/var/spack/repos/builtin/packages/py-pluggy/package.py
@@ -12,8 +12,6 @@ class PyPluggy(PythonPackage):
homepage = "https://github.com/pytest-dev/pluggy"
url = "https://pypi.io/packages/source/p/pluggy/pluggy-0.13.0.tar.gz"
- import_modules = ['pluggy']
-
version('0.13.0', sha256='fa5fa1622fa6dd5c030e9cad086fa19ef6a0cf6d7a2d12318e10cb49d6d68f34')
version('0.12.0', sha256='0825a152ac059776623854c1543d65a4ad408eb3d33ee114dff91e57ec6ae6fc')
version('0.7.1', sha256='95eb8364a4708392bae89035f45341871286a333f749c3141c20573d2b3876e1')
diff --git a/var/spack/repos/builtin/packages/py-preshed/package.py b/var/spack/repos/builtin/packages/py-preshed/package.py
index cb8cc2ed10..1798c1fbdc 100644
--- a/var/spack/repos/builtin/packages/py-preshed/package.py
+++ b/var/spack/repos/builtin/packages/py-preshed/package.py
@@ -15,4 +15,3 @@ class PyPreshed(PythonPackage):
depends_on('py-setuptools', type='build')
depends_on('py-cymem@2.0.2:2.0.999', type=('build', 'run'))
depends_on('py-murmurhash@0.28:1.0', type=('build', 'run'))
- depends_on('py-pytest', type='test')
diff --git a/var/spack/repos/builtin/packages/py-projectq/package.py b/var/spack/repos/builtin/packages/py-projectq/package.py
index d22a51584f..d1f9efc2a0 100644
--- a/var/spack/repos/builtin/packages/py-projectq/package.py
+++ b/var/spack/repos/builtin/packages/py-projectq/package.py
@@ -19,11 +19,6 @@ class PyProjectq(PythonPackage):
homepage = "https://projectq.ch"
git = "https://github.com/projectq-framework/projectq.git"
- # Provided python modules
- import_modules = ['projectq', 'projectq.backends', 'projectq.cengines',
- 'projectq.libs', 'projectq.meta', 'projectq.ops',
- 'projectq.setups', 'projectq.types']
-
# Versions
version('develop', branch='develop')
version('0.3.6', commit='fa484fe037a3a1772127bbd00fe4628ddba34611')
@@ -33,7 +28,6 @@ class PyProjectq(PythonPackage):
depends_on('py-numpy', type=('build', 'run'))
depends_on('py-scipy', type=('build', 'run'))
depends_on('py-future', type=('build', 'run'))
- depends_on('py-pytest@3.1.0:', type=('test'))
depends_on('py-requests', type=('build', 'run'))
# conflict with pybind11@2.2.0 -> see requirements.txt
depends_on('py-pybind11@1.7:2.1,2.2.1:', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-prometheus-client/package.py b/var/spack/repos/builtin/packages/py-prometheus-client/package.py
index 86733359cf..afb0f282e1 100644
--- a/var/spack/repos/builtin/packages/py-prometheus-client/package.py
+++ b/var/spack/repos/builtin/packages/py-prometheus-client/package.py
@@ -20,3 +20,15 @@ class PyPrometheusClient(PythonPackage):
depends_on('py-setuptools', type='build')
depends_on('py-twisted', type=('build', 'run'), when='+twisted')
+
+ @property
+ def import_modules(self):
+ modules = [
+ 'prometheus_client', 'prometheus_client.openmetrics',
+ 'prometheus_client.bridge'
+ ]
+
+ if '+twisted' in self.spec:
+ modules.append('prometheus_client.twisted')
+
+ return modules
diff --git a/var/spack/repos/builtin/packages/py-psutil/package.py b/var/spack/repos/builtin/packages/py-psutil/package.py
index ba64a0e0eb..70f898de39 100644
--- a/var/spack/repos/builtin/packages/py-psutil/package.py
+++ b/var/spack/repos/builtin/packages/py-psutil/package.py
@@ -23,6 +23,3 @@ class PyPsutil(PythonPackage):
depends_on('python@2.6:2.8,3.4:', type=('build', 'run'))
depends_on('py-setuptools', type='build')
- depends_on('py-unittest2', when='^python@:2.6', type='test')
- depends_on('py-mock', when='^python@:2.7', type='test')
- depends_on('py-ipaddress', when='^python@:3.2', type='test')
diff --git a/var/spack/repos/builtin/packages/py-py/package.py b/var/spack/repos/builtin/packages/py-py/package.py
index 995612d20a..e7320a0124 100644
--- a/var/spack/repos/builtin/packages/py-py/package.py
+++ b/var/spack/repos/builtin/packages/py-py/package.py
@@ -12,11 +12,6 @@ class PyPy(PythonPackage):
homepage = "http://pylib.readthedocs.io/en/latest/"
url = "https://pypi.io/packages/source/p/py/py-1.8.0.tar.gz"
- import_modules = [
- 'py', 'py._process', 'py._vendored_packages', 'py._path',
- 'py._log', 'py._code', 'py._io'
- ]
-
version('1.8.0', sha256='dc639b046a6e2cff5bbe40194ad65936d6ba360b52b3c3fe1d08a82dd50b5e53')
version('1.5.4', sha256='3fd59af7435864e1a243790d322d763925431213b6b8529c6ca71081ace3bbf7')
version('1.5.3', sha256='29c9fab495d7528e80ba1e343b958684f4ace687327e6f789a94bf3d1915f881')
@@ -27,7 +22,3 @@ class PyPy(PythonPackage):
depends_on('py-setuptools', type='build')
depends_on('py-setuptools-scm', type='build')
-
- def build_test(self):
- # Tests require pytest, creating a circular dependency
- pass
diff --git a/var/spack/repos/builtin/packages/py-py2cairo/package.py b/var/spack/repos/builtin/packages/py-py2cairo/package.py
index 5c492a9167..b8ab752c5f 100644
--- a/var/spack/repos/builtin/packages/py-py2cairo/package.py
+++ b/var/spack/repos/builtin/packages/py-py2cairo/package.py
@@ -23,6 +23,8 @@ class PyPy2cairo(WafPackage):
depends_on('py-pytest', type='test')
+ @run_after('install')
+ @on_package_attributes(run_tests=True)
def install_test(self):
with working_dir('test'):
pytest = which('py.test')
diff --git a/var/spack/repos/builtin/packages/py-py4j/package.py b/var/spack/repos/builtin/packages/py-py4j/package.py
index e67f5a3ec7..e291dac918 100644
--- a/var/spack/repos/builtin/packages/py-py4j/package.py
+++ b/var/spack/repos/builtin/packages/py-py4j/package.py
@@ -19,4 +19,3 @@ class PyPy4j(PythonPackage):
version('0.10.3', sha256='f4570108ad014dd52a65c2288418e31cb8227b5ecc39ad7fc7fe98314f7a26f2')
depends_on('py-setuptools', type='build')
- depends_on('py-nose@1.3.7:', type='test')
diff --git a/var/spack/repos/builtin/packages/py-pyarrow/package.py b/var/spack/repos/builtin/packages/py-pyarrow/package.py
index 3f8c3f640e..0e1c73909e 100644
--- a/var/spack/repos/builtin/packages/py-pyarrow/package.py
+++ b/var/spack/repos/builtin/packages/py-pyarrow/package.py
@@ -31,11 +31,6 @@ class PyPyarrow(PythonPackage, CudaPackage):
depends_on('py-setuptools-scm', type='build', when='@0.15.0:')
depends_on('py-cython', type='build')
depends_on('py-cython@0.29:', type='build', when='@0.15.0:')
- depends_on('py-pytest-runner', type='test', when='@0.17:')
- depends_on('py-pytest', type='test', when='@0.15.0:')
- depends_on('py-pandas', type='test', when='@0.15.0:')
- depends_on('py-hypothesis', type='test', when='@0.15.0:')
- depends_on('py-pathlib2', type='test', when='@0.15.0: ^python@:3.3.99')
depends_on('py-numpy@1.14:', type=('build', 'run'), when='@0.15.0:')
depends_on('py-six@1.0.0:', type=('build', 'run'), when='@0.15.0:')
depends_on('py-futures', type=('build', 'run'), when='@0.15.0:^python@:3.1.99')
diff --git a/var/spack/repos/builtin/packages/py-pybind11/package.py b/var/spack/repos/builtin/packages/py-pybind11/package.py
index 92db96105a..bf9ff13fd0 100644
--- a/var/spack/repos/builtin/packages/py-pybind11/package.py
+++ b/var/spack/repos/builtin/packages/py-pybind11/package.py
@@ -36,7 +36,6 @@ class PyPybind11(CMakePackage):
version('2.1.1', sha256='f2c6874f1ea5b4ad4ffffe352413f7d2cd1a49f9050940805c2a082348621540')
version('2.1.0', sha256='2860f2b8d0c9f65f0698289a161385f59d099b7ead1bf64e8993c486f2b93ee0')
- depends_on('py-pytest', type='test')
depends_on('py-setuptools', type='build')
extends('python')
diff --git a/var/spack/repos/builtin/packages/py-pybtex-docutils/package.py b/var/spack/repos/builtin/packages/py-pybtex-docutils/package.py
index ba93a2a994..c2df3bf8ee 100644
--- a/var/spack/repos/builtin/packages/py-pybtex-docutils/package.py
+++ b/var/spack/repos/builtin/packages/py-pybtex-docutils/package.py
@@ -12,8 +12,6 @@ class PyPybtexDocutils(PythonPackage):
homepage = "https://pypi.python.org/pypi/pybtex-docutils/"
url = "https://pypi.io/packages/source/p/pybtex-docutils/pybtex-docutils-0.2.1.tar.gz"
- import_modules = ['pybtex_docutils']
-
version('0.2.1', sha256='e4b075641c1d68a3e98a6d73ad3d029293fcf9e0773512315ef9c8482f251337')
depends_on('py-setuptools', type='build')
diff --git a/var/spack/repos/builtin/packages/py-pybtex/package.py b/var/spack/repos/builtin/packages/py-pybtex/package.py
index 56bfb42a50..2df63fbd46 100644
--- a/var/spack/repos/builtin/packages/py-pybtex/package.py
+++ b/var/spack/repos/builtin/packages/py-pybtex/package.py
@@ -14,18 +14,6 @@ class PyPybtex(PythonPackage):
homepage = "https://pybtex.org"
url = "https://pypi.io/packages/source/P/Pybtex/pybtex-0.21.tar.gz"
- import_modules = [
- 'custom_fixers', 'pybtex', 'pybtex.style', 'pybtex.tests',
- 'pybtex.database', 'pybtex.backends', 'pybtex.bibtex',
- 'pybtex.charwidths', 'pybtex.markup', 'pybtex.plugin',
- 'pybtex.style.sorting', 'pybtex.style.names',
- 'pybtex.style.labels', 'pybtex.style.formatting',
- 'pybtex.tests.database_test', 'pybtex.tests.bst_parser_test',
- 'pybtex.tests.data', 'pybtex.database.output',
- 'pybtex.database.input', 'pybtex.database.format',
- 'pybtex.database.convert'
- ]
-
version('0.21', sha256='af8a6c7c74954ad305553b118d2757f68bc77c5dd5d5de2cc1fd16db90046000')
depends_on('py-setuptools', type='build')
diff --git a/var/spack/repos/builtin/packages/py-pycparser/package.py b/var/spack/repos/builtin/packages/py-pycparser/package.py
index 6d8c217e91..6eef675ba4 100644
--- a/var/spack/repos/builtin/packages/py-pycparser/package.py
+++ b/var/spack/repos/builtin/packages/py-pycparser/package.py
@@ -12,8 +12,6 @@ class PyPycparser(PythonPackage):
homepage = "https://github.com/eliben/pycparser"
url = "https://pypi.io/packages/source/p/pycparser/pycparser-2.19.tar.gz"
- import_modules = ['pycparser', 'pycparser.ply']
-
version('2.20', sha256='2d475327684562c3a96cc71adf7dc8c4f0565175cf86b6d7a404ff4c771f15f0')
version('2.19', sha256='a988718abfad80b6b157acce7bf130a30876d27603738ac39f140993246b25b3')
version('2.18', sha256='99a8ca03e29851d96616ad0404b4aad7d9ee16f25c9f9708a11faf2810f7b226')
diff --git a/var/spack/repos/builtin/packages/py-pycuda/package.py b/var/spack/repos/builtin/packages/py-pycuda/package.py
index a5f2153d9d..544c739d23 100644
--- a/var/spack/repos/builtin/packages/py-pycuda/package.py
+++ b/var/spack/repos/builtin/packages/py-pycuda/package.py
@@ -27,5 +27,3 @@ class PyPycuda(PythonPackage):
depends_on('py-mako', type='run')
depends_on('cuda@:8.0.61', when='@2016.1.2')
-
- depends_on('py-pytest@2:', type='test')
diff --git a/var/spack/repos/builtin/packages/py-pydotplus/package.py b/var/spack/repos/builtin/packages/py-pydotplus/package.py
index 07370cbc1c..ccea3438cf 100644
--- a/var/spack/repos/builtin/packages/py-pydotplus/package.py
+++ b/var/spack/repos/builtin/packages/py-pydotplus/package.py
@@ -18,7 +18,6 @@ class PyPydotplus(PythonPackage):
depends_on('py-setuptools', type='build')
depends_on('py-pyparsing@2.0.1:', type=('build', 'run'))
- depends_on('py-pytest', type='test')
depends_on('py-sphinx', type='build', when='+docs')
depends_on('py-sphinx-rtd-theme', type='build', when='+docs')
depends_on('python@2.7:2.8,3.4:', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-pygments/package.py b/var/spack/repos/builtin/packages/py-pygments/package.py
index d7559b36d8..585a3b2cbb 100644
--- a/var/spack/repos/builtin/packages/py-pygments/package.py
+++ b/var/spack/repos/builtin/packages/py-pygments/package.py
@@ -12,11 +12,6 @@ class PyPygments(PythonPackage):
homepage = "http://pygments.org/"
url = "https://pypi.io/packages/source/P/Pygments/Pygments-2.4.2.tar.gz"
- import_modules = [
- 'pygments', 'pygments.filters', 'pygments.formatters',
- 'pygments.lexers', 'pygments.styles'
- ]
-
version('2.6.1', sha256='647344a061c249a3b74e230c739f434d7ea4d8b1d5f3721bc0f3558049b38f44')
version('2.4.2', sha256='881c4c157e45f30af185c1ffe8d549d48ac9127433f2c380c24b84572ad66297')
version('2.3.1', sha256='5ffada19f6203563680669ee7f53b64dabbeb100eb51b61996085e99c03b284a')
@@ -28,7 +23,3 @@ class PyPygments(PythonPackage):
depends_on('python@2.7:2.8,3.5:', type=('build', 'run'), when='@:2.5')
depends_on('python@3.5:', type=('build', 'run'), when='@2.6:')
depends_on('py-setuptools', type=('build', 'run'))
-
- def build_test(self):
- # Unit tests require sphinx, but that creates a circular dependency
- pass
diff --git a/var/spack/repos/builtin/packages/py-pyinstrument-cext/package.py b/var/spack/repos/builtin/packages/py-pyinstrument-cext/package.py
index 4eb2f799c1..970f5c5f16 100644
--- a/var/spack/repos/builtin/packages/py-pyinstrument-cext/package.py
+++ b/var/spack/repos/builtin/packages/py-pyinstrument-cext/package.py
@@ -15,4 +15,3 @@ class PyPyinstrumentCext(PythonPackage):
version('0.2.2', sha256='f29e25f71d74c0415ca9310e5567fff0f5d29f4240a09a885abf8b0eed71cc5b')
depends_on('py-setuptools', type='build')
- depends_on('py-nose', type='test')
diff --git a/var/spack/repos/builtin/packages/py-pyinstrument/package.py b/var/spack/repos/builtin/packages/py-pyinstrument/package.py
index ffc4c9ef0b..8acd33773e 100644
--- a/var/spack/repos/builtin/packages/py-pyinstrument/package.py
+++ b/var/spack/repos/builtin/packages/py-pyinstrument/package.py
@@ -19,4 +19,3 @@ class PyPyinstrument(PythonPackage):
depends_on('py-pytest-runner', type='build')
depends_on('npm', type='build')
depends_on('py-pyinstrument-cext@0.2.2:', type=('build', 'run'))
- depends_on('py-pytest', type='test')
diff --git a/var/spack/repos/builtin/packages/py-pyjwt/package.py b/var/spack/repos/builtin/packages/py-pyjwt/package.py
index a8006ef623..fa76c2a39a 100644
--- a/var/spack/repos/builtin/packages/py-pyjwt/package.py
+++ b/var/spack/repos/builtin/packages/py-pyjwt/package.py
@@ -19,6 +19,3 @@ class PyPyjwt(PythonPackage):
depends_on('python@2.7:2.8,3.4:', type=('build', 'run'))
depends_on('py-setuptools', type='build')
depends_on('py-cryptography@1.4:', when='+crypto', type=('build', 'run'))
- depends_on('py-pytest@4.0.1:4.99.99', type='test')
- depends_on('py-pytest-cov@2.6.0:2.99.99', type='test')
- depends_on('py-pytest-runner@4.2:4.99', type='test')
diff --git a/var/spack/repos/builtin/packages/py-pykml/package.py b/var/spack/repos/builtin/packages/py-pykml/package.py
index bfa1359ebf..38a47c94de 100644
--- a/var/spack/repos/builtin/packages/py-pykml/package.py
+++ b/var/spack/repos/builtin/packages/py-pykml/package.py
@@ -19,4 +19,3 @@ class PyPykml(PythonPackage):
depends_on('py-setuptools', type='build')
depends_on('py-lxml@2.2.6:', type=('build', 'run'))
- depends_on('py-nose', type='test')
diff --git a/var/spack/repos/builtin/packages/py-pynn/package.py b/var/spack/repos/builtin/packages/py-pynn/package.py
index 12304f9c9c..85d22a9dd5 100644
--- a/var/spack/repos/builtin/packages/py-pynn/package.py
+++ b/var/spack/repos/builtin/packages/py-pynn/package.py
@@ -30,5 +30,3 @@ class PyPynn(PythonPackage):
depends_on('py-neo@0.3:0.4.1', type=('build', 'run'), when="@:0.8.3")
depends_on('py-neo@0.5.0:', type=('build', 'run'), when="@0.9.0:")
-
- depends_on('py-mock@1.0:', type='test')
diff --git a/var/spack/repos/builtin/packages/py-pyparsing/package.py b/var/spack/repos/builtin/packages/py-pyparsing/package.py
index ea7efac809..bb22f34c20 100644
--- a/var/spack/repos/builtin/packages/py-pyparsing/package.py
+++ b/var/spack/repos/builtin/packages/py-pyparsing/package.py
@@ -11,8 +11,6 @@ class PyPyparsing(PythonPackage):
homepage = "http://pyparsing.wikispaces.com/"
url = "https://pypi.io/packages/source/p/pyparsing/pyparsing-2.4.2.tar.gz"
- import_modules = ['pyparsing']
-
version('2.4.2', sha256='6f98a7b9397e206d78cc01df10131398f1c8b8510a2f4d97d9abd82e1aacdd80')
version('2.4.0', sha256='1873c03321fc118f4e9746baf201ff990ceb915f433f23b395f5580d1840cb2a')
version('2.3.1', sha256='66c9268862641abcac4a96ba74506e594c884e3f57690a696d21ad8210ed667a')
diff --git a/var/spack/repos/builtin/packages/py-pyprecice/package.py b/var/spack/repos/builtin/packages/py-pyprecice/package.py
index 36cb9957f5..8636fbb586 100644
--- a/var/spack/repos/builtin/packages/py-pyprecice/package.py
+++ b/var/spack/repos/builtin/packages/py-pyprecice/package.py
@@ -26,9 +26,6 @@ class PyPyprecice(PythonPackage):
version("2.0.0.2", sha256="5f055d809d65ec2e81f4d001812a250f50418de59990b47d6bcb12b88da5f5d7")
version("2.0.0.1", sha256="96eafdf421ec61ad6fcf0ab1d3cf210831a815272984c470b2aea57d4d0c9e0e")
- # Import module as a test
- import_modules = ["precice"]
-
patch("deactivate-version-check-via-pip.patch")
variant("mpi", default=True, description="Enables MPI support")
diff --git a/var/spack/repos/builtin/packages/py-pyproj/package.py b/var/spack/repos/builtin/packages/py-pyproj/package.py
index dfc0edf924..7c4e2eb80c 100644
--- a/var/spack/repos/builtin/packages/py-pyproj/package.py
+++ b/var/spack/repos/builtin/packages/py-pyproj/package.py
@@ -14,7 +14,6 @@ class PyPyproj(PythonPackage):
git = "https://github.com/pyproj4/pyproj.git"
maintainers = ['citibeth', 'adamjstewart']
- import_modules = ['pyproj']
version('2.6.0', sha256='977542d2f8cf2981cf3ad72cedfebcd6ac56977c7aa830d9b49fa7888b56e83d')
version('2.2.0', sha256='0a4f793cc93539c2292638c498e24422a2ec4b25cb47545addea07724b2a56e5')
diff --git a/var/spack/repos/builtin/packages/py-pyqt4/package.py b/var/spack/repos/builtin/packages/py-pyqt4/package.py
index 5405911401..bd2b8f9cc9 100644
--- a/var/spack/repos/builtin/packages/py-pyqt4/package.py
+++ b/var/spack/repos/builtin/packages/py-pyqt4/package.py
@@ -16,13 +16,6 @@ class PyPyqt4(SIPPackage):
url = "http://sourceforge.net/projects/pyqt/files/PyQt4/PyQt-4.12.3/PyQt4_gpl_x11-4.12.3.tar.gz"
sip_module = 'PyQt4.sip'
- import_modules = [
- 'PyQt4', 'PyQt4.Qt', 'PyQt4.QtCore', 'PyQt4.QtDeclarative',
- 'PyQt4.QtDesigner', 'PyQt4.QtGui', 'PyQt4.QtHelp',
- 'PyQt4.QtMultimedia', 'PyQt4.QtNetwork', 'PyQt4.QtOpenGL',
- 'PyQt4.QtScript', 'PyQt4.QtScriptTools', 'PyQt4.QtSql', 'PyQt4.QtSvg',
- 'PyQt4.QtTest', 'PyQt4.QtWebKit', 'PyQt4.QtXml', 'PyQt4.QtXmlPatterns'
- ]
version('4.12.3', sha256='a00f5abef240a7b5852b7924fa5fdf5174569525dc076cd368a566619e56d472')
version('4.11.3', sha256='853780dcdbe2e6ba785d703d059b096e1fc49369d3e8d41a060be874b8745686',
diff --git a/var/spack/repos/builtin/packages/py-pyqt5/package.py b/var/spack/repos/builtin/packages/py-pyqt5/package.py
index e26c66a891..2770ffe20d 100644
--- a/var/spack/repos/builtin/packages/py-pyqt5/package.py
+++ b/var/spack/repos/builtin/packages/py-pyqt5/package.py
@@ -16,14 +16,6 @@ class PyPyqt5(SIPPackage):
list_url = "https://www.riverbankcomputing.com/software/pyqt/download5"
sip_module = 'PyQt5.sip'
- import_modules = [
- 'PyQt5', 'PyQt5.QtCore', 'PyQt5.QtGui', 'PyQt5.QtHelp',
- 'PyQt5.QtMultimedia', 'PyQt5.QtMultimediaWidgets', 'PyQt5.QtNetwork',
- 'PyQt5.QtOpenGL', 'PyQt5.QtPrintSupport', 'PyQt5.QtQml',
- 'PyQt5.QtQuick', 'PyQt5.QtSvg', 'PyQt5.QtTest', 'PyQt5.QtWebChannel',
- 'PyQt5.QtWebSockets', 'PyQt5.QtWidgets', 'PyQt5.QtXml',
- 'PyQt5.QtXmlPatterns'
- ]
version('5.13.1', sha256='54b7f456341b89eeb3930e786837762ea67f235e886512496c4152ebe106d4af')
version('5.13.0', sha256='0cdbffe5135926527b61cc3692dd301cd0328dd87eeaf1313e610787c46faff9')
diff --git a/var/spack/repos/builtin/packages/py-pysocks/package.py b/var/spack/repos/builtin/packages/py-pysocks/package.py
index 200902f536..2a37391e63 100644
--- a/var/spack/repos/builtin/packages/py-pysocks/package.py
+++ b/var/spack/repos/builtin/packages/py-pysocks/package.py
@@ -18,5 +18,3 @@ class PyPysocks(PythonPackage):
depends_on('python@2.7:2.8,3.4:', type=('build', 'run'))
depends_on('py-setuptools', type='build')
- depends_on('py-psutil', type='test')
- depends_on('py-pytest', type='test')
diff --git a/var/spack/repos/builtin/packages/py-pytest-httpbin/package.py b/var/spack/repos/builtin/packages/py-pytest-httpbin/package.py
index 5e270bf4df..241828a977 100644
--- a/var/spack/repos/builtin/packages/py-pytest-httpbin/package.py
+++ b/var/spack/repos/builtin/packages/py-pytest-httpbin/package.py
@@ -23,4 +23,3 @@ class PyPytestHttpbin(PythonPackage):
depends_on('py-decorator', when='@:0.2', type=('build', 'run'))
depends_on('py-httpbin', type=('build', 'run'))
depends_on('py-six', type=('build', 'run'))
- depends_on('py-pytest', type='test')
diff --git a/var/spack/repos/builtin/packages/py-pytest-isort/package.py b/var/spack/repos/builtin/packages/py-pytest-isort/package.py
index d55b9550e2..2218d5debf 100644
--- a/var/spack/repos/builtin/packages/py-pytest-isort/package.py
+++ b/var/spack/repos/builtin/packages/py-pytest-isort/package.py
@@ -11,7 +11,6 @@ class PyPytestIsort(PythonPackage):
homepage = "http://github.com/moccu/pytest-isort/"
url = "https://pypi.io/packages/source/p/pytest-isort/pytest-isort-0.3.1.tar.gz"
- import_modules = ['pytest_isort']
version('0.3.1', sha256='4bfee60dad1870b51700d55a85f5ceda766bd9d3d2878c1bbabee80e61b1be1a')
diff --git a/var/spack/repos/builtin/packages/py-pytest-pep8/package.py b/var/spack/repos/builtin/packages/py-pytest-pep8/package.py
index f365a172eb..eb8ae7d974 100644
--- a/var/spack/repos/builtin/packages/py-pytest-pep8/package.py
+++ b/var/spack/repos/builtin/packages/py-pytest-pep8/package.py
@@ -12,8 +12,6 @@ class PyPytestPep8(PythonPackage):
homepage = "https://bitbucket.org/pytest-dev/pytest-pep8"
url = "https://pypi.io/packages/source/p/pytest-pep8/pytest-pep8-1.0.6.tar.gz"
- import_modules = ['pytest_pep8']
-
version('1.0.6', sha256='032ef7e5fa3ac30f4458c73e05bb67b0f036a8a5cb418a534b3170f89f120318')
depends_on('py-setuptools', type='build')
diff --git a/var/spack/repos/builtin/packages/py-pytest-runner/package.py b/var/spack/repos/builtin/packages/py-pytest-runner/package.py
index d3337bcac9..79135892f6 100644
--- a/var/spack/repos/builtin/packages/py-pytest-runner/package.py
+++ b/var/spack/repos/builtin/packages/py-pytest-runner/package.py
@@ -12,8 +12,6 @@ class PyPytestRunner(PythonPackage):
homepage = "https://github.com/pytest-dev/pytest-runner"
url = "https://pypi.io/packages/source/p/pytest-runner/pytest-runner-5.1.tar.gz"
- import_modules = ['ptr']
-
version('5.1', sha256='25a013c8d84f0ca60bb01bd11913a3bcab420f601f0f236de4423074af656e7a')
version('2.11.1', sha256='983a31eab45e375240e250161a556163bc8d250edaba97960909338c273a89b3')
diff --git a/var/spack/repos/builtin/packages/py-pytest/package.py b/var/spack/repos/builtin/packages/py-pytest/package.py
index b6d2c914c5..696aa573c2 100644
--- a/var/spack/repos/builtin/packages/py-pytest/package.py
+++ b/var/spack/repos/builtin/packages/py-pytest/package.py
@@ -12,8 +12,6 @@ class PyPytest(PythonPackage):
homepage = "http://pytest.org/"
url = "https://pypi.io/packages/source/p/pytest/pytest-5.2.1.tar.gz"
- import_modules = ['pytest']
-
version('5.3.4', sha256='1d122e8be54d1a709e56f82e2d85dcba3018313d64647f38a91aec88c239b600')
version('5.2.1', sha256='ca563435f4941d0cb34767301c27bc65c510cb82e90b9ecf9cb52dc2c63caaa0')
version('5.1.1', sha256='c3d5020755f70c82eceda3feaf556af9a341334414a8eca521a18f463bcead88')
diff --git a/var/spack/repos/builtin/packages/py-python-dateutil/package.py b/var/spack/repos/builtin/packages/py-python-dateutil/package.py
index 16bff6858d..cf8ea1f90d 100644
--- a/var/spack/repos/builtin/packages/py-python-dateutil/package.py
+++ b/var/spack/repos/builtin/packages/py-python-dateutil/package.py
@@ -12,10 +12,6 @@ class PyPythonDateutil(PythonPackage):
homepage = "https://dateutil.readthedocs.io/"
url = "https://pypi.io/packages/source/p/python-dateutil/python-dateutil-2.8.0.tar.gz"
- import_modules = [
- 'dateutil', 'dateutil.zoneinfo', 'dateutil.parser', 'dateutil.tz'
- ]
-
version('2.8.0', sha256='c89805f6f4d64db21ed966fda138f8a5ed7a4fdbc1a8ee329ce1b74e3c74da9e')
version('2.7.5', sha256='88f9287c0174266bb0d8cedd395cfba9c58e87e5ad86b2ce58859bc11be3cf02')
version('2.5.2', sha256='063907ef47f6e187b8fe0728952e4effb587a34f2dc356888646f9b71fbb2e4b')
@@ -27,13 +23,3 @@ class PyPythonDateutil(PythonPackage):
depends_on('py-setuptools@24.3:', type='build')
depends_on('py-setuptools-scm', type='build', when='@2.7.0:')
depends_on('py-six@1.5:', type=('build', 'run'))
- # depends_on('py-pytest', type='test')
- # depends_on('py-hypothesis', type='test')
- # depends_on('py-freezegun', type='test')
-
- def build_test(self):
- # Tests require freezegun, which depends on python-dateutil,
- # creating circular dependency
- # pytest = which('pytest')
- # pytest()
- pass
diff --git a/var/spack/repos/builtin/packages/py-python-swiftclient/package.py b/var/spack/repos/builtin/packages/py-python-swiftclient/package.py
index a016686406..a8f24784be 100644
--- a/var/spack/repos/builtin/packages/py-python-swiftclient/package.py
+++ b/var/spack/repos/builtin/packages/py-python-swiftclient/package.py
@@ -14,8 +14,6 @@ class PyPythonSwiftclient(PythonPackage):
maintainers = ['ajkotobi']
- import_modules = ['sys', 'setuptools', 'requests']
-
version('3.10.0', sha256='66227eaf29a691c70675fb9982022980b92797c273dd5e6dc7e680425e9a3634')
version('3.9.0', sha256='4f2097492e4c76e948882fc859bfa033ade09bed72f8e6b328e34a3467d9a377')
version('3.8.1', sha256='3a013303643f77a99befa05582dfb93671e1fba1aed9f4a517418129700aedb8')
diff --git a/var/spack/repos/builtin/packages/py-python-utils/package.py b/var/spack/repos/builtin/packages/py-python-utils/package.py
index 6c8e3aa732..e192c67cc9 100644
--- a/var/spack/repos/builtin/packages/py-python-utils/package.py
+++ b/var/spack/repos/builtin/packages/py-python-utils/package.py
@@ -19,5 +19,3 @@ class PyPythonUtils(PythonPackage):
depends_on('py-setuptools', type='build')
depends_on('py-six', type=('build', 'run'))
- depends_on('py-pytest', type='test')
- depends_on('py-pytest-runner', type='test')
diff --git a/var/spack/repos/builtin/packages/py-pytz/package.py b/var/spack/repos/builtin/packages/py-pytz/package.py
index d4d752fdaa..601509d9ba 100644
--- a/var/spack/repos/builtin/packages/py-pytz/package.py
+++ b/var/spack/repos/builtin/packages/py-pytz/package.py
@@ -12,8 +12,6 @@ class PyPytz(PythonPackage):
homepage = "http://pythonhosted.org/pytz"
url = "https://pypi.io/packages/source/p/pytz/pytz-2019.3.tar.gz"
- import_modules = ['pytz']
-
version('2020.1', sha256='c35965d010ce31b23eeb663ed3cc8c906275d6be1a34393a1d73a41febf4a048')
version('2019.3', sha256='b02c06db6cf09c12dd25137e563b31700d3b80fcc4ad23abb7a315f2789819be')
version('2019.1', sha256='d747dd3d23d77ef44c6a3526e274af6efeb0a6f1afd5a69ba4d5be4098c8e141')
diff --git a/var/spack/repos/builtin/packages/py-pywavelets/package.py b/var/spack/repos/builtin/packages/py-pywavelets/package.py
index 460c6011e7..91d077d13e 100644
--- a/var/spack/repos/builtin/packages/py-pywavelets/package.py
+++ b/var/spack/repos/builtin/packages/py-pywavelets/package.py
@@ -17,8 +17,6 @@ class PyPywavelets(PythonPackage):
version('1.1.1', sha256='1a64b40f6acb4ffbaccce0545d7fc641744f95351f62e4c6aaa40549326008c9')
version('0.5.2', sha256='ce36e2f0648ea1781490b09515363f1f64446b0eac524603e5db5e180113bed9')
- import_modules = ['pywt', 'pywt.data']
-
depends_on('python@3.5:', type=('build', 'run'), when='@1.1.1:')
depends_on('py-setuptools', type='build')
depends_on('py-cython', type='build')
diff --git a/var/spack/repos/builtin/packages/py-pyyaml/package.py b/var/spack/repos/builtin/packages/py-pyyaml/package.py
index 00b3d848b7..419282250f 100644
--- a/var/spack/repos/builtin/packages/py-pyyaml/package.py
+++ b/var/spack/repos/builtin/packages/py-pyyaml/package.py
@@ -61,8 +61,6 @@ class PyPyyaml(PythonPackage):
return args
# Tests need to be re-added since `phases` was overridden
- run_after('build_ext')(
- PythonPackage._run_default_build_time_test_callbacks)
run_after('install')(
PythonPackage._run_default_install_time_test_callbacks)
run_after('install')(PythonPackage.sanity_check_prefix)
diff --git a/var/spack/repos/builtin/packages/py-pyzmq/package.py b/var/spack/repos/builtin/packages/py-pyzmq/package.py
index 9cd9e46242..3e5dae326a 100644
--- a/var/spack/repos/builtin/packages/py-pyzmq/package.py
+++ b/var/spack/repos/builtin/packages/py-pyzmq/package.py
@@ -11,6 +11,14 @@ class PyPyzmq(PythonPackage):
homepage = "https://github.com/zeromq/pyzmq"
url = "https://github.com/zeromq/pyzmq/archive/v14.7.0.tar.gz"
+ import_modules = [
+ 'zmq', 'zmq.green', 'zmq.green.eventloop', 'zmq.sugar', 'zmq.auth',
+ 'zmq.auth.asyncio', 'zmq.utils', 'zmq.backend', 'zmq.backend.cffi',
+ 'zmq.backend.cython', 'zmq.ssh', 'zmq.eventloop',
+ 'zmq.eventloop.minitornado', 'zmq.eventloop.minitornado.platform',
+ 'zmq.log', 'zmq.asyncio', 'zmq.devices'
+ ]
+
version('18.1.0', sha256='32f7618b8104021bc96cbd60be4330bdf37b929e8061dbce362c9f3478a08e21')
version('18.0.1', sha256='7b0107992d8cc4c43d9af1c2e13d573ea761c7feb23d7e0e7da9dc963811e68f')
version('17.1.2', sha256='77a32350440e321466b1748e6063b34a8a73768b62cb674e7d799fbc654b7c45')
@@ -18,9 +26,9 @@ class PyPyzmq(PythonPackage):
version('14.7.0', sha256='809a5fcc720d286c840f7f64696e60322b5b2544795a73db626f09b344d16a15')
depends_on('python@2.7:2.8,3.3:', type=('build', 'run'), when='@18:')
- depends_on('py-cython@0.16:', type=('build', 'run'))
- depends_on('py-cython@0.20:', type=('build', 'run'), when='@18:')
- # these dependencies might only be needed for pypy
+ depends_on('py-cython@0.16:', type='build')
+ depends_on('py-cython@0.20:', type='build', when='@18:')
depends_on('py-py', type=('build', 'run'))
depends_on('py-cffi', type=('build', 'run'))
+ depends_on('py-gevent', type=('build', 'run'))
depends_on('libzmq')
diff --git a/var/spack/repos/builtin/packages/py-qsymm/package.py b/var/spack/repos/builtin/packages/py-qsymm/package.py
index 6817a72a80..e550f342cd 100644
--- a/var/spack/repos/builtin/packages/py-qsymm/package.py
+++ b/var/spack/repos/builtin/packages/py-qsymm/package.py
@@ -27,5 +27,4 @@ class PyQsymm(PythonPackage):
depends_on('py-scipy@0.19:', type=('build', 'run'))
depends_on('py-sympy@1.1:', type=('build', 'run'))
depends_on('py-tinyarray', type=('build', 'run'))
- depends_on('py-pytest', type='test')
depends_on('py-pytest-runner', type='build')
diff --git a/var/spack/repos/builtin/packages/py-qtconsole/package.py b/var/spack/repos/builtin/packages/py-qtconsole/package.py
index 046e04c2e5..75c1e97b1c 100644
--- a/var/spack/repos/builtin/packages/py-qtconsole/package.py
+++ b/var/spack/repos/builtin/packages/py-qtconsole/package.py
@@ -26,5 +26,3 @@ class PyQtconsole(PythonPackage):
depends_on('py-ipython-genutils', type=('build', 'run'), when='@4.5.1:')
depends_on('py-sphinx@1.3:', type=('build', 'run'), when='+docs')
depends_on('py-pyqt5', type='run')
-
- depends_on('py-mock', type='test', when='^python@2.7:2.8')
diff --git a/var/spack/repos/builtin/packages/py-rasterio/package.py b/var/spack/repos/builtin/packages/py-rasterio/package.py
index 8d3b131b4e..ab5eec1633 100644
--- a/var/spack/repos/builtin/packages/py-rasterio/package.py
+++ b/var/spack/repos/builtin/packages/py-rasterio/package.py
@@ -17,7 +17,6 @@ class PyRasterio(PythonPackage):
url = "https://pypi.io/packages/source/r/rasterio/rasterio-1.1.5.tar.gz"
maintainers = ['adamjstewart']
- import_modules = ['rasterio', 'rasterio.rio']
version('1.1.5', sha256='ebe75c71f9257c780615caaec8ef81fa4602702cf9290a65c213e1639284acc9')
version('1.0.24', sha256='4839479621045211f66868ec49625979693450bc2e476f23e7e8ac4804eaf452')
@@ -37,10 +36,3 @@ class PyRasterio(PythonPackage):
depends_on('py-enum34', type='run', when='^python@:3.3')
depends_on('gdal@1.11:3.0', when='@1.0.25:')
depends_on('gdal@1.11:2', when='@:1.0.24')
- depends_on('py-pytest@2.8.2:', type='test')
- depends_on('py-pytest-cov@2.2.0:', type='test')
- depends_on('py-boto3@1.2.4:', type='test')
- depends_on('py-packaging', type='test')
- depends_on('py-hypothesis', type='test')
- depends_on('py-futures', type='test', when='^python@:3.1')
- depends_on('py-mock', type='test', when='^python@:3.1')
diff --git a/var/spack/repos/builtin/packages/py-readme-renderer/package.py b/var/spack/repos/builtin/packages/py-readme-renderer/package.py
index edfdfa6d46..9df50f2890 100644
--- a/var/spack/repos/builtin/packages/py-readme-renderer/package.py
+++ b/var/spack/repos/builtin/packages/py-readme-renderer/package.py
@@ -21,5 +21,3 @@ class PyReadmeRenderer(PythonPackage):
depends_on('py-docutils@0.13.1:', type=('build', 'run'))
depends_on('py-pygments', type=('build', 'run'))
depends_on('py-six', type=('build', 'run'))
- depends_on('py-pytest', type='test')
- depends_on('py-mock', type='test')
diff --git a/var/spack/repos/builtin/packages/py-requests-mock/package.py b/var/spack/repos/builtin/packages/py-requests-mock/package.py
index 94807b5cbd..9b3b0e27e0 100644
--- a/var/spack/repos/builtin/packages/py-requests-mock/package.py
+++ b/var/spack/repos/builtin/packages/py-requests-mock/package.py
@@ -12,8 +12,6 @@ class PyRequestsMock(PythonPackage):
homepage = "https://requests-mock.readthedocs.io/"
url = "https://pypi.io/packages/source/r/requests-mock/requests-mock-1.7.0.tar.gz"
- import_modules = ['requests_mock']
-
version('1.7.0', sha256='88d3402dd8b3c69a9e4f9d3a73ad11b15920c6efd36bc27bf1f701cf4a8e4646')
depends_on('py-setuptools', type='build')
diff --git a/var/spack/repos/builtin/packages/py-requests-oauthlib/package.py b/var/spack/repos/builtin/packages/py-requests-oauthlib/package.py
index 6c6a633e47..b6f0a66667 100644
--- a/var/spack/repos/builtin/packages/py-requests-oauthlib/package.py
+++ b/var/spack/repos/builtin/packages/py-requests-oauthlib/package.py
@@ -20,5 +20,3 @@ class PyRequestsOauthlib(PythonPackage):
depends_on('py-oauthlib@3.0.0:', type=('build', 'run'))
depends_on('py-requests@2.0.0:', type=('build', 'run'))
depends_on('python@2.7:2.8,3.4:', type=('build', 'run'))
- depends_on('py-mock', type='test')
- depends_on('py-requests-mock', type='test')
diff --git a/var/spack/repos/builtin/packages/py-requests/package.py b/var/spack/repos/builtin/packages/py-requests/package.py
index 30af0cd73f..513e58cc02 100644
--- a/var/spack/repos/builtin/packages/py-requests/package.py
+++ b/var/spack/repos/builtin/packages/py-requests/package.py
@@ -12,17 +12,6 @@ class PyRequests(PythonPackage):
homepage = "http://python-requests.org"
url = "https://pypi.io/packages/source/r/requests/requests-2.24.0.tar.gz"
- import_modules = [
- 'requests', 'requests.packages', 'requests.packages.chardet',
- 'requests.packages.urllib3', 'requests.packages.idna',
- 'requests.packages.chardet.cli', 'requests.packages.urllib3.util',
- 'requests.packages.urllib3.packages',
- 'requests.packages.urllib3.contrib',
- 'requests.packages.urllib3.packages.ssl_match_hostname',
- 'requests.packages.urllib3.packages.backports',
- 'requests.packages.urllib3.contrib._securetransport'
- ]
-
version('2.24.0', sha256='b3559a131db72c33ee969480840fff4bb6dd111de7dd27c8ee1f820f4f00231b')
version('2.23.0', sha256='b3f43d496c6daba4493e7c431722aeb7dbc6288f52a6e04e7b6023b0247817e6')
version('2.22.0', sha256='11e007a8a2aa0323f5a921e9e6a2d7e4e67d9877e85773fba9ba6419025cbeb4')
@@ -41,10 +30,3 @@ class PyRequests(PythonPackage):
depends_on('py-idna@2.5:2.999', type=('build', 'run'), when='@2.23.0:')
depends_on('py-urllib3@1.21.1:1.24,1.25.2:1.25.999', type=('build', 'run'), when='@2.16.0:')
depends_on('py-certifi@2017.4.17:', type=('build', 'run'), when='@2.16.0:')
-
- depends_on('py-pytest-httpbin@0.0.7', type='test')
- depends_on('py-pytest-cov', type='test')
- depends_on('py-pytest-mock', type='test')
- depends_on('py-pytest-xdist', type='test')
- depends_on('py-pysocks@1.5.6,1.5.8:', type='test')
- depends_on('py-pytest@2.8.0:', type='test')
diff --git a/var/spack/repos/builtin/packages/py-robotframework/package.py b/var/spack/repos/builtin/packages/py-robotframework/package.py
index 6eaa479102..bce66cceaf 100644
--- a/var/spack/repos/builtin/packages/py-robotframework/package.py
+++ b/var/spack/repos/builtin/packages/py-robotframework/package.py
@@ -16,7 +16,3 @@ class PyRobotframework(PythonPackage):
version('3.2.1', sha256='9805faa0990125ff2c9689b673448d5f47e78470e7a8e95af1606a775fa8379f')
depends_on('py-setuptools', type=('build', 'run'))
- depends_on('py-enum34', type='test')
- depends_on('py-ipaddress', type='test')
- depends_on('py-mock', type='test')
- depends_on('py-unittest2', type='test')
diff --git a/var/spack/repos/builtin/packages/py-rsa/package.py b/var/spack/repos/builtin/packages/py-rsa/package.py
index 85e2b84d00..4f7604e828 100644
--- a/var/spack/repos/builtin/packages/py-rsa/package.py
+++ b/var/spack/repos/builtin/packages/py-rsa/package.py
@@ -12,8 +12,6 @@ class PyRsa(PythonPackage):
homepage = "https://stuvel.eu/rsa"
url = "https://pypi.io/packages/source/r/rsa/rsa-3.4.2.tar.gz"
- import_modules = ['rsa']
-
version('4.0', sha256='1a836406405730121ae9823e19c6e806c62bbad73f890574fff50efa4122c487')
version('3.4.2', sha256='25df4e10c263fb88b5ace923dd84bf9aa7f5019687b5e55382ffcdb8bede9db5')
diff --git a/var/spack/repos/builtin/packages/py-s3transfer/package.py b/var/spack/repos/builtin/packages/py-s3transfer/package.py
index 5db6bd28a3..59ec02bfcf 100644
--- a/var/spack/repos/builtin/packages/py-s3transfer/package.py
+++ b/var/spack/repos/builtin/packages/py-s3transfer/package.py
@@ -12,11 +12,8 @@ class PyS3transfer(PythonPackage):
homepage = "https://github.com/boto/s3transfer"
url = "https://pypi.io/packages/source/s/s3transfer/s3transfer-0.2.1.tar.gz"
- import_modules = ['s3transfer']
-
version('0.2.1', sha256='6efc926738a3cd576c2a79725fed9afde92378aa5c6a957e3af010cb019fac9d')
depends_on('py-setuptools', type='build')
depends_on('py-botocore@1.12.36:1.999', type=('build', 'run'))
depends_on('py-futures@2.2:3', type=('build', 'run'), when='^python@:2')
- depends_on('py-mock', type='test')
diff --git a/var/spack/repos/builtin/packages/py-scandir/package.py b/var/spack/repos/builtin/packages/py-scandir/package.py
index a32b03a06e..57f7e2cfa6 100644
--- a/var/spack/repos/builtin/packages/py-scandir/package.py
+++ b/var/spack/repos/builtin/packages/py-scandir/package.py
@@ -12,8 +12,6 @@ class PyScandir(PythonPackage):
homepage = "https://github.com/benhoyt/scandir"
url = "https://pypi.io/packages/source/s/scandir/scandir-1.9.0.tar.gz"
- import_modules = ['scandir']
-
version('1.10.0', sha256='4d4631f6062e658e9007ab3149a9b914f3548cb38bfb021c64f39a025ce578ae')
version('1.9.0', sha256='44975e209c4827fc18a3486f257154d34ec6eaec0f90fef0cca1caa482db7064')
version('1.6', sha256='e0278a2d4bc6c0569aedbe66bf26c8ab5b2b08378b3289de49257f23ac624338')
diff --git a/var/spack/repos/builtin/packages/py-scikit-learn/package.py b/var/spack/repos/builtin/packages/py-scikit-learn/package.py
index 0a9bf34523..ce825077eb 100644
--- a/var/spack/repos/builtin/packages/py-scikit-learn/package.py
+++ b/var/spack/repos/builtin/packages/py-scikit-learn/package.py
@@ -12,23 +12,6 @@ class PyScikitLearn(PythonPackage):
git = "https://github.com/scikit-learn/scikit-learn.git"
maintainers = ['adamjstewart']
- install_time_test_callbacks = ['install_test', 'import_module_test']
-
- import_modules = [
- 'sklearn', 'sklearn.tree', 'sklearn.metrics', 'sklearn.ensemble',
- 'sklearn.experimental', 'sklearn.cluster',
- 'sklearn.feature_extraction', 'sklearn.__check_build',
- 'sklearn.semi_supervised', 'sklearn.gaussian_process',
- 'sklearn.compose', 'sklearn.datasets', 'sklearn.externals',
- 'sklearn.linear_model', 'sklearn.impute', 'sklearn.utils',
- 'sklearn.covariance', 'sklearn.neural_network',
- 'sklearn.feature_selection', 'sklearn.inspection', 'sklearn.svm',
- 'sklearn.manifold', 'sklearn.mixture', 'sklearn.preprocessing',
- 'sklearn.model_selection', 'sklearn._build_utils',
- 'sklearn.decomposition', 'sklearn.cross_decomposition',
- 'sklearn.neighbors', 'sklearn.metrics.cluster',
- 'sklearn.ensemble._hist_gradient_boosting'
- ]
version('master', branch='master')
version('0.23.2', sha256='20766f515e6cd6f954554387dfae705d93c7b544ec0e6c6a5d8e006f6f7ef480')
@@ -93,6 +76,8 @@ class PyScikitLearn(PythonPackage):
env.append_flags(
'LDFLAGS', self.spec['llvm-openmp'].libs.ld_flags)
+ @run_after('install')
+ @on_package_attributes(run_tests=True)
def install_test(self):
# https://scikit-learn.org/stable/developers/advanced_installation.html#testing
with working_dir('spack-test', create=True):
diff --git a/var/spack/repos/builtin/packages/py-scikit-optimize/package.py b/var/spack/repos/builtin/packages/py-scikit-optimize/package.py
index 6f148d5fe1..3585143e3d 100644
--- a/var/spack/repos/builtin/packages/py-scikit-optimize/package.py
+++ b/var/spack/repos/builtin/packages/py-scikit-optimize/package.py
@@ -28,4 +28,3 @@ class PyScikitOptimize(PythonPackage):
depends_on('py-scikit-learn@0.19.1:', type=('build', 'run'))
depends_on('py-matplotlib', when='+plots')
- depends_on('py-pytest@3.3.0:', type='test')
diff --git a/var/spack/repos/builtin/packages/py-scipy/package.py b/var/spack/repos/builtin/packages/py-scipy/package.py
index 7f6027c0e1..c01d47e55e 100644
--- a/var/spack/repos/builtin/packages/py-scipy/package.py
+++ b/var/spack/repos/builtin/packages/py-scipy/package.py
@@ -16,20 +16,6 @@ class PyScipy(PythonPackage):
git = "https://github.com/scipy/scipy.git"
maintainers = ['adamjstewart']
- install_time_test_callbacks = ['install_test', 'import_module_test']
-
- import_modules = [
- 'scipy', 'scipy._build_utils', 'scipy._lib', 'scipy.cluster',
- 'scipy.constants', 'scipy.fftpack', 'scipy.integrate',
- 'scipy.interpolate', 'scipy.io', 'scipy.linalg', 'scipy.misc',
- 'scipy.ndimage', 'scipy.odr', 'scipy.optimize', 'scipy.signal',
- 'scipy.sparse', 'scipy.spatial', 'scipy.special', 'scipy.stats',
- 'scipy.io.arff', 'scipy.io.harwell_boeing', 'scipy.io.matlab',
- 'scipy.optimize._lsq', 'scipy.sparse.csgraph', 'scipy.sparse.linalg',
- 'scipy.sparse.linalg.dsolve', 'scipy.sparse.linalg.eigen',
- 'scipy.sparse.linalg.isolve', 'scipy.sparse.linalg.eigen.arpack',
- 'scipy.sparse.linalg.eigen.lobpcg', 'scipy.special._precompute'
- ]
version('master', branch='master')
version('1.5.4', sha256='4a453d5e5689de62e5d38edf40af3f17560bfd63c9c5bd228c18c1f99afa155b')
@@ -107,21 +93,8 @@ class PyScipy(PythonPackage):
return args
- def build_test(self):
- # `setup.py test` is not supported. Use one of the following
- # instead:
- #
- # - `python runtests.py` (to build and test)
- # - `python runtests.py --no-build` (to test installed scipy)
- # - `>>> scipy.test()` (run tests for installed scipy
- # from within an interpreter)
- pass
-
+ @run_after('install')
+ @on_package_attributes(run_tests=True)
def install_test(self):
- # Change directories due to the following error:
- #
- # ImportError: Error importing scipy: you should not try to import
- # scipy from its source directory; please exit the scipy
- # source tree, and relaunch your python interpreter from there.
with working_dir('spack-test', create=True):
python('-c', 'import scipy; scipy.test("full", verbose=2)')
diff --git a/var/spack/repos/builtin/packages/py-setuptools-scm/package.py b/var/spack/repos/builtin/packages/py-setuptools-scm/package.py
index eb157f8ef5..21ec2203ce 100644
--- a/var/spack/repos/builtin/packages/py-setuptools-scm/package.py
+++ b/var/spack/repos/builtin/packages/py-setuptools-scm/package.py
@@ -12,8 +12,6 @@ class PySetuptoolsScm(PythonPackage):
homepage = "https://github.com/pypa/setuptools_scm"
url = "https://pypi.io/packages/source/s/setuptools_scm/setuptools_scm-4.1.2.tar.gz"
- import_modules = ['setuptools_scm']
-
version('4.1.2', sha256='a8994582e716ec690f33fec70cca0f85bd23ec974e3f783233e4879090a7faa8')
version('3.3.3', sha256='bd25e1fb5e4d603dcf490f1fde40fb4c595b357795674c3e5cb7f6217ab39ea5')
version('3.1.0', sha256='1191f2a136b5e86f7ca8ab00a97ef7aef997131f1f6d4971be69a1ef387d8b40')
diff --git a/var/spack/repos/builtin/packages/py-setuptools/package.py b/var/spack/repos/builtin/packages/py-setuptools/package.py
index 1a2930498b..29e705c5ac 100644
--- a/var/spack/repos/builtin/packages/py-setuptools/package.py
+++ b/var/spack/repos/builtin/packages/py-setuptools/package.py
@@ -13,14 +13,6 @@ class PySetuptools(PythonPackage):
homepage = "https://github.com/pypa/setuptools"
url = "https://pypi.io/packages/source/s/setuptools/setuptools-49.2.0.zip"
- import_modules = [
- 'setuptools', 'pkg_resources', 'setuptools._vendor',
- 'setuptools.command', 'setuptools.extern',
- 'setuptools._vendor.packaging', 'pkg_resources._vendor',
- 'pkg_resources.extern', 'pkg_resources._vendor.packaging',
- 'easy_install'
- ]
-
version('50.3.2', sha256='ed0519d27a243843b05d82a5e9d01b0b083d9934eaa3d02779a23da18077bd3c')
version('50.1.0', sha256='4a7708dafd2d360ce5e2ac7577374da9fb65fc867bc4cdaf461f9f834dfa6ac3')
version('49.6.0', sha256='46bd862894ed22c2edff033c758c2dc026324788d758e96788e8f7c11f4e9707')
@@ -35,9 +27,6 @@ class PySetuptools(PythonPackage):
version('40.2.0', sha256='47881d54ede4da9c15273bac65f9340f8929d4f0213193fa7894be384f2dcfa6')
version('39.2.0', sha256='f7cddbb5f5c640311eb00eab6e849f7701fa70bf6a183fc8a2c33dd1d1672fb2')
version('39.0.1', sha256='bec7badf0f60e7fc8153fac47836edc41b74e5d541d7692e614e635720d6a7c7')
- version('35.0.2', sha256='1e55496ca8058db68ae12ac29a985d1ee2c2483a5901f7692fb68fa2f9a250fd')
- version('34.4.1', sha256='704cc0c9fe6c97edd3c6370d165c5a754dfde318b671058523ed3226d944ea1b')
- version('34.2.0', sha256='7b551f5070f9414d48c08dda58bcb879c8d9276199283a99dc8e1362e2f378a2')
version('25.2.0', sha256='b2757ddac2c41173140b111e246d200768f6dd314110e1e40661d0ecf9b4d6a6')
version('20.7.0', sha256='505cdf282c5f6e3a056e79f0244b8945f3632257bba8469386c6b9b396400233')
version('20.6.7', sha256='d20152ee6337323d3b6d95cd733fb719d6b4f3fbc40f61f7a48e5a1bb96478b2')
@@ -50,16 +39,6 @@ class PySetuptools(PythonPackage):
depends_on('python@2.7:2.8,3.5:', type=('build', 'run'), when='@44.0.0:44.99.99')
depends_on('python@2.7:2.8,3.4:', type=('build', 'run'), when='@:43.99.99')
- # Previously, setuptools vendored all of its dependencies to allow
- # easy bootstrapping. As of version 34.0.0, this is no longer done
- # and the dependencies need to be installed externally. As of version
- # 36.0.0, setuptools now vendors its dependencies again. See
- # https://github.com/pypa/setuptools/issues/980 for the reason they
- # reverted back to vendoring again.
- depends_on('py-packaging@16.8:', when='@34:35', type=('build', 'run'))
- depends_on('py-six@1.6.0:', when='@34:35', type=('build', 'run'))
- depends_on('py-appdirs@1.4.0:', when='@34:35', type=('build', 'run'))
-
def url_for_version(self, version):
url = 'https://pypi.io/packages/source/s/setuptools/setuptools-{0}'
url = url.format(version)
@@ -70,7 +49,3 @@ class PySetuptools(PythonPackage):
url += '.tar.gz'
return url
-
- def build_test(self):
- # Unit tests require pytest, creating a circular dependency
- pass
diff --git a/var/spack/repos/builtin/packages/py-shapely/package.py b/var/spack/repos/builtin/packages/py-shapely/package.py
index c03106a6be..345d28b042 100644
--- a/var/spack/repos/builtin/packages/py-shapely/package.py
+++ b/var/spack/repos/builtin/packages/py-shapely/package.py
@@ -16,10 +16,6 @@ class PyShapely(PythonPackage):
git = "https://github.com/Toblerity/Shapely.git"
maintainers = ['adamjstewart']
- import_modules = [
- 'shapely', 'shapely.geometry', 'shapely.algorithms',
- 'shapely.examples', 'shapely.speedups', 'shapely.vectorized',
- ]
version('master', branch='master')
version('1.7.1', sha256='1641724c1055459a7e2b8bbe47ba25bdc89554582e62aec23cb3f3ca25f9b129')
@@ -64,5 +60,7 @@ class PyShapely(PythonPackage):
else:
env.prepend_path('LD_LIBRARY_PATH', libs)
+ @run_after('install')
+ @on_package_attributes(run_tests=True)
def test_install(self):
python('-m', 'pytest')
diff --git a/var/spack/repos/builtin/packages/py-six/package.py b/var/spack/repos/builtin/packages/py-six/package.py
index 22490eb9a2..291d38b741 100644
--- a/var/spack/repos/builtin/packages/py-six/package.py
+++ b/var/spack/repos/builtin/packages/py-six/package.py
@@ -12,8 +12,6 @@ class PySix(PythonPackage):
homepage = "https://pypi.python.org/pypi/six"
url = "https://pypi.io/packages/source/s/six/six-1.11.0.tar.gz"
- import_modules = ['six']
-
version('1.14.0', sha256='236bdbdce46e6e6a3d61a337c0f8b763ca1e8717c03b369e87a7ec7ce1319c0a')
version('1.12.0', sha256='d16a0141ec1a18405cd4ce8b4613101da75da0e9a7aec5bdd4fa804d0e0eba73')
version('1.11.0', sha256='70e8a77beed4562e7f14fe23a786b54f6296e34344c23bc42f07b15018ff98e9')
@@ -22,10 +20,4 @@ class PySix(PythonPackage):
version('1.8.0', sha256='047bbbba41bac37c444c75ddfdf0573dd6e2f1fbd824e6247bb26fa7d8fa3830')
extends('python', ignore=r'bin/pytest')
-
- # Newer versions of setuptools require six. Although setuptools is an
- # optional dependency of six, if it is not found, setup.py will fallback
- # on distutils.core instead. Don't add a setuptools dependency or we
- # won't be able to bootstrap setuptools.
-
- # depends_on('py-setuptools', type='build')
+ depends_on('py-setuptools', type='build')
diff --git a/var/spack/repos/builtin/packages/py-snowballstemmer/package.py b/var/spack/repos/builtin/packages/py-snowballstemmer/package.py
index 80af93c40a..4502c5cc7b 100644
--- a/var/spack/repos/builtin/packages/py-snowballstemmer/package.py
+++ b/var/spack/repos/builtin/packages/py-snowballstemmer/package.py
@@ -13,8 +13,6 @@ class PySnowballstemmer(PythonPackage):
homepage = "https://github.com/shibukawa/snowball_py"
url = "https://pypi.io/packages/source/s/snowballstemmer/snowballstemmer-2.0.0.tar.gz"
- import_modules = ['snowballstemmer']
-
version('2.0.0', sha256='df3bac3df4c2c01363f3dd2cfa78cce2840a79b9f1c2d2de9ce8d31683992f52')
version('1.2.1', sha256='919f26a68b2c17a7634da993d91339e288964f93c274f1343e3bbbe2096e1128')
diff --git a/var/spack/repos/builtin/packages/py-spdlog/package.py b/var/spack/repos/builtin/packages/py-spdlog/package.py
index 2e149b6b30..0e9d377353 100644
--- a/var/spack/repos/builtin/packages/py-spdlog/package.py
+++ b/var/spack/repos/builtin/packages/py-spdlog/package.py
@@ -25,4 +25,3 @@ class PySpdlog(PythonPackage):
depends_on('py-pybind11@2.2:', type=('build', 'run'))
depends_on('py-setuptools', type='build')
depends_on('py-pytest-runner', type='build')
- depends_on('py-pytest', type='test')
diff --git a/var/spack/repos/builtin/packages/py-spefile/package.py b/var/spack/repos/builtin/packages/py-spefile/package.py
index 54eec9ff91..fed2c428a6 100644
--- a/var/spack/repos/builtin/packages/py-spefile/package.py
+++ b/var/spack/repos/builtin/packages/py-spefile/package.py
@@ -13,8 +13,6 @@ class PySpefile(PythonPackage):
homepage = "https://github.com/conda-forge/spefile-feedstock"
git = "https://github.com/conda-forge/spefile-feedstock.git"
- import_modules = ['spefile']
-
version('1.6', commit='24394e066da8dee5e7608f556ca0203c9db217f9')
depends_on('py-setuptools', type='build')
diff --git a/var/spack/repos/builtin/packages/py-sphinx-rtd-theme/package.py b/var/spack/repos/builtin/packages/py-sphinx-rtd-theme/package.py
index bc09b3324b..21446b2d23 100644
--- a/var/spack/repos/builtin/packages/py-sphinx-rtd-theme/package.py
+++ b/var/spack/repos/builtin/packages/py-sphinx-rtd-theme/package.py
@@ -12,8 +12,6 @@ class PySphinxRtdTheme(PythonPackage):
homepage = "https://github.com/rtfd/sphinx_rtd_theme/"
url = "https://github.com/readthedocs/sphinx_rtd_theme/archive/0.5.0.tar.gz"
- import_modules = ['sphinx_rtd_theme']
-
version('0.5.0', sha256='f5c77e9026e2bd0b3d2530f9f8a6681808b216ba70195fe56e7ad89f641ac447')
version('0.4.3', sha256='3412195caad06e4537ad741596d57706c3ed29073d1e0e6b46f25e344d0f393b')
version('0.2.5b1', sha256='31924cdaa5232d1d573423ebebeb1e8f02c8b3cd8cd0662b8a91f3b12efbc12e')
@@ -22,4 +20,3 @@ class PySphinxRtdTheme(PythonPackage):
depends_on('py-setuptools', type='build')
depends_on('npm', when='@0.5.0:', type='build')
depends_on('py-sphinx', when='@0.4.1:', type=('build', 'run'))
- depends_on('py-pytest', when='@0.5.0:', type='test')
diff --git a/var/spack/repos/builtin/packages/py-sphinx/package.py b/var/spack/repos/builtin/packages/py-sphinx/package.py
index d326c53f4c..2545853d27 100644
--- a/var/spack/repos/builtin/packages/py-sphinx/package.py
+++ b/var/spack/repos/builtin/packages/py-sphinx/package.py
@@ -12,16 +12,6 @@ class PySphinx(PythonPackage):
homepage = "https://sphinx-doc.org/"
url = "https://pypi.io/packages/source/S/Sphinx/Sphinx-3.2.0.tar.gz"
- import_modules = [
- 'sphinx', 'sphinx.testing', 'sphinx.ext', 'sphinx.pycode',
- 'sphinx.search', 'sphinx.transforms', 'sphinx.builders',
- 'sphinx.directives', 'sphinx.util', 'sphinx.environment',
- 'sphinx.writers', 'sphinx.domains', 'sphinx.locale',
- 'sphinx.ext.napoleon', 'sphinx.ext.autosummary', 'sphinx.pycode.pgen2',
- 'sphinx.transforms.post_transforms', 'sphinx.util.stemmer',
- 'sphinx.environment.collectors', 'sphinx.environment.adapters'
- ]
-
version('3.2.0', sha256='cf2d5bc3c6c930ab0a1fbef3ad8a82994b1bf4ae923f8098a05c7e5516f07177')
version('3.0.0', sha256='6a099e6faffdc3ceba99ca8c2d09982d43022245e409249375edf111caf79ed3')
version('2.2.0', sha256='0d586b0f8c2fc3cc6559c5e8fd6124628110514fda0e5d7c82e682d749d2e845')
@@ -64,11 +54,3 @@ class PySphinx(PythonPackage):
depends_on('py-packaging', when='@1.7.4:', type=('build', 'run'))
depends_on('py-typing', when='@1.6.1', type=('build', 'run'))
depends_on('py-typing', when='@1.6.2:^python@2.7:3.4', type=('build', 'run'))
-
- depends_on('py-pytest', type='test')
- depends_on('py-pytest-cov', type='test')
- depends_on('py-html5lib', type='test')
- depends_on('py-flake8@3.5.0:', type='test')
- depends_on('py-flake8-import-order', type='test')
- depends_on('py-mypy@0.720:', type='test')
- depends_on('py-docutils-stubs', type='test')
diff --git a/var/spack/repos/builtin/packages/py-sphinxcontrib-applehelp/package.py b/var/spack/repos/builtin/packages/py-sphinxcontrib-applehelp/package.py
index 67ba38134c..970a8c253a 100644
--- a/var/spack/repos/builtin/packages/py-sphinxcontrib-applehelp/package.py
+++ b/var/spack/repos/builtin/packages/py-sphinxcontrib-applehelp/package.py
@@ -17,7 +17,3 @@ class PySphinxcontribApplehelp(PythonPackage):
depends_on('python@3.5:', type=('build', 'run'))
depends_on('py-setuptools', type='build')
-
- def build_test(self):
- # Requires sphinx, creating a circular dependency
- pass
diff --git a/var/spack/repos/builtin/packages/py-sphinxcontrib-bibtex/package.py b/var/spack/repos/builtin/packages/py-sphinxcontrib-bibtex/package.py
index d7820786b0..c9457234e0 100644
--- a/var/spack/repos/builtin/packages/py-sphinxcontrib-bibtex/package.py
+++ b/var/spack/repos/builtin/packages/py-sphinxcontrib-bibtex/package.py
@@ -12,8 +12,6 @@ class PySphinxcontribBibtex(PythonPackage):
homepage = "https://pypi.python.org/pypi/sphinxcontrib-bibtex"
url = "https://pypi.io/packages/source/s/sphinxcontrib-bibtex/sphinxcontrib-bibtex-0.3.5.tar.gz"
- import_modules = ['sphinxcontrib', 'sphinxcontrib.bibtex']
-
version('1.0.0', sha256='629612b001f86784669d65e662377a482052decfd9a0a17c46860878eef7b9e0')
version('0.3.5', sha256='c93e2b4a0d14f0ab726f95f0a33c1675965e9df3ed04839635577b8f978206cd')
diff --git a/var/spack/repos/builtin/packages/py-sphinxcontrib-devhelp/package.py b/var/spack/repos/builtin/packages/py-sphinxcontrib-devhelp/package.py
index 1954fc9677..cc7cec387b 100644
--- a/var/spack/repos/builtin/packages/py-sphinxcontrib-devhelp/package.py
+++ b/var/spack/repos/builtin/packages/py-sphinxcontrib-devhelp/package.py
@@ -17,7 +17,3 @@ class PySphinxcontribDevhelp(PythonPackage):
depends_on('python@3.5:', type=('build', 'run'))
depends_on('py-setuptools', type='build')
-
- def build_test(self):
- # Requires sphinx, creating a circular dependency
- pass
diff --git a/var/spack/repos/builtin/packages/py-sphinxcontrib-htmlhelp/package.py b/var/spack/repos/builtin/packages/py-sphinxcontrib-htmlhelp/package.py
index 95f6819d59..d368247ca7 100644
--- a/var/spack/repos/builtin/packages/py-sphinxcontrib-htmlhelp/package.py
+++ b/var/spack/repos/builtin/packages/py-sphinxcontrib-htmlhelp/package.py
@@ -17,7 +17,3 @@ class PySphinxcontribHtmlhelp(PythonPackage):
depends_on('python@3.5:', type=('build', 'run'))
depends_on('py-setuptools', type='build')
-
- def build_test(self):
- # Requires sphinx, creating a circular dependency
- pass
diff --git a/var/spack/repos/builtin/packages/py-sphinxcontrib-jsmath/package.py b/var/spack/repos/builtin/packages/py-sphinxcontrib-jsmath/package.py
index add0160ac8..b471284728 100644
--- a/var/spack/repos/builtin/packages/py-sphinxcontrib-jsmath/package.py
+++ b/var/spack/repos/builtin/packages/py-sphinxcontrib-jsmath/package.py
@@ -16,7 +16,3 @@ class PySphinxcontribJsmath(PythonPackage):
depends_on('python@3.5:', type=('build', 'run'))
depends_on('py-setuptools', type='build')
-
- def build_test(self):
- # Requires sphinx, creating a circular dependency
- pass
diff --git a/var/spack/repos/builtin/packages/py-sphinxcontrib-programoutput/package.py b/var/spack/repos/builtin/packages/py-sphinxcontrib-programoutput/package.py
index 56028f5163..c512f76963 100644
--- a/var/spack/repos/builtin/packages/py-sphinxcontrib-programoutput/package.py
+++ b/var/spack/repos/builtin/packages/py-sphinxcontrib-programoutput/package.py
@@ -13,9 +13,6 @@ class PySphinxcontribProgramoutput(PythonPackage):
homepage = "https://sphinxcontrib-programoutput.readthedocs.org/"
url = "https://pypi.io/packages/source/s/sphinxcontrib-programoutput/sphinxcontrib-programoutput-0.15.tar.gz"
- # FIXME: These import tests don't work for some reason
- # import_modules = ['sphinxcontrib', 'sphinxcontrib.programoutput']
-
version('0.15', sha256='80dd5b4eab780a13ff2c23500cac3dbf0e04ef9976b409ef25a47c263ef8ab94')
version('0.10', sha256='fdee94fcebb0d8fddfccac5c4fa560f6177d5340c4349ee447c890bea8857094')
diff --git a/var/spack/repos/builtin/packages/py-sphinxcontrib-qthelp/package.py b/var/spack/repos/builtin/packages/py-sphinxcontrib-qthelp/package.py
index 19fd328f37..b0b654e48f 100644
--- a/var/spack/repos/builtin/packages/py-sphinxcontrib-qthelp/package.py
+++ b/var/spack/repos/builtin/packages/py-sphinxcontrib-qthelp/package.py
@@ -17,7 +17,3 @@ class PySphinxcontribQthelp(PythonPackage):
depends_on('python@3.5:', type=('build', 'run'))
depends_on('py-setuptools', type='build')
-
- def build_test(self):
- # Requires sphinx, creating a circular dependency
- pass
diff --git a/var/spack/repos/builtin/packages/py-sphinxcontrib-serializinghtml/package.py b/var/spack/repos/builtin/packages/py-sphinxcontrib-serializinghtml/package.py
index 3bad6d661a..59c214a8eb 100644
--- a/var/spack/repos/builtin/packages/py-sphinxcontrib-serializinghtml/package.py
+++ b/var/spack/repos/builtin/packages/py-sphinxcontrib-serializinghtml/package.py
@@ -17,7 +17,3 @@ class PySphinxcontribSerializinghtml(PythonPackage):
depends_on('python@3.5:', type=('build', 'run'))
depends_on('py-setuptools', type='build')
-
- def build_test(self):
- # Requires sphinx, creating a circular dependency
- pass
diff --git a/var/spack/repos/builtin/packages/py-sphinxcontrib-websupport/package.py b/var/spack/repos/builtin/packages/py-sphinxcontrib-websupport/package.py
index 1e4d1051a3..8892f3793b 100644
--- a/var/spack/repos/builtin/packages/py-sphinxcontrib-websupport/package.py
+++ b/var/spack/repos/builtin/packages/py-sphinxcontrib-websupport/package.py
@@ -13,19 +13,9 @@ class PySphinxcontribWebsupport(PythonPackage):
homepage = "http://sphinx-doc.org/"
url = "https://pypi.io/packages/source/s/sphinxcontrib-websupport/sphinxcontrib-websupport-1.1.2.tar.gz"
- # FIXME: These import tests don't work for some reason
- # import_modules = [
- # 'sphinxcontrib', 'sphinxcontrib.websupport',
- # 'sphinxcontrib.websupport.storage', 'sphinxcontrib.websupport.search'
- # ]
-
version('1.1.2', sha256='1501befb0fdf1d1c29a800fdbf4ef5dc5369377300ddbdd16d2cd40e54c6eefc')
version('1.1.0', sha256='9de47f375baf1ea07cdb3436ff39d7a9c76042c10a769c52353ec46e4e8fc3b9')
version('1.0.1', sha256='7a85961326aa3a400cd4ad3c816d70ed6f7c740acd7ce5d78cd0a67825072eb9')
depends_on('python@2.7:2.8,3.4:', type=('build', 'run'))
depends_on('py-setuptools', type='build')
-
- def build_test(self):
- # Unit tests require sphinx, creating a circular dependency
- pass
diff --git a/var/spack/repos/builtin/packages/py-sqlalchemy/package.py b/var/spack/repos/builtin/packages/py-sqlalchemy/package.py
index b1497b6da0..37b6568290 100644
--- a/var/spack/repos/builtin/packages/py-sqlalchemy/package.py
+++ b/var/spack/repos/builtin/packages/py-sqlalchemy/package.py
@@ -21,9 +21,6 @@ class PySqlalchemy(PythonPackage):
depends_on('python@2.7:2.8,3.4:', type=('build', 'run'))
depends_on('py-setuptools', type='build')
- depends_on('py-pytest@2.5.2:3.9.0,3.9.3:', type='test')
- depends_on('py-mock', type='test')
- depends_on('py-pytest-xdist', type='test')
variant('backend', description='Python modules for database access',
values=any_combination_of('mysql', 'pymysql', 'postgresql'))
diff --git a/var/spack/repos/builtin/packages/py-srsly/package.py b/var/spack/repos/builtin/packages/py-srsly/package.py
index 46b1b50af0..a0f0405e56 100644
--- a/var/spack/repos/builtin/packages/py-srsly/package.py
+++ b/var/spack/repos/builtin/packages/py-srsly/package.py
@@ -19,11 +19,6 @@ class PySrsly(PythonPackage):
depends_on('py-wheel', when='@2:', type='build')
depends_on('py-cython@0.25:', when='@2:', type='build')
depends_on('py-pathlib@1.0.1', when='^python@:3.3', type=('build', 'run'))
- depends_on('py-pytest', type='test')
- depends_on('py-mock', type='test')
- depends_on('py-numpy', type='test')
- depends_on('py-six', when='@:1', type='test')
- depends_on('py-pytz', when='@:1', type='test')
# https://github.com/explosion/srsly/pull/24
patch('subprocess.patch', when='@2.0.0:2.0.1')
diff --git a/var/spack/repos/builtin/packages/py-statsmodels/package.py b/var/spack/repos/builtin/packages/py-statsmodels/package.py
index b00e51730b..d2bfd16e37 100644
--- a/var/spack/repos/builtin/packages/py-statsmodels/package.py
+++ b/var/spack/repos/builtin/packages/py-statsmodels/package.py
@@ -42,6 +42,8 @@ class PyStatsmodels(PythonPackage):
depends_on('py-pytest', type='test')
+ @run_after('build')
+ @on_package_attributes(run_tests=True)
def build_test(self):
dirs = glob.glob("build/lib*") # There can be only one...
with working_dir(dirs[0]):
diff --git a/var/spack/repos/builtin/packages/py-tables/package.py b/var/spack/repos/builtin/packages/py-tables/package.py
index 2abece3e51..6d72791816 100644
--- a/var/spack/repos/builtin/packages/py-tables/package.py
+++ b/var/spack/repos/builtin/packages/py-tables/package.py
@@ -13,10 +13,6 @@ class PyTables(PythonPackage):
homepage = "http://www.pytables.org/"
url = "https://pypi.io/packages/source/t/tables/tables-3.6.1.tar.gz"
- import_modules = [
- 'tables', 'tables.misc', 'tables.nodes', 'tables.scripts'
- ]
-
version('3.6.1', sha256='49a972b8a7c27a8a173aeb05f67acb45fe608b64cd8e9fa667c0962a60b71b49')
version('3.6.0', sha256='db3488214864fb313a611fca68bf1c9019afe4e7877be54d0e61c84416603d4d')
version('3.5.2', sha256='b220e32262bab320aa41d33125a7851ff898be97c0de30b456247508e2cc33c2')
@@ -38,7 +34,6 @@ class PyTables(PythonPackage):
depends_on('py-numpy@1.9.3:', type=('build', 'run'))
depends_on('py-numexpr@2.6.2:', type=('build', 'run'))
depends_on('py-six@1.9.0:', when='@:3.5', type=('build', 'run'))
- depends_on('py-mock@2.0:', type='test')
# tables/req_versions.py
depends_on('hdf5@1.8.4:1.8.999', when='@:3.3.99')
depends_on('hdf5@1.8.4:', when='@3.4.0:')
diff --git a/var/spack/repos/builtin/packages/py-tatsu/package.py b/var/spack/repos/builtin/packages/py-tatsu/package.py
index 8b157932bf..6e45f07aeb 100644
--- a/var/spack/repos/builtin/packages/py-tatsu/package.py
+++ b/var/spack/repos/builtin/packages/py-tatsu/package.py
@@ -22,6 +22,5 @@ class PyTatsu(PythonPackage):
depends_on('py-setuptools', type='build')
# part of the standard lib in python@3.7.0, required in the current HEAD
depends_on('py-dataclasses@0.6:', type=('build', 'run'), when='@4.5:^python@:3.6.99')
- depends_on('py-pytest-mypy', type='test')
# optional dependency, otherwise falls back to standard implementation
depends_on('py-regex@2018.8:', type=('build', 'run'), when='+future_regex')
diff --git a/var/spack/repos/builtin/packages/py-tensorflow/package.py b/var/spack/repos/builtin/packages/py-tensorflow/package.py
index d0b21d38e5..71c7a91ddb 100644
--- a/var/spack/repos/builtin/packages/py-tensorflow/package.py
+++ b/var/spack/repos/builtin/packages/py-tensorflow/package.py
@@ -15,7 +15,6 @@ class PyTensorflow(Package, CudaPackage):
url = "https://github.com/tensorflow/tensorflow/archive/v2.3.1.tar.gz"
maintainers = ['adamjstewart', 'aweits']
- import_modules = ['tensorflow']
version('2.3.1', sha256='ee534dd31a811f7a759453567257d1e643f216d8d55a25c32d2fbfff8153a1ac')
version('2.3.0', sha256='2595a5c401521f20a2734c4e5d54120996f8391f00bb62a57267d930bce95350')
@@ -191,9 +190,6 @@ class PyTensorflow(Package, CudaPackage):
# Only builds correctly on little-endian machines
depends_on('py-grpcio@1.8.6:', type=('build', 'run'), when='@1.8:')
- # Listed under TEST_PACKAGES in tensorflow/tools/pip_package/setup.py
- depends_on('py-scipy@0.15.1:', type='test')
-
# TODO: add packages for some of these dependencies
depends_on('mkl', when='+mkl')
depends_on('curl', when='+gcp')
@@ -277,6 +273,9 @@ class PyTensorflow(Package, CudaPackage):
phases = ['configure', 'build', 'install']
+ import_modules = PythonPackage.import_modules
+ test = PythonPackage.test
+
# https://www.tensorflow.org/install/source
def setup_build_environment(self, env):
spec = self.spec
@@ -750,10 +749,3 @@ class PyTensorflow(Package, CudaPackage):
setup_py('install', '--prefix={0}'.format(prefix),
'--single-version-externally-managed', '--root=/')
remove_linked_tree(tmp_path)
-
- @run_after('install')
- @on_package_attributes(run_tests=True)
- def import_module_test(self):
- with working_dir('spack-test', create=True):
- for module in self.import_modules:
- python('-c', 'import {0}'.format(module))
diff --git a/var/spack/repos/builtin/packages/py-testrepository/package.py b/var/spack/repos/builtin/packages/py-testrepository/package.py
index 881191bc3f..bb889bd4d4 100644
--- a/var/spack/repos/builtin/packages/py-testrepository/package.py
+++ b/var/spack/repos/builtin/packages/py-testrepository/package.py
@@ -12,14 +12,6 @@ class PyTestrepository(PythonPackage):
homepage = "https://launchpad.net/testrepository"
url = "https://pypi.io/packages/source/t/testrepository/testrepository-0.0.20.tar.gz"
- import_modules = [
- 'testrepository', 'testrepository.arguments',
- 'testrepository.commands', 'testrepository.repository',
- 'testrepository.tests', 'testrepository.tests.arguments',
- 'testrepository.tests.commands', 'testrepository.tests.repository',
- 'testrepository.tests.ui', 'testrepository.ui',
- ]
-
version('0.0.20', sha256='752449bc98c20253ec4611c40564aea93d435a5bf3ff672208e01cc10e5858eb')
depends_on('py-setuptools', type='build')
diff --git a/var/spack/repos/builtin/packages/py-theano/package.py b/var/spack/repos/builtin/packages/py-theano/package.py
index c7c95fd0e3..d06e342ea4 100644
--- a/var/spack/repos/builtin/packages/py-theano/package.py
+++ b/var/spack/repos/builtin/packages/py-theano/package.py
@@ -33,7 +33,3 @@ class PyTheano(PythonPackage, CudaPackage):
depends_on('cudnn', when='+cuda')
depends_on('py-pygpu', when='+cuda', type=('build', 'run'))
depends_on('libgpuarray', when='+cuda')
-
- depends_on('py-nose@1.3.0:', type='test')
- depends_on('py-parameterized', type='test')
- depends_on('py-flake8', type='test')
diff --git a/var/spack/repos/builtin/packages/py-thinc/package.py b/var/spack/repos/builtin/packages/py-thinc/package.py
index 8976478000..2e344b8308 100644
--- a/var/spack/repos/builtin/packages/py-thinc/package.py
+++ b/var/spack/repos/builtin/packages/py-thinc/package.py
@@ -25,6 +25,3 @@ class PyThinc(PythonPackage):
depends_on('py-plac@0.9.6:1.1', type=('build', 'run'))
depends_on('py-tqdm@4.10:4.999', type=('build', 'run'))
depends_on('py-pathlib@1.0.1', when='^python@:3.3', type=('build', 'run'))
- depends_on('py-pytest', type='test')
- depends_on('py-mock', type='test')
- depends_on('py-hypothesis', type='test')
diff --git a/var/spack/repos/builtin/packages/py-threadpoolctl/package.py b/var/spack/repos/builtin/packages/py-threadpoolctl/package.py
index f28c9a37b5..ca3c6fb476 100644
--- a/var/spack/repos/builtin/packages/py-threadpoolctl/package.py
+++ b/var/spack/repos/builtin/packages/py-threadpoolctl/package.py
@@ -12,8 +12,6 @@ class PyThreadpoolctl(PythonPackage):
homepage = "https://github.com/joblib/threadpoolctl"
url = "https://pypi.io/packages/source/t/threadpoolctl/threadpoolctl-2.0.0.tar.gz"
- import_modules = ['threadpoolctl']
-
version('2.0.0', sha256='48b3e3e9ee079d6b5295c65cbe255b36a3026afc6dde3fb49c085cd0c004bbcf')
depends_on('python@3.5:', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-tifffile/package.py b/var/spack/repos/builtin/packages/py-tifffile/package.py
index 905718ec89..230226ca45 100644
--- a/var/spack/repos/builtin/packages/py-tifffile/package.py
+++ b/var/spack/repos/builtin/packages/py-tifffile/package.py
@@ -12,8 +12,6 @@ class PyTifffile(PythonPackage):
homepage = "https://github.com/blink1073/tifffile"
url = "https://pypi.io/packages/source/t/tifffile/tifffile-0.12.1.tar.gz"
- import_modules = ['tifffile']
-
version('2020.10.1', sha256='799feeccc91965b69e1288c51a1d1118faec7f40b2eb89ad2979591b85324830')
version('0.12.1', sha256='802367effe86b0d1e64cb5c2ed886771f677fa63260b945e51a27acccdc08fa1')
diff --git a/var/spack/repos/builtin/packages/py-tomopy/package.py b/var/spack/repos/builtin/packages/py-tomopy/package.py
index 0b7f814775..61184b99c8 100644
--- a/var/spack/repos/builtin/packages/py-tomopy/package.py
+++ b/var/spack/repos/builtin/packages/py-tomopy/package.py
@@ -14,11 +14,6 @@ class PyTomopy(PythonPackage):
homepage = "http://tomopy.readthedocs.io/en/latest/index.html"
url = "https://github.com/tomopy/tomopy/archive/1.0.0.tar.gz"
- import_modules = [
- 'tomopy', 'doc', 'tomopy.util', 'tomopy.sim', 'tomopy.recon',
- 'tomopy.prep', 'tomopy.misc', 'tomopy.io', 'doc.demo'
- ]
-
version('1.0.0', sha256='ee45f7a062e5a66d6f18a904d2e204e48d85a1ce1464156f9e2f6353057dfe4c')
depends_on('py-setuptools', type='build')
diff --git a/var/spack/repos/builtin/packages/py-toolz/package.py b/var/spack/repos/builtin/packages/py-toolz/package.py
index 058d1a9283..98aa585fc0 100644
--- a/var/spack/repos/builtin/packages/py-toolz/package.py
+++ b/var/spack/repos/builtin/packages/py-toolz/package.py
@@ -12,8 +12,6 @@ class PyToolz(PythonPackage):
homepage = "http://github.com/pytoolz/toolz/"
url = "https://pypi.io/packages/source/t/toolz/toolz-0.9.0.tar.gz"
- import_modules = ['toolz', 'tlz', 'toolz.curried', 'toolz.sandbox']
-
version('0.9.0', sha256='929f0a7ea7f61c178bd951bdae93920515d3fbdbafc8e6caf82d752b9b3b31c9')
depends_on('py-setuptools', type='build')
diff --git a/var/spack/repos/builtin/packages/py-torch/package.py b/var/spack/repos/builtin/packages/py-torch/package.py
index 971db1c4ed..7022e562ff 100644
--- a/var/spack/repos/builtin/packages/py-torch/package.py
+++ b/var/spack/repos/builtin/packages/py-torch/package.py
@@ -13,42 +13,8 @@ class PyTorch(PythonPackage, CudaPackage):
homepage = "https://pytorch.org/"
git = "https://github.com/pytorch/pytorch.git"
- install_time_test_callbacks = ['install_test', 'import_module_test']
maintainers = ['adamjstewart']
- import_modules = [
- 'tools', 'caffe2', 'torch', 'tools.cwrap', 'tools.autograd',
- 'tools.setup_helpers', 'tools.shared', 'tools.jit', 'tools.pyi',
- 'tools.nnwrap', 'tools.cwrap.plugins', 'caffe2.core', 'caffe2.proto',
- 'caffe2.python', 'caffe2.distributed', 'caffe2.perfkernels',
- 'caffe2.experiments', 'caffe2.contrib', 'caffe2.quantization',
- 'caffe2.core.nomnigraph', 'caffe2.python.ideep', 'caffe2.python.mint',
- 'caffe2.python.layers', 'caffe2.python.onnx', 'caffe2.python.trt',
- 'caffe2.python.models', 'caffe2.python.docs', 'caffe2.python.modeling',
- 'caffe2.python.mkl', 'caffe2.python.examples',
- 'caffe2.python.predictor', 'caffe2.python.helpers',
- 'caffe2.python.rnn', 'caffe2.python.onnx.bin',
- 'caffe2.python.models.seq2seq', 'caffe2.experiments.python',
- 'caffe2.contrib.nnpack', 'caffe2.contrib.warpctc',
- 'caffe2.contrib.nccl', 'caffe2.contrib.playground',
- 'caffe2.contrib.gloo', 'caffe2.contrib.script', 'caffe2.contrib.prof',
- 'caffe2.contrib.tensorboard', 'caffe2.contrib.aten',
- 'caffe2.contrib.playground.resnetdemo',
- 'caffe2.contrib.script.examples', 'caffe2.contrib.aten.docs',
- 'caffe2.quantization.server', 'torch.nn', 'torch.onnx',
- 'torch.distributed', 'torch.autograd', 'torch.multiprocessing',
- 'torch.cuda', 'torch.backends', 'torch.optim', 'torch.utils',
- 'torch.contrib', 'torch.jit', 'torch.sparse',
- 'torch.for_onnx', 'torch._thnn', 'torch.distributions',
- 'torch.nn.parallel', 'torch.nn._functions', 'torch.nn.backends',
- 'torch.nn.utils', 'torch.nn.modules', 'torch.nn.parallel.deprecated',
- 'torch.nn._functions.thnn', 'torch.distributed.deprecated',
- 'torch.autograd._functions', 'torch.backends.cuda',
- 'torch.backends.mkl', 'torch.backends.mkldnn', 'torch.backends.openmp',
- 'torch.backends.cudnn', 'torch.utils.backcompat',
- 'torch.utils.bottleneck', 'torch.utils.ffi', 'torch.utils.tensorboard',
- 'torch.utils.data', 'torch.utils.data._utils'
- ]
version('master', branch='master', submodules=True)
version('1.7.1', tag='v1.7.1', submodules=True)
@@ -139,6 +105,7 @@ class PyTorch(PythonPackage, CudaPackage):
depends_on('blas')
depends_on('lapack')
depends_on('protobuf', when='@0.4:')
+ depends_on('py-protobuf', when='@0.4:', type=('build', 'run'))
depends_on('eigen', when='@0.4:')
# TODO: replace all third_party packages with Spack packages
@@ -333,6 +300,8 @@ class PyTorch(PythonPackage, CudaPackage):
if '+rocm' in self.spec:
python(os.path.join('tools', 'amd_build', 'build_amd.py'))
+ @run_after('install')
+ @on_package_attributes(run_tests=True)
def install_test(self):
with working_dir('test'):
python('run_test.py')
diff --git a/var/spack/repos/builtin/packages/py-torchvision/package.py b/var/spack/repos/builtin/packages/py-torchvision/package.py
index 6cc176ffd7..0ad004a0c2 100644
--- a/var/spack/repos/builtin/packages/py-torchvision/package.py
+++ b/var/spack/repos/builtin/packages/py-torchvision/package.py
@@ -13,12 +13,6 @@ class PyTorchvision(PythonPackage):
git = "https://github.com/pytorch/vision.git"
maintainers = ['adamjstewart']
- import_modules = [
- 'torchvision', 'torchvision.datasets', 'torchvision.models',
- 'torchvision.transforms', 'torchvision.ops',
- 'torchvision.models.segmentation',
- 'torchvision.models.detection'
- ]
version('master', branch='master')
version('0.8.2', sha256='9a866c3c8feb23b3221ce261e6153fc65a98ce9ceaa71ccad017016945c178bf')
@@ -72,7 +66,6 @@ class PyTorchvision(PythonPackage):
# Many of the datasets require additional dependencies to use.
# These can be installed after the fact.
- depends_on('py-scipy', type='test')
depends_on('ffmpeg@3.1:', when='@0.4.2:')
diff --git a/var/spack/repos/builtin/packages/py-tpot/package.py b/var/spack/repos/builtin/packages/py-tpot/package.py
index 856336b54f..56ad5a4a93 100644
--- a/var/spack/repos/builtin/packages/py-tpot/package.py
+++ b/var/spack/repos/builtin/packages/py-tpot/package.py
@@ -20,7 +20,6 @@ class PyTpot(PythonPackage):
depends_on('py-setuptools', type='build')
depends_on('python@3.5:', type=('build', 'run'))
depends_on('py-deap@1.2:', type=('build', 'run'))
- depends_on('py-nose', type='test')
depends_on('py-numpy@1.16.3:', type=('build', 'run'))
depends_on('py-scikit-learn@0.22.0:', type=('build', 'run'))
depends_on('py-scipy@1.3.1', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-tqdm/package.py b/var/spack/repos/builtin/packages/py-tqdm/package.py
index b9e6a5b2a9..2daada6426 100644
--- a/var/spack/repos/builtin/packages/py-tqdm/package.py
+++ b/var/spack/repos/builtin/packages/py-tqdm/package.py
@@ -18,6 +18,3 @@ class PyTqdm(PythonPackage):
depends_on('python@2.6:2.8,3.2:', type=('build', 'run'))
depends_on('py-setuptools', type=('build', 'run'))
- depends_on('py-nose', type='test')
- depends_on('py-flake8', type='test')
- depends_on('py-coverage', type='test')
diff --git a/var/spack/repos/builtin/packages/py-traceback2/package.py b/var/spack/repos/builtin/packages/py-traceback2/package.py
index 766acea59a..4110732ce1 100644
--- a/var/spack/repos/builtin/packages/py-traceback2/package.py
+++ b/var/spack/repos/builtin/packages/py-traceback2/package.py
@@ -16,9 +16,3 @@ class PyTraceback2(PythonPackage):
depends_on('py-setuptools', type='build')
depends_on('py-pbr', type='build')
-
- # test-requirements.txt
- depends_on('py-contextlib2', type='test')
- depends_on('py-fixtures', type='test')
- depends_on('py-testtools', type='test')
- depends_on('py-unittest2', type='test')
diff --git a/var/spack/repos/builtin/packages/py-traitlets/package.py b/var/spack/repos/builtin/packages/py-traitlets/package.py
index df854d70c6..341664c37b 100644
--- a/var/spack/repos/builtin/packages/py-traitlets/package.py
+++ b/var/spack/repos/builtin/packages/py-traitlets/package.py
@@ -29,4 +29,3 @@ class PyTraitlets(PythonPackage):
depends_on('py-six', when='@:4', type=('build', 'run'))
depends_on('py-decorator', when='@:4', type=('build', 'run'))
depends_on('py-enum34', when='^python@:3.3', type=('build', 'run'))
- depends_on('py-pytest', type='test')
diff --git a/var/spack/repos/builtin/packages/py-typing/package.py b/var/spack/repos/builtin/packages/py-typing/package.py
index ee713c9213..af7679b62b 100644
--- a/var/spack/repos/builtin/packages/py-typing/package.py
+++ b/var/spack/repos/builtin/packages/py-typing/package.py
@@ -13,8 +13,6 @@ class PyTyping(PythonPackage):
homepage = "https://docs.python.org/3/library/typing.html"
url = "https://pypi.io/packages/source/t/typing/typing-3.7.4.1.tar.gz"
- import_modules = ['typing']
-
version('3.7.4.1', sha256='91dfe6f3f706ee8cc32d38edbbf304e9b7583fb37108fef38229617f8b3eba23')
version('3.6.6', sha256='4027c5f6127a6267a435201981ba156de91ad0d1d98e9ddc2aa173453453492d')
version('3.6.4', sha256='d400a9344254803a2368533e4533a4200d21eb7b6b729c173bc38201a74db3f2')
diff --git a/var/spack/repos/builtin/packages/py-update-checker/package.py b/var/spack/repos/builtin/packages/py-update-checker/package.py
index a1fbc7f368..8f65ee735b 100644
--- a/var/spack/repos/builtin/packages/py-update-checker/package.py
+++ b/var/spack/repos/builtin/packages/py-update-checker/package.py
@@ -16,7 +16,6 @@ class PyUpdateChecker(PythonPackage):
version('0.17', sha256='2def8db7f63bd45c7d19df5df570f3f3dfeb1a1f050869d7036529295db10e62')
depends_on('py-setuptools', type='build')
- depends_on('py-pytest@2.7.3:', type='test')
depends_on('python@3.6:', type=('build', 'run'), when='@0.18.0:')
depends_on('python@2.7:2.8,3.3:', type=('build', 'run'), when='@0.17')
depends_on('py-requests@2.3.0:', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-urllib3/package.py b/var/spack/repos/builtin/packages/py-urllib3/package.py
index cbe4577ca4..8a3b5aea58 100644
--- a/var/spack/repos/builtin/packages/py-urllib3/package.py
+++ b/var/spack/repos/builtin/packages/py-urllib3/package.py
@@ -21,9 +21,6 @@ class PyUrllib3(PythonPackage):
depends_on('python@2.7:2.8,3.4:', type=('build', 'run'))
depends_on('py-setuptools', type='build')
- depends_on('py-pytest', type='test')
- depends_on('py-mock', type='test')
- depends_on('py-tornado', type='test')
variant('secure', default=False, description='Add SSL/TLS support')
depends_on('py-pyopenssl@0.14:', when='+secure')
diff --git a/var/spack/repos/builtin/packages/py-usgs/package.py b/var/spack/repos/builtin/packages/py-usgs/package.py
index 69f2b97056..ac6ee2c31f 100644
--- a/var/spack/repos/builtin/packages/py-usgs/package.py
+++ b/var/spack/repos/builtin/packages/py-usgs/package.py
@@ -17,8 +17,6 @@ class PyUsgs(PythonPackage):
version('0.2.7', sha256='484e569ea1baf9574e11ccf15219957364690dcf06ee3d09afef030df944e79b')
depends_on('py-setuptools', type='build')
- depends_on('py-mock', type='test')
- depends_on('py-pytest@2.8.7', type='test')
depends_on('py-click@4.0:', type=('build', 'run'))
depends_on('py-requests@2.7.0:', type=('build', 'run'))
depends_on('py-requests-futures@0.9.5:', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-vermin/package.py b/var/spack/repos/builtin/packages/py-vermin/package.py
index bff9e0fc57..b3cb73bc73 100644
--- a/var/spack/repos/builtin/packages/py-vermin/package.py
+++ b/var/spack/repos/builtin/packages/py-vermin/package.py
@@ -11,7 +11,6 @@ class PyVermin(PythonPackage):
url = "https://github.com/netromdk/vermin/archive/v1.0.3.tar.gz"
maintainers = ['netromdk']
- import_modules = ['vermin']
version('1.0.3', sha256='1503be05b55cacde1278a1fe55304d8ee889ddef8ba16e120ac6686259bec95c')
version('1.0.2', sha256='e999d5f5455e1116b366cd1dcc6fecd254c7ae3606549a61bc044216f9bb5b55')
@@ -24,5 +23,7 @@ class PyVermin(PythonPackage):
depends_on('python@2.7:', type=('build', 'run'))
depends_on('py-setuptools', type=('build', 'run'))
- def test(self):
+ @run_after('build')
+ @on_package_attributes(run_tests=True)
+ def build_test(self):
make('test')
diff --git a/var/spack/repos/builtin/packages/py-wand/package.py b/var/spack/repos/builtin/packages/py-wand/package.py
index 17a5af30b3..95fab4eeae 100644
--- a/var/spack/repos/builtin/packages/py-wand/package.py
+++ b/var/spack/repos/builtin/packages/py-wand/package.py
@@ -24,7 +24,3 @@ class PyWand(PythonPackage):
depends_on('python@2.7:2.8,3.3:', type=('build', 'run'))
depends_on('py-sphinx@1:', type='build', when='+docs')
-
- depends_on('py-pytest@2.3.0:', type='test')
- depends_on('py-pytest-xdist@1.8:', type='test')
- depends_on('py-psutil@1.0.1:', type='test')
diff --git a/var/spack/repos/builtin/packages/py-wasabi/package.py b/var/spack/repos/builtin/packages/py-wasabi/package.py
index c03d14f3e1..2e3939b582 100644
--- a/var/spack/repos/builtin/packages/py-wasabi/package.py
+++ b/var/spack/repos/builtin/packages/py-wasabi/package.py
@@ -13,4 +13,3 @@ class PyWasabi(PythonPackage):
version('0.6.0', sha256='b8dd3e963cd693fde1eb6bfbecf51790171aa3534fa299faf35cf269f2fd6063')
depends_on('py-setuptools', type='build')
- depends_on('py-pytest', type='test')
diff --git a/var/spack/repos/builtin/packages/py-werkzeug/package.py b/var/spack/repos/builtin/packages/py-werkzeug/package.py
index 876deeb445..6119a118ac 100644
--- a/var/spack/repos/builtin/packages/py-werkzeug/package.py
+++ b/var/spack/repos/builtin/packages/py-werkzeug/package.py
@@ -19,6 +19,3 @@ class PyWerkzeug(PythonPackage):
depends_on('python@2.7:2.8,3.4:', type=('build', 'run'))
depends_on('py-setuptools', type='build')
- depends_on('py-pytest', type='test')
- depends_on('py-hypothesis', type='test')
- depends_on('py-requests', type='test')
diff --git a/var/spack/repos/builtin/packages/py-wheel/package.py b/var/spack/repos/builtin/packages/py-wheel/package.py
index 846d315650..1209d6a283 100644
--- a/var/spack/repos/builtin/packages/py-wheel/package.py
+++ b/var/spack/repos/builtin/packages/py-wheel/package.py
@@ -25,5 +25,3 @@ class PyWheel(PythonPackage):
depends_on('py-setuptools@40.9.0:', when='@0.34.1:', type=('build', 'run'))
depends_on('py-setuptools', type=('build', 'run'))
depends_on('py-setuptools-scm@3.4:', when='@0.34.0', type='build')
- depends_on('py-pytest@3.0.0:', type='test')
- depends_on('py-pytest-cov', type='test')
diff --git a/var/spack/repos/builtin/packages/py-wub/package.py b/var/spack/repos/builtin/packages/py-wub/package.py
index 13e6309667..ec7dd636d3 100644
--- a/var/spack/repos/builtin/packages/py-wub/package.py
+++ b/var/spack/repos/builtin/packages/py-wub/package.py
@@ -17,13 +17,13 @@ class PyWub(PythonPackage):
version('0.4.0', sha256='1526aa392bccac71b872211c45f5b403ad3d55f5762e0ed34ff9086bc1dab6fd')
depends_on('py-six', type=('build', 'run'))
- depends_on('py-pytest', type=('build', 'run', 'test'))
- depends_on('py-pycmd', type=('build', 'run', 'test'))
+ depends_on('py-pytest', type=('build', 'run'))
+ depends_on('py-pycmd', type=('build', 'run'))
depends_on('py-biopython', type=('build', 'run'))
- depends_on('py-numpy', type=('build', 'run', 'test'))
+ depends_on('py-numpy', type=('build', 'run'))
depends_on('py-matplotlib', type=('build', 'run'))
depends_on('py-seaborn', type=('build', 'run'))
- depends_on('py-editdistance', type=('build', 'run', 'test'))
+ depends_on('py-editdistance', type=('build', 'run'))
depends_on('py-pandas@0.20.2:', type=('build', 'run'))
depends_on('py-pysam', type=('build', 'run'))
depends_on('py-tqdm', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-wxmplot/package.py b/var/spack/repos/builtin/packages/py-wxmplot/package.py
index 0d88748979..7b39f323c6 100644
--- a/var/spack/repos/builtin/packages/py-wxmplot/package.py
+++ b/var/spack/repos/builtin/packages/py-wxmplot/package.py
@@ -12,8 +12,6 @@ class PyWxmplot(PythonPackage):
homepage = "https://newville.github.io/wxmplot/"
url = "https://pypi.io/packages/source/w/wxmplot/wxmplot-0.9.38.tar.gz"
- import_modules = ['wxmplot']
-
version('0.9.38', sha256='82dc64abb42bdd03ec7067a3aa2a475001f2bc8e4772149bae47facf460c0081')
depends_on('py-setuptools', type='build')
@@ -21,4 +19,3 @@ class PyWxmplot(PythonPackage):
depends_on('py-six@1.10:', type=('build', 'run'))
depends_on('py-matplotlib@2.0:', type=('build', 'run'))
depends_on('py-wxpython@4.0.3:', type=('build', 'run'))
- depends_on('py-pytest', type='test')
diff --git a/var/spack/repos/builtin/packages/py-wxpython/package.py b/var/spack/repos/builtin/packages/py-wxpython/package.py
index 0eef3935f0..53c30684d2 100644
--- a/var/spack/repos/builtin/packages/py-wxpython/package.py
+++ b/var/spack/repos/builtin/packages/py-wxpython/package.py
@@ -12,18 +12,6 @@ class PyWxpython(PythonPackage):
homepage = "https://www.wxpython.org/"
url = "https://pypi.io/packages/source/w/wxPython/wxPython-4.0.6.tar.gz"
- import_modules = [
- 'wx', 'wx.tools', 'wx.py', 'wx.lib', 'wx.lib.analogclock',
- 'wx.lib.floatcanvas', 'wx.lib.plot', 'wx.lib.mixins', 'wx.lib.gizmos',
- 'wx.lib.art', 'wx.lib.pdfviewer', 'wx.lib.colourchooser',
- 'wx.lib.masked', 'wx.lib.ogl', 'wx.lib.wxcairo', 'wx.lib.agw',
- 'wx.lib.pubsub', 'wx.lib.editor', 'wx.lib.analogclock.lib_setup',
- 'wx.lib.floatcanvas.Utilities', 'wx.lib.plot.examples',
- 'wx.lib.agw.aui', 'wx.lib.agw.ribbon', 'wx.lib.agw.persist',
- 'wx.lib.pubsub.core', 'wx.lib.pubsub.utils', 'wx.lib.pubsub.core.arg1',
- 'wx.lib.pubsub.core.kwargs'
- ]
-
version('4.0.6', sha256='35cc8ae9dd5246e2c9861bb796026bbcb9fb083e4d49650f776622171ecdab37')
depends_on('wxwidgets')
diff --git a/var/spack/repos/builtin/packages/py-yahmm/package.py b/var/spack/repos/builtin/packages/py-yahmm/package.py
index a612930d49..d63ba0e6ee 100644
--- a/var/spack/repos/builtin/packages/py-yahmm/package.py
+++ b/var/spack/repos/builtin/packages/py-yahmm/package.py
@@ -19,4 +19,3 @@ class PyYahmm(PythonPackage):
depends_on('py-scipy@0.13.3:', type=('build', 'run'))
depends_on('py-matplotlib@1.3.1:', type=('build', 'run'))
depends_on('py-networkx@1.8.1:', type=('build', 'run'))
- depends_on('py-nose@1.3.3:', type='test')
diff --git a/var/spack/repos/builtin/packages/py-zope-event/package.py b/var/spack/repos/builtin/packages/py-zope-event/package.py
index 6ad1049a89..177992a9ef 100644
--- a/var/spack/repos/builtin/packages/py-zope-event/package.py
+++ b/var/spack/repos/builtin/packages/py-zope-event/package.py
@@ -12,10 +12,6 @@ class PyZopeEvent(PythonPackage):
homepage = "http://github.com/zopefoundation/zope.event"
url = "https://pypi.io/packages/source/z/zope.event/zope.event-4.3.0.tar.gz"
- # FIXME: No idea why this import test fails.
- # Maybe some kind of namespace issue?
- # import_modules = ['zope.event']
-
version('4.3.0', sha256='e0ecea24247a837c71c106b0341a7a997e3653da820d21ef6c08b32548f733e7')
depends_on('py-setuptools', type='build')
diff --git a/var/spack/repos/builtin/packages/py-zope-interface/package.py b/var/spack/repos/builtin/packages/py-zope-interface/package.py
index 7a45399ea8..4ce3314175 100644
--- a/var/spack/repos/builtin/packages/py-zope-interface/package.py
+++ b/var/spack/repos/builtin/packages/py-zope-interface/package.py
@@ -15,10 +15,6 @@ class PyZopeInterface(PythonPackage):
homepage = "https://github.com/zopefoundation/zope.interface"
url = "https://pypi.io/packages/source/z/zope.interface/zope.interface-4.5.0.tar.gz"
- # FIXME: No idea why these import tests fail.
- # Maybe some kind of namespace issue?
- # import_modules = ['zope.interface', 'zope.interface.common']
-
version('5.1.0', sha256='40e4c42bd27ed3c11b2c983fecfb03356fae1209de10686d03c02c8696a1d90e')
version('4.5.0', sha256='57c38470d9f57e37afb460c399eb254e7193ac7fb8042bd09bdc001981a9c74c')
@@ -26,6 +22,3 @@ class PyZopeInterface(PythonPackage):
depends_on('python@2.7:2.8,3.5:', type=('build', 'run'), when='@5.1.0:')
depends_on('py-setuptools', type=('build', 'run'))
- depends_on('py-zope-event', type='test')
- depends_on('py-nose', type='test')
- depends_on('py-coverage', type='test')
diff --git a/var/spack/repos/builtin/packages/python/package.py b/var/spack/repos/builtin/packages/python/package.py
index 4d0df211e6..9737fc0830 100644
--- a/var/spack/repos/builtin/packages/python/package.py
+++ b/var/spack/repos/builtin/packages/python/package.py
@@ -945,13 +945,20 @@ class Python(AutotoolsPackage):
env.set('PYTHONPATH', pythonpath)
def setup_dependent_run_environment(self, env, dependent_spec):
- # For run time environment set only the path for
- # dependent_spec and prepend it to PYTHONPATH
- if dependent_spec.package.extends(self.spec):
- for lib in ['lib', 'lib64']:
- env.prepend_path('PYTHONPATH', join_path(
- dependent_spec.prefix, lib,
- 'python' + str(self.version.up_to(2)), 'site-packages'))
+ python_paths = []
+ for d in dependent_spec.traverse(deptype='run'):
+ if d.package.extends(self.spec):
+ # Python libraries may be installed in lib or lib64
+ # See issues #18520 and #17126
+ for lib in ['lib', 'lib64']:
+ root = join_path(
+ d.prefix, lib, 'python' + str(self.version.up_to(2)),
+ 'site-packages')
+ if os.path.exists(root):
+ python_paths.append(root)
+
+ pythonpath = ':'.join(python_paths)
+ env.prepend_path('PYTHONPATH', pythonpath)
def setup_dependent_package(self, module, dependent_spec):
"""Called before python modules' install() methods.