Modernize py-torch-geometric and dependencies (#43984)

* Modernize py-torch-geometric and dependencies
* Forgot one maintainer
This commit is contained in:
Adam J. Stewart 2024-05-04 01:21:41 +02:00 committed by GitHub
parent a1d69f8661
commit 8a1b69c1d3
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
5 changed files with 173 additions and 110 deletions

View File

@ -7,25 +7,33 @@
class PyTorchCluster(PythonPackage): class PyTorchCluster(PythonPackage):
"""This package consists of a small extension library of highly optimized graph cluster """PyTorch Extension Library of Optimized Graph Cluster Algorithms."""
algorithms for the use in PyTorch.
"""
homepage = "https://github.com/rusty1s/pytorch_cluster" homepage = "https://github.com/rusty1s/pytorch_cluster"
url = "https://github.com/rusty1s/pytorch_cluster/archive/1.5.7.tar.gz" pypi = "torch-cluster/torch_cluster-1.6.3.tar.gz"
git = "https://github.com/rusty1s/pytorch_cluster.git"
license("MIT") license("MIT")
maintainers("adamjstewart")
version("1.6.3", sha256="0e2b08095e03cf87ce9b23b7a7352236a25d3ed92d92351dc020fd927ea8dbfe") version("1.6.3", sha256="78d5a930a5bbd0d8788df8c6d66addd68d6dd292fe3edb401e3dacba26308152")
version("1.5.8", sha256="95c6e81e9c4a6235e1b2152ab917021d2060ad995199f6bd7fb39986d37310f0") version(
version("1.5.7", sha256="71701d2f7f3e458ebe5904c982951349fdb60e6f1654e19c7e102a226e2de72e") "1.5.8",
sha256="a0a32f63faac40a026ab1e9da31f6babdb4d937e53be40bd1c91d9b5a286eee6",
variant("cuda", default=False, description="Enables CUDA support") deprecated=True,
)
version(
"1.5.7",
sha256="62a3ec1bebadda1a4a2c867203f4c957b9c0b9d11ffb03b40b8ea9f95a0a4d3b",
deprecated=True,
)
depends_on("python", type=("build", "link", "run"))
depends_on("py-setuptools", type="build") depends_on("py-setuptools", type="build")
depends_on("py-scipy", type=("build", "run")) depends_on("py-scipy", type=("build", "run"))
depends_on("py-torch+cuda", when="+cuda", type=("build", "link", "run"))
depends_on("py-torch~cuda", when="~cuda", type=("build", "link", "run")) # Undocumented dependencies
depends_on("py-torch", type=("build", "link", "run"))
# https://github.com/rusty1s/pytorch_cluster/issues/120 # https://github.com/rusty1s/pytorch_cluster/issues/120
depends_on("py-torch~openmp", when="@:1.5 %apple-clang", type=("build", "link", "run")) depends_on("py-torch~openmp", when="@:1.5 %apple-clang", type=("build", "link", "run"))
@ -34,8 +42,19 @@ class PyTorchCluster(PythonPackage):
depends_on("py-pytest-runner", when="@:1.5", type="build") depends_on("py-pytest-runner", when="@:1.5", type="build")
def setup_build_environment(self, env): def setup_build_environment(self, env):
if "+cuda" in self.spec: if self.spec.satisfies("@1.5.9:"):
env.set("FORCE_CUDA", "1") if "+cuda" in self.spec["py-torch"]:
env.set("CUDA_HOME", self.spec["cuda"].prefix) env.set("FORCE_CUDA", 1)
env.set("FORCE_ONLY_CUDA", 0)
env.set("FORCE_ONLY_CPU", 0)
else:
env.set("FORCE_CUDA", 0)
env.set("FORCE_ONLY_CUDA", 0)
env.set("FORCE_ONLY_CPU", 1)
else: else:
env.set("FORCE_CUDA", "0") if "+cuda" in self.spec["py-torch"]:
env.set("FORCE_CUDA", 1)
env.set("FORCE_CPU", 0)
else:
env.set("FORCE_CUDA", 0)
env.set("FORCE_CPU", 1)

View File

@ -8,57 +8,51 @@
class PyTorchGeometric(PythonPackage): class PyTorchGeometric(PythonPackage):
"""PyTorch Geometric (PyG) is a geometric deep learning extension """Graph Neural Network Library for PyTorch."""
library for PyTorch. It consists of various methods for deep
learning on graphs and other irregular structures, also known as
geometric deep learning, from a variety of published papers. In
addition, it consists of an easy-to-use mini-batch loader for many
small and single giant graphs, multi gpu-support, a large number
of common benchmark datasets (based on simple interfaces to create
your own), and helpful transforms, both for learning on arbitrary
graphs as well as on 3D meshes or point clouds."""
homepage = "https://github.com/pyg-team/pytorch_geometric" homepage = "https://pyg.org/"
pypi = "torch-geometric/torch_geometric-2.1.0.post1.tar.gz" pypi = "torch-geometric/torch_geometric-2.5.3.tar.gz"
git = "https://github.com/pyg-team/pytorch_geometric.git"
license("MIT") license("MIT")
maintainers("adamjstewart")
version("2.5.3", sha256="ad0761650c8fa56cdc46ee61c564fd4995f07f079965fe732b3a76d109fd3edc")
version( version(
"2.1.0.post1", sha256="32347402076ccf60fa50312825178f1e3e5ce5e7b3b3a8b2729ac699da24525d" "2.1.0.post1",
sha256="32347402076ccf60fa50312825178f1e3e5ce5e7b3b3a8b2729ac699da24525d",
deprecated=True,
)
version(
"1.6.3",
sha256="347f693bebcc8a621eda4867dafab91c04db5f596d7ed7ecb89b242f8ab5c6a1",
deprecated=True,
)
version(
"1.6.0",
sha256="fbf43fe15421c9affc4fb361ba4db55cb9d3c64d0c29576bb58d332bf6d27fef",
deprecated=True,
) )
version("1.6.3", sha256="347f693bebcc8a621eda4867dafab91c04db5f596d7ed7ecb89b242f8ab5c6a1")
version("1.6.0", sha256="fbf43fe15421c9affc4fb361ba4db55cb9d3c64d0c29576bb58d332bf6d27fef")
variant("cuda", default=False, description="Enable CUDA support") depends_on("py-flit-core@3.2:3", when="@2.4:", type="build")
# setup.py with default_args(type=("build", "run")):
depends_on("python@3.7:", when="@2:", type=("build", "run")) depends_on("py-tqdm")
depends_on("python@3.6:", type=("build", "run")) depends_on("py-numpy")
depends_on("py-setuptools", type="build") depends_on("py-scipy")
depends_on("py-tqdm", type=("build", "run")) depends_on("py-fsspec", when="@2.5:")
depends_on("py-numpy", type=("build", "run")) depends_on("py-jinja2")
depends_on("py-scipy", type=("build", "run")) depends_on("py-aiohttp", when="@2.5:")
depends_on("py-jinja2", type=("build", "run")) depends_on("py-requests")
depends_on("py-requests", type=("build", "run")) depends_on("py-pyparsing", when="@1.7.2:")
depends_on("py-pyparsing", when="@2:", type=("build", "run")) depends_on("py-scikit-learn")
depends_on("py-scikit-learn", type=("build", "run")) depends_on("py-psutil@5.8:", when="@2.2:")
# README.md # Undocumented dependencies
depends_on("py-torch-scatter+cuda", when="+cuda", type=("build", "run")) depends_on("py-torch")
depends_on("py-torch-scatter~cuda", when="~cuda", type=("build", "run"))
depends_on("py-torch-sparse+cuda", when="+cuda", type=("build", "run"))
depends_on("py-torch-sparse~cuda", when="~cuda", type=("build", "run"))
# Optional dependencies # Historical dependencies
depends_on("py-torch-cluster+cuda", when="+cuda", type=("build", "run")) depends_on("py-setuptools", type="build", when="@:2.3")
depends_on("py-torch-cluster~cuda", when="~cuda", type=("build", "run"))
depends_on("py-torch-spline-conv+cuda", when="+cuda", type=("build", "run"))
depends_on("py-torch-spline-conv~cuda", when="~cuda", type=("build", "run"))
# Undocumented dependencies
depends_on("py-torch", type=("build", "run"))
# Historic or optional dependencies
with when("@:1"): with when("@:1"):
depends_on("py-pytest-runner", type="build") depends_on("py-pytest-runner", type="build")
depends_on("py-networkx", type=("build", "run")) depends_on("py-networkx", type=("build", "run"))
@ -69,10 +63,3 @@ class PyTorchGeometric(PythonPackage):
depends_on("py-googledrivedownloader", type=("build", "run")) depends_on("py-googledrivedownloader", type=("build", "run"))
depends_on("py-h5py~mpi", type=("build", "run")) depends_on("py-h5py~mpi", type=("build", "run"))
depends_on("py-ase", type=("build", "run")) depends_on("py-ase", type=("build", "run"))
def setup_build_environment(self, env):
if "+cuda" in self.spec:
env.set("FORCE_CUDA", "1")
env.set("CUDA_HOME", self.spec["cuda"].prefix)
else:
env.set("FORCE_CUDA", "0")

View File

@ -7,29 +7,45 @@
class PyTorchScatter(PythonPackage): class PyTorchScatter(PythonPackage):
"""This package consists of a small extension library of """PyTorch Extension Library of Optimized Scatter Operations."""
highly optimized sparse update (scatter and segment)
operations for the use in PyTorch, which are missing in the
main package."""
homepage = "https://github.com/rusty1s/pytorch_scatter" homepage = "https://github.com/rusty1s/pytorch_scatter"
url = "https://github.com/rusty1s/pytorch_scatter/archive/2.0.5.tar.gz" pypi = "torch-scatter/torch_scatter-2.1.2.tar.gz"
git = "https://github.com/rusty1s/pytorch_scatter.git"
license("MIT") license("MIT")
maintainers("adamjstewart")
version("2.0.5", sha256="e29b364beaa9c84a99e0e236be89ed19d4452d89010ff736184ddcce488b47f6") version("2.1.2", sha256="69b3aa435f2424ac6a1bfb6ff702da6eb73b33ca0db38fb26989c74159258e47")
version(
"2.0.5",
sha256="148fbe634fb9e9465dbde2ab337138f63650ed8abbac42bb3f565e3fe92e9b2f",
deprecated=True,
)
variant("cuda", default=False, description="Enable CUDA support") depends_on("python", type=("build", "link", "run"))
depends_on("python@3.6:", type=("build", "run"))
depends_on("py-setuptools", type="build") depends_on("py-setuptools", type="build")
depends_on("py-pytest-runner", type="build")
depends_on("py-torch+cuda", when="+cuda") # Undocumented dependencies
depends_on("py-torch~cuda", when="~cuda") depends_on("py-torch", type=("build", "link", "run"))
# Historical dependencies
depends_on("py-pytest-runner", type="build", when="@:2.0.7")
def setup_build_environment(self, env): def setup_build_environment(self, env):
if "+cuda" in self.spec: if self.spec.satisfies("@2.0.6:"):
env.set("FORCE_CUDA", "1") if "+cuda" in self.spec["py-torch"]:
env.set("CUDA_HOME", self.spec["cuda"].prefix) env.set("FORCE_CUDA", 1)
env.set("FORCE_ONLY_CUDA", 0)
env.set("FORCE_ONLY_CPU", 0)
else:
env.set("FORCE_CUDA", 0)
env.set("FORCE_ONLY_CUDA", 0)
env.set("FORCE_ONLY_CPU", 1)
else: else:
env.set("FORCE_CUDA", "0") if "+cuda" in self.spec["py-torch"]:
env.set("FORCE_CUDA", 1)
env.set("FORCE_CPU", 0)
else:
env.set("FORCE_CUDA", 0)
env.set("FORCE_CPU", 1)

View File

@ -7,31 +7,54 @@
class PyTorchSparse(PythonPackage): class PyTorchSparse(PythonPackage):
"""This package consists of a small extension library of """PyTorch Extension Library of Optimized Autograd Sparse Matrix Operations."""
optimized sparse matrix operations with autograd support."""
homepage = "https://github.com/rusty1s/pytorch_sparse/" homepage = "https://github.com/rusty1s/pytorch_sparse"
url = "https://github.com/rusty1s/pytorch_sparse/archive/0.6.7.tar.gz" pypi = "torch-sparse/torch_sparse-0.6.18.tar.gz"
git = "https://github.com/rusty1s/pytorch_sparse.git"
license("MIT") license("MIT")
maintainers("adamjstewart")
version("0.6.17", sha256="c964a70ed978bff65009250eb12fae96317c60c9a04d7d1b07f0beee8b4b9c22") version("0.6.18", sha256="2f14c510a6e93f404c6ea357210615b3c15a71731f9dbd86f25434e34fb5a741")
version("0.6.8", sha256="98f7ff1f0f9cd5031bc81c70c11970c3864545ae33677025a6efd2466a97e6f9") version("0.6.17", sha256="06e268dd77f73eb641da8f9383306d7afac6423383c9197b9df120955e2a96bd")
version("0.6.7", sha256="0d038a1502548692972a085cd0496460b5d2050bb7328427add990f081d6c44d") version("0.6.8", sha256="312fb5ae6e4e575fca4bbc0bd092af85e7679d5b8e53459f24492fc2a073c7b6")
version("0.6.7", sha256="f69b2ed35baf2a9853234756a2b19e6f7ce88d2c1f029d1c7ca166d91e1adbd0")
variant("cuda", default=False, description="Enable CUDA support")
depends_on("py-setuptools", type="build") depends_on("py-setuptools", type="build")
depends_on("py-pytest-runner", when="@:0.6.8", type="build")
depends_on("py-scipy", type=("build", "run")) depends_on("py-scipy", type=("build", "run"))
depends_on("py-torch", type=("build", "run"))
depends_on("py-torch-scatter+cuda", when="+cuda") # Undocumented dependencies
depends_on("py-torch-scatter~cuda", when="~cuda") depends_on("py-torch", type=("build", "link", "run"))
depends_on("py-torch-scatter", type=("build", "run"))
depends_on("parallel-hashmap", when="@0.6.17:") depends_on("parallel-hashmap", when="@0.6.17:")
# Historical dependencies
depends_on("py-pytest-runner", when="@:0.6.8", type="build")
def patch(self):
# Force build against externally-installed hashmap
filter_file(
"include_dirs=[extensions_dir, phmap_dir]",
"include_dirs=[extensions_dir]",
"setup.py",
string=True,
)
def setup_build_environment(self, env): def setup_build_environment(self, env):
if "+cuda" in self.spec: if self.spec.satisfies("@0.6.9:"):
env.set("FORCE_CUDA", "1") if "+cuda" in self.spec["py-torch"]:
env.set("CUDA_HOME", self.spec["cuda"].prefix) env.set("FORCE_CUDA", 1)
env.set("FORCE_ONLY_CUDA", 0)
env.set("FORCE_ONLY_CPU", 0)
else:
env.set("FORCE_CUDA", 0)
env.set("FORCE_ONLY_CUDA", 0)
env.set("FORCE_ONLY_CPU", 1)
else: else:
env.set("FORCE_CUDA", "0") if "+cuda" in self.spec["py-torch"]:
env.set("FORCE_CUDA", 1)
env.set("FORCE_CPU", 0)
else:
env.set("FORCE_CUDA", 0)
env.set("FORCE_CPU", 1)

View File

@ -7,27 +7,45 @@
class PyTorchSplineConv(PythonPackage): class PyTorchSplineConv(PythonPackage):
"""This is a PyTorch implementation of the spline-based """Implementation of the Spline-Based Convolution Operator of SplineCNN in PyTorch."""
convolution operator of SplineCNN."""
homepage = "https://github.com/rusty1s/pytorch_spline_conv" homepage = "https://github.com/rusty1s/pytorch_spline_conv"
url = "https://github.com/rusty1s/pytorch_spline_conv/archive/1.2.0.tar.gz" pypi = "torch-spline-conv/torch_spline_conv-1.2.2.tar.gz"
git = "https://github.com/rusty1s/pytorch_spline_conv.git"
license("MIT") license("MIT")
maintainers("adamjstewart")
version("1.2.0", sha256="ab8da41357c8a4785662366655bb6dc5e84fd0e938008194955409aefe535009") version("1.2.2", sha256="ed45a81da29f774665dbdd4709d7e534cdf16d2e7006dbd06957f35bd09661b2")
version(
"1.2.0",
sha256="b7a1788004f6c6143d47040f2dd7d8a579a0c69a0cb0b5d7537416bf37c082a5",
deprecated=True,
)
variant("cuda", default=False, description="Enable CUDA support") depends_on("python", type=("build", "link", "run"))
depends_on("python@3.6:", type=("build", "run"))
depends_on("py-setuptools", type="build") depends_on("py-setuptools", type="build")
depends_on("py-pytest-runner", type="build")
depends_on("py-torch+cuda", when="+cuda") # Undocumented dependencies
depends_on("py-torch~cuda", when="~cuda") depends_on("py-torch", type=("build", "link", "run"))
# Historical dependencies
depends_on("py-pytest-runner", type="build", when="@:1.2.1")
def setup_build_environment(self, env): def setup_build_environment(self, env):
if "+cuda" in self.spec: if self.spec.satisfies("@1.2.1:"):
env.set("FORCE_CUDA", "1") if "+cuda" in self.spec["py-torch"]:
env.set("CUDA_HOME", self.spec["cuda"].prefix) env.set("FORCE_CUDA", 1)
env.set("FORCE_ONLY_CUDA", 0)
env.set("FORCE_ONLY_CPU", 0)
else:
env.set("FORCE_CUDA", 0)
env.set("FORCE_ONLY_CUDA", 0)
env.set("FORCE_ONLY_CPU", 1)
else: else:
env.set("FORCE_CUDA", "0") if "+cuda" in self.spec["py-torch"]:
env.set("FORCE_CUDA", 1)
env.set("FORCE_CPU", 0)
else:
env.set("FORCE_CUDA", 0)
env.set("FORCE_CPU", 1)