diff --git a/var/spack/repos/builtin/packages/py-datalad/package.py b/var/spack/repos/builtin/packages/py-datalad/package.py index 9df5cde46b..4384bdd8ed 100644 --- a/var/spack/repos/builtin/packages/py-datalad/package.py +++ b/var/spack/repos/builtin/packages/py-datalad/package.py @@ -19,7 +19,9 @@ class PyDatalad(PythonPackage): homepage = "https://datalad.org/" pypi = "datalad/datalad-0.14.6.tar.gz" + git = "https://github.com/datalad/datalad" + version("0.17.5", sha256="a221312c58b0b9b57605cc1a2288838f24932491b2e50475dd7a940151cafccd") version("0.15.5", sha256="e569494a5bd4e0f100013ec30529d5ac02e78ba476a75fc533c0d89c0e5473bc") version("0.15.3", sha256="44f8c5b3960c6d9848aeecd868c82330c49689a21e975597df5b112dc2e5c9f0") version("0.15.2", sha256="1a878cf521270f089ee1f50339e71cfd7eed41e708d895a12d5c483a9b59991b") @@ -33,6 +35,7 @@ class PyDatalad(PythonPackage): variant("duecredit", default=False, description="Enable duecredit support") variant("full", default=False, description="Enable support for all available variants") + depends_on("python@3.7:", when="@0.16:", type=("build", "run")) depends_on("python@3.6:", type=("build", "run")) depends_on("py-setuptools@40.8.0:", type="build") @@ -40,31 +43,34 @@ class PyDatalad(PythonPackage): depends_on("git-annex", type=("build", "run")) # core - depends_on("py-appdirs", type=("build", "run")) - depends_on("py-chardet@3.0.4:", type=("build", "run")) - depends_on("py-distro", type=("build", "run"), when="^python@3.8:") - depends_on("py-importlib-metadata", type=("build", "run"), when="^python@:3.7") + depends_on("py-platformdirs", when="@0.16:", type=("build", "run")) + depends_on("py-chardet@3.0.4:4", type=("build", "run")) + depends_on("py-distro", when="^python@3.8:", type=("build", "run")) + depends_on("py-importlib-metadata@3.6:", when="@0.16: ^python@:3.9", type=("build", "run")) + depends_on("py-importlib-metadata", when="@:0.15 ^python@:3.7", type=("build", "run")) depends_on("py-iso8601", type=("build", "run")) depends_on("py-humanize", type=("build", "run")) depends_on("py-fasteners@0.14:", type=("build", "run")) depends_on("py-packaging", type=("build", "run"), when="@0.15.4:") depends_on("py-patool@1.7:", type=("build", "run")) depends_on("py-tqdm", type=("build", "run")) - depends_on("py-wrapt", type=("build", "run")) depends_on("py-annexremote", type=("build", "run")) - # additional dependency on 'colorama' if platform_system=="Windows"' + depends_on("py-colorama", when="platform=windows", type=("build", "run")) + depends_on("py-appdirs", when="@:0.15", type=("build", "run")) + depends_on("py-wrapt", when="@:0.15", type=("build", "run")) # downloaders depends_on("py-boto", type=("build", "run")) + depends_on("py-keyring@20.0:23.8,23.9.1:", when="@0.16:", type=("build", "run")) depends_on("py-keyring@8.0:", type=("build", "run")) depends_on("py-keyrings-alt", type=("build", "run")) depends_on("py-msgpack", type=("build", "run")) depends_on("py-requests@1.2:", type=("build", "run")) # publish - depends_on("py-pygithub", type=("build", "run")) - depends_on("py-python-gitlab", type=("build", "run"), when="@0.14.7:") - depends_on("py-jsmin", type=("build", "run"), when="@:0.14") + depends_on("py-python-gitlab", when="@0.14.7:", type=("build", "run")) + depends_on("py-pygithub", when="@:0.16", type=("build", "run")) + depends_on("py-jsmin", when="@:0.14", type=("build", "run")) # metadata depends_on("py-simplejson", type=("build", "run")) @@ -74,15 +80,22 @@ class PyDatalad(PythonPackage): depends_on("py-requests-ftp", type=("build", "run")) with when("+misc"): - depends_on("py-argcomplete", type=("build", "run"), when="@0.14.7:") + depends_on("py-argcomplete@1.12.3:", when="@0.16.5:", type=("build", "run")) + depends_on("py-argcomplete", when="@0.14.7:", type=("build", "run")) depends_on("py-pyperclip", type=("build", "run")) depends_on("py-python-dateutil", type=("build", "run")) with when("+tests"): depends_on("py-beautifulsoup4", type=("build", "run")) depends_on("py-httpretty@0.9.4:", type=("build", "run")) - depends_on("py-nose@1.3.4:", type=("build", "run")) + depends_on("py-mypy@0.900:0", when="@0.17.4:", type=("build", "run")) + depends_on("py-pytest@7", when="@0.17:", type=("build", "run")) + depends_on("py-pytest-cov@3", when="@0.17:", type=("build", "run")) + depends_on("py-pytest-fail-slow@0.2:0", when="@0.17:", type=("build", "run")) + depends_on("py-types-python-dateutil", when="@0.17.4:", type=("build", "run")) + depends_on("py-types-requests", when="@0.17.4:", type=("build", "run")) depends_on("py-vcrpy", type=("build", "run")) + depends_on("py-nose@1.3.4:", when="@:0.16", type=("build", "run")) with when("+metadata-extra"): depends_on("py-pyyaml", type=("build", "run")) @@ -94,27 +107,13 @@ class PyDatalad(PythonPackage): with when("+duecredit"): depends_on("py-duecredit", type=("build", "run")) - with when("+full"): - # all the above - # downloaders-extra - depends_on("py-requests-ftp", type=("build", "run")) - # misc - depends_on("py-argcomplete", type=("build", "run"), when="@0.14.7:") - depends_on("py-pyperclip", type=("build", "run")) - depends_on("py-python-dateutil", type=("build", "run")) - # tests - depends_on("py-beautifulsoup4", type=("build", "run")) - depends_on("py-httpretty@0.9.4:", type=("build", "run")) - depends_on("py-nose@1.3.4:", type=("build", "run")) - depends_on("py-vcrpy", type=("build", "run")) - # metadata-extra - depends_on("py-pyyaml", type=("build", "run")) - depends_on("py-mutagen@1.36:", type=("build", "run")) - depends_on("py-exifread", type=("build", "run")) - depends_on("py-python-xmp-toolkit", type=("build", "run")) - depends_on("pil", type=("build", "run")) - # duecredit - depends_on("py-duecredit", type=("build", "run")) + # full + # use conflict to avoid to have to maintain the dependencies twice + conflicts("~downloaders-extra", when="+full") + conflicts("~misc", when="+full") + conflicts("~tests", when="+full") + conflicts("~metadata-extra", when="+full") + conflicts("~duecredit", when="+full") install_time_test_callbacks = ["test", "installtest"] diff --git a/var/spack/repos/builtin/packages/py-pytest-fail-slow/package.py b/var/spack/repos/builtin/packages/py-pytest-fail-slow/package.py new file mode 100644 index 0000000000..0008b2955a --- /dev/null +++ b/var/spack/repos/builtin/packages/py-pytest-fail-slow/package.py @@ -0,0 +1,20 @@ +# Copyright 2013-2022 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) + +from spack.package import * + + +class PyPytestFailSlow(PythonPackage): + """Fail tests that take too long to run.""" + + homepage = "https://github.com/jwodder/pytest-fail-slow" + pypi = "pytest-fail-slow/pytest-fail-slow-0.3.0.tar.gz" + + version("0.3.0", sha256="bc022f3f4f170b7e3e7d4dff45bd9e7855e4935ae396bb40b4521ce1ef8ea41c") + + depends_on("python@3.6:3", type=("build", "run")) + depends_on("py-setuptools@46.4:", type="build") + + depends_on("py-pytest@6:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-pytest/package.py b/var/spack/repos/builtin/packages/py-pytest/package.py index e45bb04bbc..489060ae7b 100644 --- a/var/spack/repos/builtin/packages/py-pytest/package.py +++ b/var/spack/repos/builtin/packages/py-pytest/package.py @@ -12,6 +12,7 @@ class PyPytest(PythonPackage): homepage = "https://pytest.org/" pypi = "pytest/pytest-5.2.1.tar.gz" + version("7.1.3", sha256="4f365fec2dff9c1162f834d9f18af1ba13062db0c708bf7b946f8a5c76180c39") version("6.2.5", sha256="131b36680866a76e6781d13f101efb86cf674ebb9762eb70d3082b6f29889e89") version("6.2.4", sha256="50bcad0a0b9c5a72c8e4e7c9855a3ad496ca6a881a3641b4260605450772c54b") version("6.2.1", sha256="66e419b1899bc27346cb2c993e12c5e5e8daba9073c1fbce33b9807abc95c306") @@ -31,16 +32,19 @@ class PyPytest(PythonPackage): version("3.0.2", sha256="64d8937626dd2a4bc15ef0edd307d26636a72a3f3f9664c424d78e40efb1e339") # python_requires + depends_on("python@3.7:", when="@7.1:", type=("build", "run")) depends_on("python@3.6:", when="@6.2:", type=("build", "run")) depends_on("python@3.5:", when="@5:6.1", type=("build", "run")) depends_on("python@2.7:2.8,3.4:", when="@3.3:4", type=("build", "run")) depends_on("python@2.6:2.8,3.3:", when="@:3.2", type=("build", "run")) # setup_requires + depends_on("py-setuptools@45.0:", when="@7:", type=("build", "run")) depends_on("py-setuptools@42.0:", when="@6.2:", type=("build", "run")) depends_on("py-setuptools@40.0:", when="@3.9.2:6.1", type=("build", "run")) depends_on("py-setuptools@30.3:", when="@3.9.0:3.9.1", type=("build", "run")) depends_on("py-setuptools", type=("build", "run")) + depends_on("py-setuptools-scm@6.2.3: +toml", when="@7:", type="build") depends_on("py-setuptools-scm@3.4: +toml", when="@6.2:", type="build") depends_on("py-setuptools-scm", when="@3.1:", type="build") @@ -63,14 +67,15 @@ class PyPytest(PythonPackage): depends_on("py-py@1.4.33:", when="@3.1.2:3.2.3,3.2.5:3.2", type=("build", "run")) depends_on("py-py@1.4.33:1.4", when="@3.2.4", type=("build", "run")) depends_on("py-py@1.4.29:", when="@:3.1.1", type=("build", "run")) - depends_on("py-toml", when="@6.0:", type=("build", "run")) - depends_on("py-atomicwrites@1.0:", when="@5.3: platform=windows", type=("build", "run")) - depends_on("py-atomicwrites@1.0:", when="@3.6:5.2", type=("build", "run")) + depends_on("py-tomli@1:", when="@7:", type=("build", "run")) depends_on("py-colorama", when="platform=windows", type=("build", "run")) depends_on("py-importlib-metadata@0.12:", when="@4.6:5.0", type=("build", "run")) depends_on("py-importlib-metadata@0.12:", when="@5.1: ^python@:3.7", type=("build", "run")) # Historic dependencies + depends_on("py-atomicwrites@1.0:", when="@5.3:7.1.2 platform=windows", type=("build", "run")) + depends_on("py-atomicwrites@1.0:", when="@3.6:5.2", type=("build", "run")) + depends_on("py-toml", when="@6", type=("build", "run")) depends_on("py-six@1.10.0:", when="@3.3:4", type=("build", "run")) depends_on("py-more-itertools@4.0.0:", when="@3.5.1:5", type=("build", "run")) depends_on( diff --git a/var/spack/repos/builtin/packages/py-types-python-dateutil/package.py b/var/spack/repos/builtin/packages/py-types-python-dateutil/package.py new file mode 100644 index 0000000000..3ea5e5164c --- /dev/null +++ b/var/spack/repos/builtin/packages/py-types-python-dateutil/package.py @@ -0,0 +1,18 @@ +# Copyright 2013-2022 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) + +from spack.package import * + + +class PyTypesPythonDateutil(PythonPackage): + """Typing stubs for python-dateutil.""" + + homepage = "https://github.com/python/typeshed" + pypi = "types-python-dateutil/types-python-dateutil-2.8.19.tar.gz" + + version("2.8.19", sha256="bfd3eb39c7253aea4ba23b10f69b017d30b013662bb4be4ab48b20bbd763f309") + + depends_on("python@3.7:", type=("build", "run")) + depends_on("py-setuptools", type="build") diff --git a/var/spack/repos/builtin/packages/py-types-requests/package.py b/var/spack/repos/builtin/packages/py-types-requests/package.py new file mode 100644 index 0000000000..4a50bdda83 --- /dev/null +++ b/var/spack/repos/builtin/packages/py-types-requests/package.py @@ -0,0 +1,20 @@ +# Copyright 2013-2022 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) + +from spack.package import * + + +class PyTypesRequests(PythonPackage): + """Typing stubs for requests.""" + + homepage = "https://github.com/python/typeshed" + pypi = "types-requests/types-requests-2.28.10.tar.gz" + + version("2.28.10", sha256="97d8f40aa1ffe1e58c3726c77d63c182daea9a72d9f1fa2cafdea756b2a19f2c") + + depends_on("python@3.7:", type=("build", "run")) + depends_on("py-setuptools", type="build") + + depends_on("py-types-urllib3@:1.26", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-types-urllib3/package.py b/var/spack/repos/builtin/packages/py-types-urllib3/package.py new file mode 100644 index 0000000000..a1fd4f9799 --- /dev/null +++ b/var/spack/repos/builtin/packages/py-types-urllib3/package.py @@ -0,0 +1,18 @@ +# Copyright 2013-2022 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) + +from spack.package import * + + +class PyTypesUrllib3(PythonPackage): + """Typing stubs for urllib3.""" + + homepage = "https://github.com/python/typeshed" + pypi = "types-urllib3/types-urllib3-1.26.24.tar.gz" + + version("1.26.24", sha256="a1b3aaea7dda3eb1b51699ee723aadd235488e4dc4648e030f09bc429ecff42f") + + depends_on("python@3.7:", type=("build", "run")) + depends_on("py-setuptools", type="build")