From f2363c1cb5c0210b229314aac6b029fcd1eca3a5 Mon Sep 17 00:00:00 2001 From: Erik Heeren Date: Wed, 1 Mar 2023 18:35:55 +0100 Subject: Py dask mpi (#35679) * py-dask-mpi: new package with dependencies * py-hatch-jupyter-builder is not needed after all * skip_modules seems cleaner * Update var/spack/repos/builtin/packages/py-jupyter-server-proxy/package.py Co-authored-by: Adam J. Stewart * Update var/spack/repos/builtin/packages/py-simpervisor/package.py Co-authored-by: Adam J. Stewart --------- Co-authored-by: Adam J. Stewart --- .../repos/builtin/packages/py-dask-mpi/package.py | 28 ++++++++++++++++++++++ .../packages/py-jupyter-server-proxy/package.py | 28 ++++++++++++++++++++++ .../builtin/packages/py-simpervisor/package.py | 20 ++++++++++++++++ 3 files changed, 76 insertions(+) create mode 100644 var/spack/repos/builtin/packages/py-dask-mpi/package.py create mode 100644 var/spack/repos/builtin/packages/py-jupyter-server-proxy/package.py create mode 100644 var/spack/repos/builtin/packages/py-simpervisor/package.py diff --git a/var/spack/repos/builtin/packages/py-dask-mpi/package.py b/var/spack/repos/builtin/packages/py-dask-mpi/package.py new file mode 100644 index 0000000000..9f0a6f7381 --- /dev/null +++ b/var/spack/repos/builtin/packages/py-dask-mpi/package.py @@ -0,0 +1,28 @@ +# Copyright 2013-2023 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 PyDaskMpi(PythonPackage): + """Deploying Dask using MPI4Py.""" + + homepage = "https://github.com/dask/dask-mpi" + pypi = "dask-mpi/dask-mpi-2.21.0.tar.gz" + + skip_modules = ["dask_mpi.tests"] + + version("2022.4.0", sha256="0a04f1d7d35a06cdff506593330d4414ea242c9172498ce191f5742eac499e17") + version("2.21.0", sha256="76e153fc8c58047d898970b33ede0ab1990bd4e69cc130c6627a96f11b12a1a7") + version("2.0.0", sha256="774cd2d69e5f7154e1fa133c22498062edd31507ffa2ea19f4ab4d8975c27bc3") + + depends_on("py-setuptools", type="build") + + depends_on("py-dask@2.2:", when="@:2.21.0", type=("build", "run")) + depends_on("py-dask@2.19:", when="@2022.4.0:", type=("build", "run")) + depends_on("py-distributed@2.19:", when="@2022.4.0:", type=("build", "run")) + depends_on("py-jupyter-server-proxy", type=("build", "run")) + depends_on("py-mpi4py", type=("build", "run")) + depends_on("py-mpi4py@3.0.3:", when="@2022.4.0:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-jupyter-server-proxy/package.py b/var/spack/repos/builtin/packages/py-jupyter-server-proxy/package.py new file mode 100644 index 0000000000..04d3c17d63 --- /dev/null +++ b/var/spack/repos/builtin/packages/py-jupyter-server-proxy/package.py @@ -0,0 +1,28 @@ +# Copyright 2013-2023 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 PyJupyterServerProxy(PythonPackage): + """ + Jupyter Server Proxy lets you run arbitrary external processes + (such as RStudio, Shiny Server, Syncthing, PostgreSQL, Code Server, etc) + alongside your notebook server and provide authenticated web access to them + using a path like /rstudio next to others like /lab. + """ + + homepage = "https://github.com/jupyterhub/jupyter-server-proxy" + pypi = "jupyter-server-proxy/jupyter-server-proxy-3.2.2.tar.gz" + + version("3.2.2", sha256="54690ea9467035d187c930c599e76065017baf16e118e6eebae0d3a008c4d946") + + depends_on("py-jupyter-packaging7@0.7.9:0.7", type="build") + depends_on("py-jupyterlab@3.0:3", type="build") + depends_on("py-setuptools@40.8.0:", type="build") + + depends_on("py-aiohttp", type=("build", "run")) + depends_on("py-jupyter-server@1.0:", when="@2022.4.0:", type=("build", "run")) + depends_on("py-simpervisor@0.4:", when="@2022.4.0:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-simpervisor/package.py b/var/spack/repos/builtin/packages/py-simpervisor/package.py new file mode 100644 index 0000000000..ba37e7c90e --- /dev/null +++ b/var/spack/repos/builtin/packages/py-simpervisor/package.py @@ -0,0 +1,20 @@ +# Copyright 2013-2023 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 PySimpervisor(PythonPackage): + """ + simpervisor provides the SupervisedProcess class that provides async methods + start, ready, terminate, and kill to manage it. + """ + + homepage = "https://github.com/jupyterhub/simpervisor" + pypi = "simpervisor/simpervisor-0.4" + + version("0.4", sha256="cec79e13cdbd6edb04a5c98c1ff8d4bd9713e706c069226909a1ef0e89d393c5") + + depends_on("py-setuptools", type="build") -- cgit v1.2.3-60-g2f50