summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--var/spack/repos/builtin/packages/py-conda-inject/package.py22
-rw-r--r--var/spack/repos/builtin/packages/py-dpath/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-snakemake-executor-plugin-azure-batch/package.py32
-rw-r--r--var/spack/repos/builtin/packages/py-snakemake-executor-plugin-cluster-generic/package.py27
-rw-r--r--var/spack/repos/builtin/packages/py-snakemake-executor-plugin-cluster-sync/package.py27
-rw-r--r--var/spack/repos/builtin/packages/py-snakemake-executor-plugin-drmaa/package.py25
-rw-r--r--var/spack/repos/builtin/packages/py-snakemake-executor-plugin-flux/package.py24
-rw-r--r--var/spack/repos/builtin/packages/py-snakemake-executor-plugin-googlebatch/package.py33
-rw-r--r--var/spack/repos/builtin/packages/py-snakemake-executor-plugin-kubernetes/package.py26
-rw-r--r--var/spack/repos/builtin/packages/py-snakemake-executor-plugin-slurm-jobstep/package.py28
-rw-r--r--var/spack/repos/builtin/packages/py-snakemake-executor-plugin-slurm/package.py27
-rw-r--r--var/spack/repos/builtin/packages/py-snakemake-executor-plugin-tes/package.py26
-rw-r--r--var/spack/repos/builtin/packages/py-snakemake-interface-common/package.py24
-rw-r--r--var/spack/repos/builtin/packages/py-snakemake-interface-executor-plugins/package.py27
-rw-r--r--var/spack/repos/builtin/packages/py-snakemake-interface-report-plugins/package.py23
-rw-r--r--var/spack/repos/builtin/packages/py-snakemake-interface-storage-plugins/package.py28
-rw-r--r--var/spack/repos/builtin/packages/py-snakemake-storage-plugin-azure/package.py28
-rw-r--r--var/spack/repos/builtin/packages/py-snakemake-storage-plugin-fs/package.py28
-rw-r--r--var/spack/repos/builtin/packages/py-snakemake-storage-plugin-ftp/package.py26
-rw-r--r--var/spack/repos/builtin/packages/py-snakemake-storage-plugin-gcs/package.py29
-rw-r--r--var/spack/repos/builtin/packages/py-snakemake-storage-plugin-http/package.py27
-rw-r--r--var/spack/repos/builtin/packages/py-snakemake-storage-plugin-s3/package.py28
-rw-r--r--var/spack/repos/builtin/packages/py-snakemake-storage-plugin-sftp/package.py26
-rw-r--r--var/spack/repos/builtin/packages/py-snakemake-storage-plugin-zenodo/package.py26
-rw-r--r--var/spack/repos/builtin/packages/snakemake/package.py46
25 files changed, 653 insertions, 20 deletions
diff --git a/var/spack/repos/builtin/packages/py-conda-inject/package.py b/var/spack/repos/builtin/packages/py-conda-inject/package.py
new file mode 100644
index 0000000000..c8930df701
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-conda-inject/package.py
@@ -0,0 +1,22 @@
+# Copyright 2013-2024 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 PyCondaInject(PythonPackage):
+ """Helper functions for injecting a conda environment into the current python environment."""
+
+ pypi = "conda_inject/conda_inject-1.3.1.tar.gz"
+
+ license("MIT")
+
+ version("1.3.1", sha256="9e8d902230261beba74083aae12c2c5a395e29b408469fefadc8aaf51ee441e5")
+
+ depends_on("py-pyyaml@6", type=("build", "run"))
+
+ depends_on("python@3.9:3", type=("build", "run"))
+ depends_on("py-poetry-core", type="build")
diff --git a/var/spack/repos/builtin/packages/py-dpath/package.py b/var/spack/repos/builtin/packages/py-dpath/package.py
index fca145be19..b6d544b544 100644
--- a/var/spack/repos/builtin/packages/py-dpath/package.py
+++ b/var/spack/repos/builtin/packages/py-dpath/package.py
@@ -8,16 +8,14 @@ from spack.package import *
class PyDpath(PythonPackage):
- """A python library for accessing and searching dictionaries via
- /slashed/paths ala xpath."""
+ """Filesystem-like pathing and searching for dictionaries."""
- homepage = "https://github.com/akesterson/dpath-python"
- pypi = "dpath/dpath-2.0.1.tar.gz"
+ homepage = "https://github.com/dpath-maintainers/dpath-python"
+ pypi = "dpath/dpath-2.1.6.tar.gz"
license("MIT")
+ version("2.1.6", sha256="f1e07c72e8605c6a9e80b64bc8f42714de08a789c7de417e49c3f87a19692e47")
version("2.0.1", sha256="bea06b5f4ff620a28dfc9848cf4d6b2bfeed34238edeb8ebe815c433b54eb1fa")
- depends_on("python@2.7:", type=("build", "run"))
- # pip silently replaces distutils with setuptools
depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-snakemake-executor-plugin-azure-batch/package.py b/var/spack/repos/builtin/packages/py-snakemake-executor-plugin-azure-batch/package.py
new file mode 100644
index 0000000000..a135613514
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-snakemake-executor-plugin-azure-batch/package.py
@@ -0,0 +1,32 @@
+# Copyright 2013-2024 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 PySnakemakeExecutorPluginAzureBatch(PythonPackage):
+ """A Snakemake executor plugin for submitting jobs to Microsoft Azure Batch."""
+
+ homepage = "https://github.com/snakemake/snakemake-executor-plugin-azure-batch"
+ pypi = (
+ "snakemake_executor_plugin_azure_batch/snakemake_executor_plugin_azure_batch-0.1.3.tar.gz"
+ )
+
+ license("MIT")
+
+ version("0.1.3", sha256="7883ecdc3983eb73ea0e1ae10010eeff1626510c7e99176203ee2050031f86e3")
+
+ depends_on("py-snakemake-interface-common@1.15:1", type=("build", "run"))
+ depends_on("py-snakemake-interface-executor-plugins@8.1.1:8", type=("build", "run"))
+
+ depends_on("py-azure-storage-blob@12.17:12", type=("build", "run"))
+ depends_on("py-azure-batch@14", type=("build", "run"))
+ depends_on("py-azure-mgmt-batch@17", type=("build", "run"))
+ depends_on("py-azure-identity@1.14:1", type=("build", "run"))
+ depends_on("py-msrest@0.7.1:0.7", type=("build", "run"))
+
+ depends_on("python@3.11:3", type=("build", "run"))
+ depends_on("py-poetry-core", type="build")
diff --git a/var/spack/repos/builtin/packages/py-snakemake-executor-plugin-cluster-generic/package.py b/var/spack/repos/builtin/packages/py-snakemake-executor-plugin-cluster-generic/package.py
new file mode 100644
index 0000000000..54e8d64dee
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-snakemake-executor-plugin-cluster-generic/package.py
@@ -0,0 +1,27 @@
+# Copyright 2013-2024 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 PySnakemakeExecutorPluginClusterGeneric(PythonPackage):
+ """A Snakemake executor plugin for submitting jobs to a cluster."""
+
+ homepage = "https://github.com/snakemake/snakemake-executor-plugin-cluster-generic"
+ pypi = (
+ "snakemake_executor_plugin_cluster_generic/"
+ "snakemake_executor_plugin_cluster_generic-1.0.7.tar.gz"
+ )
+
+ license("MIT")
+
+ version("1.0.7", sha256="093808e63cc48294a9d1eb0b620cdff8cc970806294a2f6ba127a49f8a81d473")
+
+ depends_on("py-snakemake-interface-common@1.13:1", type=("build", "run"))
+ depends_on("py-snakemake-interface-executor-plugins@8.1:8", type=("build", "run"))
+
+ depends_on("python@3.11:3", type=("build", "run"))
+ depends_on("py-poetry-core", type="build")
diff --git a/var/spack/repos/builtin/packages/py-snakemake-executor-plugin-cluster-sync/package.py b/var/spack/repos/builtin/packages/py-snakemake-executor-plugin-cluster-sync/package.py
new file mode 100644
index 0000000000..afbf359c68
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-snakemake-executor-plugin-cluster-sync/package.py
@@ -0,0 +1,27 @@
+# Copyright 2013-2024 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 PySnakemakeExecutorPluginClusterSync(PythonPackage):
+ """A Snakemake executor plugin for cluster jobs that are executed synchronously."""
+
+ homepage = "https://github.com/snakemake/snakemake-executor-plugin-cluster-sync"
+ pypi = (
+ "snakemake_executor_plugin_cluster_sync/"
+ "snakemake_executor_plugin_cluster_sync-0.1.3.tar.gz"
+ )
+
+ license("MIT")
+
+ version("0.1.3", sha256="c30fca6ccb98a3f7ca52ca8a95414c71360a3d4a835bd4a097a13445d6fce2ac")
+
+ depends_on("py-snakemake-interface-common@1.14:1", type=("build", "run"))
+ depends_on("py-snakemake-interface-executor-plugins@8.1:8", type=("build", "run"))
+
+ depends_on("python@3.11:3", type=("build", "run"))
+ depends_on("py-poetry-core", type="build")
diff --git a/var/spack/repos/builtin/packages/py-snakemake-executor-plugin-drmaa/package.py b/var/spack/repos/builtin/packages/py-snakemake-executor-plugin-drmaa/package.py
new file mode 100644
index 0000000000..c3229af554
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-snakemake-executor-plugin-drmaa/package.py
@@ -0,0 +1,25 @@
+# Copyright 2013-2024 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 PySnakemakeExecutorPluginDrmaa(PythonPackage):
+ """A snakemake executor plugin for submission of jobs via DRMAA."""
+
+ homepage = "https://github.com/snakemake/snakemake-executor-plugin-drmaa"
+ pypi = "snakemake_executor_plugin_drmaa/snakemake_executor_plugin_drmaa-0.1.3.tar.gz"
+
+ license("MIT")
+
+ version("0.1.3", sha256="1250d0f307bf3db3aa3f26f85ea5ecc7ae00b2598ea1e1afceab7a457042fa12")
+
+ depends_on("py-snakemake-interface-common@1.13:1", type=("build", "run"))
+ depends_on("py-snakemake-interface-executor-plugins@8.1:8", type=("build", "run"))
+ depends_on("py-drmaa@0.7.9:0.7", type=("build", "run"))
+
+ depends_on("python@3.11:3", type=("build", "run"))
+ depends_on("py-poetry-core", type="build")
diff --git a/var/spack/repos/builtin/packages/py-snakemake-executor-plugin-flux/package.py b/var/spack/repos/builtin/packages/py-snakemake-executor-plugin-flux/package.py
new file mode 100644
index 0000000000..16bf81fb25
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-snakemake-executor-plugin-flux/package.py
@@ -0,0 +1,24 @@
+# Copyright 2013-2024 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 PySnakemakeExecutorPluginFlux(PythonPackage):
+ """A Snakemake executor plugin for the Flux scheduler."""
+
+ homepage = "https://github.com/snakemake/snakemake-executor-plugin-flux"
+ pypi = "snakemake_executor_plugin_flux/snakemake_executor_plugin_flux-0.1.0.tar.gz"
+
+ license("MIT")
+
+ version("0.1.0", sha256="92b1944dcf9ea163519a8879d4d638df2b3d0cd83ea6e8397d26046897811214")
+
+ depends_on("py-snakemake-interface-common@1.14:1", type=("build", "run"))
+ depends_on("py-snakemake-interface-executor-plugins@8.1.1:8", type=("build", "run"))
+
+ depends_on("python@3.11:3", type=("build", "run"))
+ depends_on("py-poetry-core", type="build")
diff --git a/var/spack/repos/builtin/packages/py-snakemake-executor-plugin-googlebatch/package.py b/var/spack/repos/builtin/packages/py-snakemake-executor-plugin-googlebatch/package.py
new file mode 100644
index 0000000000..eef0a4c409
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-snakemake-executor-plugin-googlebatch/package.py
@@ -0,0 +1,33 @@
+# Copyright 2013-2024 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 PySnakemakeExecutorPluginGooglebatch(PythonPackage):
+ """A Snakemake executor plugin."""
+
+ homepage = "https://github.com/snakemake/snakemake-executor-plugin-googlebatch"
+ pypi = (
+ "snakemake_executor_plugin_googlebatch/snakemake_executor_plugin_googlebatch-0.3.0.tar.gz"
+ )
+
+ license("MIT")
+
+ version("0.3.0", sha256="b143fcaeffceec682bc0f7e3f13eece3596a5d6faaf41fab94977f4a93948c16")
+
+ depends_on("py-google-cloud-batch@0.17.1:0.17", type=("build", "run"))
+ depends_on("py-requests@2.31:2", type=("build", "run"))
+ depends_on("py-google-api-core@2.12:2", type=("build", "run"))
+ depends_on("py-google-cloud-storage@2.12:2", type=("build", "run"))
+ depends_on("py-jinja2@3.1.2:3", type=("build", "run"))
+ depends_on("py-google-cloud-logging@3.8:3", type=("build", "run"))
+
+ depends_on("py-snakemake-interface-common@1.14:1", type=("build", "run"))
+ depends_on("py-snakemake-interface-executor-plugins@8.1.1:8", type=("build", "run"))
+
+ depends_on("python@3.11:3", type=("build", "run"))
+ depends_on("py-poetry-core", type="build")
diff --git a/var/spack/repos/builtin/packages/py-snakemake-executor-plugin-kubernetes/package.py b/var/spack/repos/builtin/packages/py-snakemake-executor-plugin-kubernetes/package.py
new file mode 100644
index 0000000000..2f390c5813
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-snakemake-executor-plugin-kubernetes/package.py
@@ -0,0 +1,26 @@
+# Copyright 2013-2024 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 PySnakemakeExecutorPluginKubernetes(PythonPackage):
+ """A Snakemake executor plugin for submission of jobs to Kubernetes."""
+
+ homepage = "https://github.com/snakemake/snakemake-executor-plugin-kubernetes"
+ pypi = "snakemake_executor_plugin_kubernetes/snakemake_executor_plugin_kubernetes-0.1.4.tar.gz"
+
+ license("MIT")
+
+ version("0.1.4", sha256="c3aeac87939ec5d038efdc3ba7dbbef5eeb3171c1b718b8af850b6287b9c54ff")
+
+ depends_on("py-kubernetes@27.2:27", type=("build", "run"))
+
+ depends_on("py-snakemake-interface-common@1.14.1:1", type=("build", "run"))
+ depends_on("py-snakemake-interface-executor-plugins@8.0.2:8", type=("build", "run"))
+
+ depends_on("python@3.11:3", type=("build", "run"))
+ depends_on("py-poetry-core", type="build")
diff --git a/var/spack/repos/builtin/packages/py-snakemake-executor-plugin-slurm-jobstep/package.py b/var/spack/repos/builtin/packages/py-snakemake-executor-plugin-slurm-jobstep/package.py
new file mode 100644
index 0000000000..15593ccf5b
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-snakemake-executor-plugin-slurm-jobstep/package.py
@@ -0,0 +1,28 @@
+# Copyright 2013-2024 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 PySnakemakeExecutorPluginSlurmJobstep(PythonPackage):
+ """A Snakemake executor plugin for running srun jobs inside of SLURM jobs
+ (meant for internal use by snakemake-executor-plugin-slurm)."""
+
+ homepage = "https://github.com/snakemake/snakemake-executor-plugin-slurm-jobstep"
+ pypi = (
+ "snakemake_executor_plugin_slurm_jobstep/"
+ "snakemake_executor_plugin_slurm_jobstep-0.1.9.tar.gz"
+ )
+
+ license("MIT")
+
+ version("0.1.10", sha256="321b6bdf7883a8fb40ff4aeeb88633502e4db8394e40b6628db41a430c2eae2b")
+
+ depends_on("py-snakemake-interface-common@1.13:1", type=("build", "run"))
+ depends_on("py-snakemake-interface-executor-plugins@8.2:8", type=("build", "run"))
+
+ depends_on("python@3.11:3", type=("build", "run"))
+ depends_on("py-poetry-core", type="build")
diff --git a/var/spack/repos/builtin/packages/py-snakemake-executor-plugin-slurm/package.py b/var/spack/repos/builtin/packages/py-snakemake-executor-plugin-slurm/package.py
new file mode 100644
index 0000000000..1b15b631b7
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-snakemake-executor-plugin-slurm/package.py
@@ -0,0 +1,27 @@
+# Copyright 2013-2024 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 PySnakemakeExecutorPluginSlurm(PythonPackage):
+ """A Snakemake executor plugin for submitting jobs to a SLURM cluster."""
+
+ homepage = "https://github.com/snakemake/snakemake-executor-plugin-slurm"
+ pypi = "snakemake_executor_plugin_slurm/snakemake_executor_plugin_slurm-0.3.1.tar.gz"
+
+ license("MIT")
+
+ version("0.3.2", sha256="3912f2895eab1270d7a42959a2e221ce53428dfffb847e03ec6bc4eead88e30b")
+
+ depends_on("py-throttler@1.2.2:1", type=("build", "run"))
+
+ depends_on("py-snakemake-interface-common@1.13:1", type=("build", "run"))
+ depends_on("py-snakemake-interface-executor-plugins@8.2:8", type=("build", "run"))
+ depends_on("py-snakemake-executor-plugin-slurm-jobstep@0.1.10:0.1", type=("build", "run"))
+
+ depends_on("python@3.11:3", type=("build", "run"))
+ depends_on("py-poetry-core", type="build")
diff --git a/var/spack/repos/builtin/packages/py-snakemake-executor-plugin-tes/package.py b/var/spack/repos/builtin/packages/py-snakemake-executor-plugin-tes/package.py
new file mode 100644
index 0000000000..49d5ac0ab8
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-snakemake-executor-plugin-tes/package.py
@@ -0,0 +1,26 @@
+# Copyright 2013-2024 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 PySnakemakeExecutorPluginTes(PythonPackage):
+ """A Snakemake executor plugin for submitting jobs via GA4GH TES."""
+
+ homepage = "https://github.com/snakemake/snakemake-executor-plugin-tes"
+ pypi = "snakemake_executor_plugin_tes/snakemake_executor_plugin_tes-0.1.2.tar.gz"
+
+ license("MIT")
+
+ version("0.1.2", sha256="bec01801ae3f158cfe7ca406a513455bcffa36fa7f83e35b2c7cb93bec9b00e9")
+
+ depends_on("py-py-tes@0.4.2:0.4", type=("build", "run"))
+
+ depends_on("py-snakemake-interface-common@1.14:1", type=("build", "run"))
+ depends_on("py-snakemake-interface-executor-plugins@8.1.1:8", type=("build", "run"))
+
+ depends_on("python@3.11:3", type=("build", "run"))
+ depends_on("py-poetry-core", type="build")
diff --git a/var/spack/repos/builtin/packages/py-snakemake-interface-common/package.py b/var/spack/repos/builtin/packages/py-snakemake-interface-common/package.py
new file mode 100644
index 0000000000..017b928098
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-snakemake-interface-common/package.py
@@ -0,0 +1,24 @@
+# Copyright 2013-2024 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 PySnakemakeInterfaceCommon(PythonPackage):
+ """Common functions and classes for Snakemake and its plugins."""
+
+ homepage = "https://github.com/snakemake/snakemake-interface-common"
+ pypi = "snakemake_interface_common/snakemake_interface_common-1.17.1.tar.gz"
+
+ license("MIT")
+
+ version("1.17.1", sha256="555c8218d9b68ddc1046f94a517e7d0f22e15bdc839d6ce149608d8ec137b9ae")
+
+ depends_on("py-argparse-dataclass@2", type=("build", "run"))
+ depends_on("py-configargparse@1.7:1", type=("build", "run"))
+
+ depends_on("python@:3", type=("build", "run"))
+ depends_on("py-poetry-core", type="build")
diff --git a/var/spack/repos/builtin/packages/py-snakemake-interface-executor-plugins/package.py b/var/spack/repos/builtin/packages/py-snakemake-interface-executor-plugins/package.py
new file mode 100644
index 0000000000..e0932eb1a9
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-snakemake-interface-executor-plugins/package.py
@@ -0,0 +1,27 @@
+# Copyright 2013-2024 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 PySnakemakeInterfaceExecutorPlugins(PythonPackage):
+ """This package provides a stable interface for interactions between Snakemake and its
+ executor plugins."""
+
+ homepage = "https://github.com/snakemake/snakemake-interface-executor-plugins"
+ pypi = "snakemake_interface_executor_plugins/snakemake_interface_executor_plugins-8.2.0.tar.gz"
+
+ license("MIT")
+
+ version("8.2.0", sha256="4c74e3e1751bab6b266baf8688e854b8b4c5c5e10f5e34c581f42d69af4ff13b")
+
+ depends_on("py-argparse-dataclass@2", type=("build", "run"))
+ depends_on("py-throttler@1.2.2:1", type=("build", "run"))
+
+ depends_on("py-snakemake-interface-common@1.12:1", type=("build", "run"))
+
+ depends_on("python@3.11:3", type=("build", "run"))
+ depends_on("py-poetry-core", type="build")
diff --git a/var/spack/repos/builtin/packages/py-snakemake-interface-report-plugins/package.py b/var/spack/repos/builtin/packages/py-snakemake-interface-report-plugins/package.py
new file mode 100644
index 0000000000..c5236c5e67
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-snakemake-interface-report-plugins/package.py
@@ -0,0 +1,23 @@
+# Copyright 2013-2024 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 PySnakemakeInterfaceReportPlugins(PythonPackage):
+ """The interface for Snakemake report plugins."""
+
+ homepage = "https://github.com/snakemake/snakemake-interface-report-plugins"
+ pypi = "snakemake_interface_report_plugins/snakemake_interface_report_plugins-1.0.0.tar.gz"
+
+ license("MIT")
+
+ version("1.0.0", sha256="02311cdc4bebab2a1c28469b5e6d5c6ac6e9c66998ad4e4b3229f1472127490f")
+
+ depends_on("py-snakemake-interface-common@1.16:1", type=("build", "run"))
+
+ depends_on("python@:3", type=("build", "run"))
+ depends_on("py-poetry-core", type="build")
diff --git a/var/spack/repos/builtin/packages/py-snakemake-interface-storage-plugins/package.py b/var/spack/repos/builtin/packages/py-snakemake-interface-storage-plugins/package.py
new file mode 100644
index 0000000000..e9ba417de4
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-snakemake-interface-storage-plugins/package.py
@@ -0,0 +1,28 @@
+# Copyright 2013-2024 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 PySnakemakeInterfaceStoragePlugins(PythonPackage):
+ """This package provides a stable interface for interactions between Snakemake and its storage
+ plugins."""
+
+ homepage = "https://github.com/snakemake/snakemake-interface-storage-plugins"
+ pypi = "snakemake_interface_storage_plugins/snakemake_interface_storage_plugins-3.1.0.tar.gz"
+
+ license("MIT")
+
+ version("3.1.0", sha256="26e95be235ef2a9716b890ea96c3a9a2e62061c5d72fbb89c2fad2afada87304")
+
+ depends_on("py-wrapt@1.15:1", type=("build", "run"))
+ depends_on("py-reretry@0.11.8:0.11", type=("build", "run"))
+ depends_on("py-throttler@1.2.2:1", type=("build", "run"))
+
+ depends_on("py-snakemake-interface-common@1.12:1", type=("build", "run"))
+
+ depends_on("python@3.11:3", type=("build", "run"))
+ depends_on("py-poetry-core", type="build")
diff --git a/var/spack/repos/builtin/packages/py-snakemake-storage-plugin-azure/package.py b/var/spack/repos/builtin/packages/py-snakemake-storage-plugin-azure/package.py
new file mode 100644
index 0000000000..fad1a55e89
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-snakemake-storage-plugin-azure/package.py
@@ -0,0 +1,28 @@
+# Copyright 2013-2024 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 PySnakemakeStoragePluginAzure(PythonPackage):
+ """A Snakemake storage plugin to read and write from Azure Blob Storage."""
+
+ homepage = "https://github.com/snakemake/snakemake-storage-plugin-azure"
+ pypi = "snakemake_storage_plugin_azure/snakemake_storage_plugin_azure-0.1.4.tar.gz"
+
+ license("MIT")
+
+ version("0.1.4", sha256="dcfcf285c9f1b1aa89db359afbf02b28d9e57a97ddac66747d3e46832e7ddbff")
+
+ depends_on("py-azure-storage-blob@12.19:12", type=("build", "run"))
+ depends_on("py-azure-core@1.29.5:1", type=("build", "run"))
+ depends_on("py-azure-identity@1.15:1", type=("build", "run"))
+
+ depends_on("py-snakemake-interface-common@1.15:1", type=("build", "run"))
+ depends_on("py-snakemake-interface-storage-plugins@3", type=("build", "run"))
+
+ depends_on("python@3.11:3", type=("build", "run"))
+ depends_on("py-poetry-core", type="build")
diff --git a/var/spack/repos/builtin/packages/py-snakemake-storage-plugin-fs/package.py b/var/spack/repos/builtin/packages/py-snakemake-storage-plugin-fs/package.py
new file mode 100644
index 0000000000..3ebae05239
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-snakemake-storage-plugin-fs/package.py
@@ -0,0 +1,28 @@
+# Copyright 2013-2024 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 PySnakemakeStoragePluginFs(PythonPackage):
+ """A Snakemake storage plugin that reads and writes from a locally mounted filesystem
+ using rsync."""
+
+ homepage = "https://github.com/snakemake/snakemake-storage-plugin-fs"
+ pypi = "snakemake_storage_plugin_fs/snakemake_storage_plugin_fs-0.1.5.tar.gz"
+
+ license("MIT")
+
+ version("0.2.0", sha256="cad1859036cbf429ea6fdb97f242567ec54a36d0b6ff900ce0d3ecfb6a824ae7")
+
+ depends_on("py-sysrsync@1.1.1:1", type=("build", "run"))
+ depends_on("py-reretry@0.11.8:0.11", type=("build", "run"))
+
+ depends_on("py-snakemake-interface-common@1.17:1", type=("build", "run"))
+ depends_on("py-snakemake-interface-storage-plugins@3.1:3", type=("build", "run"))
+
+ depends_on("python@3.11:3", type=("build", "run"))
+ depends_on("py-poetry-core", type="build")
diff --git a/var/spack/repos/builtin/packages/py-snakemake-storage-plugin-ftp/package.py b/var/spack/repos/builtin/packages/py-snakemake-storage-plugin-ftp/package.py
new file mode 100644
index 0000000000..9faf36aefb
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-snakemake-storage-plugin-ftp/package.py
@@ -0,0 +1,26 @@
+# Copyright 2013-2024 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 PySnakemakeStoragePluginFtp(PythonPackage):
+ """A Snakemake plugin for handling input and output via FTP."""
+
+ homepage = "https://github.com/snakemake/snakemake-storage-plugin-ftp"
+ pypi = "snakemake_storage_plugin_ftp/snakemake_storage_plugin_ftp-0.1.2.tar.gz"
+
+ license("MIT")
+
+ version("0.1.2", sha256="e3097e19dbe9ed4c8cf794e1d4594c3032ee7f7a9f7797dfb0d2556f0aafe07c")
+
+ depends_on("py-ftputil@5.0.4:5", type=("build", "run"))
+
+ depends_on("py-snakemake-interface-common@1.15.1:1", type=("build", "run"))
+ depends_on("py-snakemake-interface-storage-plugins@3", type=("build", "run"))
+
+ depends_on("python@3.11:3", type=("build", "run"))
+ depends_on("py-poetry-core", type="build")
diff --git a/var/spack/repos/builtin/packages/py-snakemake-storage-plugin-gcs/package.py b/var/spack/repos/builtin/packages/py-snakemake-storage-plugin-gcs/package.py
new file mode 100644
index 0000000000..406ba3dd24
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-snakemake-storage-plugin-gcs/package.py
@@ -0,0 +1,29 @@
+# Copyright 2013-2024 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 PySnakemakeStoragePluginGcs(PythonPackage):
+ """A Snakemake storage plugin for Google Cloud Storage."""
+
+ homepage = "https://github.com/snakemake/snakemake-storage-plugin-gcs"
+ pypi = "snakemake_storage_plugin_gcs/snakemake_storage_plugin_gcs-0.1.3.tar.gz"
+
+ license("MIT")
+
+ version("0.1.3", sha256="f0315596120160656b8c8afec66e3b31b4a2889b9d0cead2102f9d924ec0b326")
+
+ depends_on("py-google-cloud-storage@2.12:2", type=("build", "run"))
+ depends_on("py-google-crc32c@1.1.2:1", type=("build", "run"))
+
+ # This is not in the package definition, but I am pretty sure that it is needed
+ # https://github.com/snakemake/snakemake-storage-plugin-gcs/issues/19
+ depends_on("py-snakemake-interface-common@1", type=("build", "run"))
+ depends_on("py-snakemake-interface-storage-plugins@3", type=("build", "run"))
+
+ depends_on("python@3.11:3", type=("build", "run"))
+ depends_on("py-poetry-core", type="build")
diff --git a/var/spack/repos/builtin/packages/py-snakemake-storage-plugin-http/package.py b/var/spack/repos/builtin/packages/py-snakemake-storage-plugin-http/package.py
new file mode 100644
index 0000000000..aaeda6380d
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-snakemake-storage-plugin-http/package.py
@@ -0,0 +1,27 @@
+# Copyright 2013-2024 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 PySnakemakeStoragePluginHttp(PythonPackage):
+ """Snakemake storage plugin for downloading input files from HTTP(s)."""
+
+ homepage = "https://github.com/snakemake/snakemake-storage-plugin-http"
+ pypi = "snakemake_storage_plugin_http/snakemake_storage_plugin_http-0.2.3.tar.gz"
+
+ license("MIT")
+
+ version("0.2.3", sha256="e4944a7c134e98515d9473c867c4ce071e3b625a5a9002a00da6ac917bc0c0ad")
+
+ depends_on("py-requests@2.31:2", type=("build", "run"))
+ depends_on("py-requests-oauthlib@1.3.1:1", type=("build", "run"))
+
+ depends_on("py-snakemake-interface-common@1.14:1", type=("build", "run"))
+ depends_on("py-snakemake-interface-storage-plugins@3", type=("build", "run"))
+
+ depends_on("python@3.11:3", type=("build", "run"))
+ depends_on("py-poetry-core", type="build")
diff --git a/var/spack/repos/builtin/packages/py-snakemake-storage-plugin-s3/package.py b/var/spack/repos/builtin/packages/py-snakemake-storage-plugin-s3/package.py
new file mode 100644
index 0000000000..5eb4ca8fe1
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-snakemake-storage-plugin-s3/package.py
@@ -0,0 +1,28 @@
+# Copyright 2013-2024 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 PySnakemakeStoragePluginS3(PythonPackage):
+ """A Snakemake storage plugin for S3 API storage (AWS S3, MinIO, etc.)."""
+
+ homepage = "https://github.com/snakemake/snakemake-storage-plugin-s3"
+ pypi = "snakemake_storage_plugin_s3/snakemake_storage_plugin_s3-0.2.9.tar.gz"
+
+ license("MIT")
+
+ version("0.2.10", sha256="a4554d170b5621751aba20ee08e6357090471a0a68b173525b118580c287a12e")
+
+ depends_on("py-boto3@1.33:1", type=("build", "run"))
+ depends_on("py-botocore@1.33:1", type=("build", "run"))
+ depends_on("py-urllib3@2:2.1", type=("build", "run"))
+
+ depends_on("py-snakemake-interface-common@1.14:1", type=("build", "run"))
+ depends_on("py-snakemake-interface-storage-plugins@3", type=("build", "run"))
+
+ depends_on("python@3.11:3", type=("build", "run"))
+ depends_on("py-poetry-core", type="build")
diff --git a/var/spack/repos/builtin/packages/py-snakemake-storage-plugin-sftp/package.py b/var/spack/repos/builtin/packages/py-snakemake-storage-plugin-sftp/package.py
new file mode 100644
index 0000000000..93bebff2d7
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-snakemake-storage-plugin-sftp/package.py
@@ -0,0 +1,26 @@
+# Copyright 2013-2024 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 PySnakemakeStoragePluginSftp(PythonPackage):
+ """A Snakemake storage plugin that handles files on an SFTP server."""
+
+ homepage = "https://github.com/snakemake/snakemake-storage-plugin-sftp"
+ pypi = "snakemake_storage_plugin_sftp/snakemake_storage_plugin_sftp-0.1.2.tar.gz"
+
+ license("MIT")
+
+ version("0.1.2", sha256="1b5f99a6baf334d74e209d6ec8a59e495e56098cf6e9a19954e472ba1501525c")
+
+ depends_on("py-pysftp@0.2.9:0.2", type=("build", "run"))
+
+ depends_on("py-snakemake-interface-common@1.14.3:1", type=("build", "run"))
+ depends_on("py-snakemake-interface-storage-plugins@3", type=("build", "run"))
+
+ depends_on("python@3.11:3", type=("build", "run"))
+ depends_on("py-poetry-core", type="build")
diff --git a/var/spack/repos/builtin/packages/py-snakemake-storage-plugin-zenodo/package.py b/var/spack/repos/builtin/packages/py-snakemake-storage-plugin-zenodo/package.py
new file mode 100644
index 0000000000..e9640a513a
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-snakemake-storage-plugin-zenodo/package.py
@@ -0,0 +1,26 @@
+# Copyright 2013-2024 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 PySnakemakeStoragePluginZenodo(PythonPackage):
+ """A Snakemake storage plugin for reading from and writing to zenodo.org."""
+
+ homepage = "https://github.com/snakemake/snakemake-storage-plugin-zenodo"
+ pypi = "snakemake_storage_plugin_zenodo/snakemake_storage_plugin_zenodo-0.1.2.tar.gz"
+
+ license("MIT")
+
+ version("0.1.2", sha256="3675e76ae5dc930664bbcc1132a957c6490199c366e4e1e607d1491a7a46cf3d")
+
+ depends_on("py-requests@2.31:2", type=("build", "run"))
+
+ depends_on("py-snakemake-interface-common@1.14.4:1", type=("build", "run"))
+ depends_on("py-snakemake-interface-storage-plugins@3", type=("build", "run"))
+
+ depends_on("python@3.11:3", type=("build", "run"))
+ depends_on("py-poetry-core", type="build")
diff --git a/var/spack/repos/builtin/packages/snakemake/package.py b/var/spack/repos/builtin/packages/snakemake/package.py
index 226fdb5bae..f0f8627731 100644
--- a/var/spack/repos/builtin/packages/snakemake/package.py
+++ b/var/spack/repos/builtin/packages/snakemake/package.py
@@ -7,14 +7,15 @@ from spack.package import *
class Snakemake(PythonPackage):
- """Snakemake is an MIT-licensed workflow management system."""
+ """Workflow management system to create reproducible and scalable data analyses."""
- homepage = "https://snakemake.readthedocs.io/en/stable/"
- pypi = "snakemake/snakemake-7.32.4.tar.gz"
+ homepage = "https://snakemake.readthedocs.io/en"
+ pypi = "snakemake/snakemake-8.4.12.tar.gz"
maintainers("marcusboden")
license("MIT")
+ version("8.5.2", sha256="cc94876263182277e4a429e5d371c867400eeddc791c114dfd090d1bb3158975")
version("7.32.4", sha256="fdc3f15dd7b06fabb7da30d460e0a3b1fba08e4ea91f9c32c47a83705cdc7b6e")
version("7.31.1", sha256="6fadcc9a051737aa187dccf437879b3b83ddc917fff9bd7d400e056cf17a1788")
version("7.30.2", sha256="0cb86cf9b43b9f2f45d5685cd932595131031c7087690f64c5bc7eaec88df029")
@@ -43,6 +44,7 @@ class Snakemake(PythonPackage):
depends_on("py-tomli", type=("build"), when="@7.20.0: ^python@:3.10")
depends_on("py-appdirs", type=("build", "run"))
+ depends_on("py-immutables", type=("build", "run"), when="@8:")
depends_on("py-configargparse", type=("build", "run"))
depends_on("py-connectionpool@0.0.3:", type=("build", "run"))
depends_on("py-datrie", type=("build", "run"))
@@ -54,30 +56,46 @@ class Snakemake(PythonPackage):
depends_on("py-nbformat", type=("build", "run"))
depends_on("py-packaging", type=("build", "run"), when="@7.29.0:")
depends_on("py-psutil", type=("build", "run"))
- depends_on("py-pulp@2:", type=("build", "run"))
+ depends_on("py-pulp@2.3.1:2.8", type=("build", "run"), when="@8.1.2:")
+ depends_on("py-pulp@2:", type=("build", "run"), when="@:8.1.1")
depends_on("py-pyyaml", type=("build", "run"))
+ depends_on("py-requests@2.8.1:2", type=("build", "run"), when="@8.4.12")
depends_on("py-requests", type=("build", "run"))
depends_on("py-reretry", type=("build", "run"), when="@7:")
+ depends_on("py-smart-open@3:6", type=("build", "run"), when="@8.4.12:")
depends_on("py-smart-open@3:", type=("build", "run"))
+ depends_on(
+ "py-snakemake-interface-executor-plugins@8.1.3:8", type=("build", "run"), when="@8:"
+ )
+ depends_on("py-snakemake-interface-common@1.17:1", type=("build", "run"), when="@8.4.10:")
+ depends_on("py-snakemake-interface-common@1.15:1", type=("build", "run"), when="@8:")
+ depends_on(
+ "py-snakemake-interface-storage-plugins@3.1:3", type=("build", "run"), when="@8.4.10:"
+ )
+ depends_on("py-snakemake-interface-storage-plugins@3", type=("build", "run"), when="@8:")
+ depends_on("py-snakemake-interface-report-plugins@1", type=("build", "run"), when="@8.5:")
depends_on("py-stopit", type=("build", "run"))
depends_on("py-tabulate", type=("build", "run"))
depends_on("py-throttler", type=("build", "run"), when="@7:")
+ depends_on("py-toposort@1.10:1", type=("build", "run"), when="@8.4.12:")
depends_on("py-toposort@1.10:", type=("build", "run"), when="@7.24.0:")
depends_on("py-toposort", type=("build", "run"), when="@:7.23")
depends_on("py-wrapt", type=("build", "run"))
depends_on("py-yte@1.5.1:1", type=("build", "run"), when="@7.28.1:")
depends_on("py-yte@1", type=("build", "run"), when="@7:7.28.0")
+ depends_on("py-dpath@2.1.6:2", type=("build", "run"), when="@8.3:")
+ depends_on("py-conda-inject@1.3.1:1", type=("build", "run"), when="@8:")
variant("reports", default=False, description="Generate self-contained HTML reports")
with when("+reports"):
depends_on("py-pygments", type=("build", "run"))
- # Historical dependencies
+
depends_on("py-jinja2", type=("build", "run"), when="@:7.19.1")
depends_on("py-networkx", type=("build", "run"), when="@:7.1.1")
depends_on("py-pygraphviz", type=("build", "run"), when="@:7.1.1")
- variant("google-cloud", default=False, description="Enable Google Cloud execution")
+ variant("google-cloud", default=False, description="Enable Google Cloud execution", when="@:7")
with when("+google-cloud"):
depends_on("py-google-api-python-client", type=("build", "run"))
@@ -85,7 +103,7 @@ class Snakemake(PythonPackage):
depends_on("py-google-crc32c", type=("build", "run"))
depends_on("py-oauth2client", type=("build", "run"))
- variant("azure", default=False, description="Enable Azure execution", when="@7.28.0:")
+ variant("azure", default=False, description="Enable Azure execution", when="@7.28.0:7")
with when("+azure"):
depends_on("py-azure-storage-blob", type=("build", "run"))
@@ -94,22 +112,22 @@ class Snakemake(PythonPackage):
depends_on("py-azure-identity", type=("build", "run"))
depends_on("py-azure-mgmt-batch", type=("build", "run"))
- # Historical dependencies
depends_on("py-msrest", type=("build", "run"), when="@7.28.0")
depends_on("py-filelock", type=("build", "run"), when="@:6")
depends_on("py-ratelimiter", type=("build", "run"), when="@:6")
- # These variants are not in PyPI/pip, but they are undocumented dependencies
- # needed to make certain parts of Snakemake work.
-
- variant("ftp", default=False, description="Enable snakemake.remote.FTP")
+ variant("ftp", default=False, description="Handling input and output via FTP", when="@:7")
depends_on("py-ftputil", when="+ftp", type=("build", "run"))
- variant("s3", default=False, description="Enable snakemake.remote.S3")
+ variant(
+ "s3", default=False, description="Amazon S3 API storage (AWS S3, MinIO, etc.)", when="@:7"
+ )
depends_on("py-boto3", when="+s3", type=("build", "run"))
depends_on("py-botocore", when="+s3", type=("build", "run"))
- variant("http", default=False, description="Enable snakemake.remote.HTTP")
+ variant(
+ "http", default=False, description="Downloading of input files from HTTP(s)", when="@:7"
+ )
depends_on("py-requests", when="+http", type=("build", "run"))
def test(self):