summaryrefslogtreecommitdiff
path: root/var
diff options
context:
space:
mode:
authorAdam J. Stewart <ajstewart426@gmail.com>2023-10-02 15:23:49 -0500
committerGitHub <noreply@github.com>2023-10-02 15:23:49 -0500
commit75ed26258ccbf84b9bc6dd11d8a9ccadbd54ff9e (patch)
tree5739b0ab544d383e021be74c73a232ee927efab4 /var
parent1da8477a3c4cafe63590faea0528b4c7b6292f1c (diff)
downloadspack-75ed26258ccbf84b9bc6dd11d8a9ccadbd54ff9e.tar.gz
spack-75ed26258ccbf84b9bc6dd11d8a9ccadbd54ff9e.tar.bz2
spack-75ed26258ccbf84b9bc6dd11d8a9ccadbd54ff9e.tar.xz
spack-75ed26258ccbf84b9bc6dd11d8a9ccadbd54ff9e.zip
py-torchgeo: add v0.5.0 (#40267)
* py-torchgeo: add v0.5.0 * Better documentation of dependency quirks
Diffstat (limited to 'var')
-rw-r--r--var/spack/repos/builtin/packages/py-torchgeo/package.py204
1 files changed, 107 insertions, 97 deletions
diff --git a/var/spack/repos/builtin/packages/py-torchgeo/package.py b/var/spack/repos/builtin/packages/py-torchgeo/package.py
index d67c928b09..f5ef2ddc4b 100644
--- a/var/spack/repos/builtin/packages/py-torchgeo/package.py
+++ b/var/spack/repos/builtin/packages/py-torchgeo/package.py
@@ -7,11 +7,7 @@ from spack.package import *
class PyTorchgeo(PythonPackage):
- """TorchGeo: datasets, samplers, transforms, and pre-trained models for geospatial data.
-
- TorchGeo is a PyTorch domain library, similar to torchvision, providing datasets, samplers,
- transforms, and pre-trained models specific to geospatial data.
- """
+ """TorchGeo: datasets, samplers, transforms, and pre-trained models for geospatial data."""
homepage = "https://github.com/microsoft/torchgeo"
pypi = "torchgeo/torchgeo-0.1.0.tar.gz"
@@ -20,6 +16,7 @@ class PyTorchgeo(PythonPackage):
maintainers("adamjstewart", "calebrob6")
version("main", branch="main")
+ version("0.5.0", sha256="2bc2f9c4a19a569790cb3396499fdec17496632b0e52b86be390a2cc7a1a7033")
version("0.4.1", sha256="a3692436bf63df8d2f9b76d16eea5ee309dd1bd74e0fde6e64456abfdb2a5b58")
version("0.4.0", sha256="a0812487205aa2db7bc92119d896ae4bf4f1014e6fdc0ce0f75bcb24fada6613")
version("0.3.1", sha256="ba7a716843575d173abab383c6cc2d5fc8faf5834472f16a4abe1b932040ece5")
@@ -34,114 +31,127 @@ class PyTorchgeo(PythonPackage):
variant("style", default=False, description="Install style checking tools")
variant("tests", default=False, description="Install testing tools")
+ # NOTE: historically, dependencies had upper bounds based on semantic version compatibility.
+ # However, these were removed to improve maintainability and flexibility of the recipe.
+
# Required dependencies
- depends_on("python@3.7:3+bz2", when="@0.3:", type=("build", "run"))
- depends_on("python@3.6:3+bz2", when="@:0.2", type=("build", "run"))
- depends_on("py-setuptools@42:67", when="@0.4.1:", type="build")
- depends_on("py-setuptools@42:66", when="@0.4.0", type="build")
- depends_on("py-setuptools@42:65", when="@0.3.1", type="build")
- depends_on("py-setuptools@42:63", when="@:0.3.0", type="build")
- depends_on("py-einops@0.3:0.6", when="@0.4:", type=("build", "run"))
- depends_on("py-einops@0.3:0.4", when="@:0.3", type=("build", "run"))
- depends_on("py-fiona@1.8:1", when="@0.3:", type=("build", "run"))
- depends_on("py-fiona@1.5:1", when="@:0.2", type=("build", "run"))
- depends_on("py-kornia@0.6.5:0.6", when="@0.4.1:", type=("build", "run"))
+ depends_on("python@3.9:", when="@0.5:", type=("build", "run"))
+ # COWC dataset requires unpacking .bz2 files.
+ depends_on("python+bz2", type=("build", "run"))
+ depends_on("py-setuptools@61:", when="@0.5:", type="build")
+ depends_on("py-setuptools@42:", type="build")
+ depends_on("py-einops@0.3:", type=("build", "run"))
+ depends_on("py-fiona@1.8.19:", when="@0.5:", type=("build", "run"))
+ depends_on("py-fiona@1.8:", when="@0.3:", type=("build", "run"))
+ depends_on("py-fiona@1.5:", type=("build", "run"))
+ # Only part of lightning[pytorch-extra] we actually require.
+ depends_on("py-jsonargparse@4.18:+signatures", when="@0.5:", type=("build", "run"))
+ depends_on("py-kornia@0.6.9:", when="@0.5:", type=("build", "run"))
+ depends_on("py-kornia@0.6.5:", when="@0.4.1:", type=("build", "run"))
+ # https://github.com/microsoft/torchgeo/pull/1123
depends_on("py-kornia@0.6.5:0.6.9", when="@0.4.0", type=("build", "run"))
depends_on("py-kornia@0.6.4:0.6.9", when="@0.3", type=("build", "run"))
depends_on("py-kornia@0.5.11:0.6.9", when="@0.2", type=("build", "run"))
depends_on("py-kornia@0.5.4:0.6.9", when="@0.1", type=("build", "run"))
- depends_on("py-lightning@1.8:1", when="@0.4.1:", type=("build", "run"))
- depends_on("py-matplotlib@3.3:3", type=("build", "run"))
- depends_on("py-numpy@1.17.2:1", type=("build", "run"))
- depends_on("py-omegaconf@2.1:2", when="@:0.4.0", type=("build", "run"))
- depends_on("py-packaging@17:21", when="@0.3", type=("build", "run"))
- depends_on("pil@6.2:9+zlib+jpeg+tiff", type=("build", "run"))
- depends_on("py-pyproj@2.2:3", type=("build", "run"))
- depends_on("py-pytorch-lightning@1.5.1:1", when="@0.4.0", type=("build", "run"))
- depends_on("py-pytorch-lightning@1.5.1:1", when="@0.3.1", type=("build", "run"))
- depends_on("py-pytorch-lightning@1.5.1:1.8", when="@0.3.0", type=("build", "run"))
- depends_on("py-pytorch-lightning@1.3:1.8", when="@:0.2", type=("build", "run"))
- depends_on("py-rasterio@1.0.20:1", when="@0.3:", type=("build", "run"))
- depends_on("py-rasterio@1.0.16:1", when="@:0.2", type=("build", "run"))
- depends_on("py-rtree@1", when="@0.3:", type=("build", "run"))
- depends_on("py-rtree@0.9.4:1", when="@0.2.1", type=("build", "run"))
- depends_on("py-rtree@0.5:1", when="@:0.2.0", type=("build", "run"))
- depends_on("py-scikit-learn@0.21:1", when="@0.3:", type=("build", "run"))
- depends_on("py-scikit-learn@0.18:1", when="@:0.2", type=("build", "run"))
- depends_on("py-segmentation-models-pytorch@0.2:0.3", when="@0.3.1:", type=("build", "run"))
- depends_on("py-segmentation-models-pytorch@0.2", when="@:0.3.0", type=("build", "run"))
- depends_on("py-shapely@1.3:2", when="@0.4:", type=("build", "run"))
- depends_on("py-shapely@1.3:1", when="@:0.3", type=("build", "run"))
- depends_on("py-timm@0.4.12:0.6", when="@0.4:", type=("build", "run"))
- depends_on("py-timm@0.4.12:0.4", when="@:0.3", type=("build", "run"))
- depends_on("py-torch@1.12:2", when="@0.4.1:", type=("build", "run"))
- depends_on("py-torch@1.12:1", when="@0.4.0", type=("build", "run"))
- depends_on("py-torch@1.9:1", when="@0.2:0.3", type=("build", "run"))
- depends_on("py-torch@1.7:1", when="@0.1", type=("build", "run"))
- depends_on("py-torchmetrics@0.10:0.11", when="@0.4:", type=("build", "run"))
- depends_on("py-torchmetrics@0.7:0.9", when="@0.3", type=("build", "run"))
- depends_on("py-torchmetrics@0.7:0.8", when="@0.2.1", type=("build", "run"))
- depends_on("py-torchmetrics@0.7", when="@:0.2.0", type=("build", "run"))
- depends_on("py-torchvision@0.13:0.15", when="@0.4.1:", type=("build", "run"))
- depends_on("py-torchvision@0.13:0.14", when="@0.4.0", type=("build", "run"))
- depends_on("py-torchvision@0.10:0.13", when="@0.3", type=("build", "run"))
- depends_on("py-torchvision@0.10:0.12", when="@0.2", type=("build", "run"))
- depends_on("py-torchvision@0.3:0.12", when="@0.1", type=("build", "run"))
+ depends_on("py-lightly@1.4.4:", when="@0.5:", type=("build", "run"))
+ depends_on("py-lightning@2:", when="@0.5:", type=("build", "run"))
+ depends_on("py-lightning@1.8:", when="@0.4.1:", type=("build", "run"))
+ depends_on("py-matplotlib@3.3.3:", when="@0.5:", type=("build", "run"))
+ depends_on("py-matplotlib@3.3:", type=("build", "run"))
+ depends_on("py-numpy@1.19.3:", when="@0.5:", type=("build", "run"))
+ depends_on("py-numpy@1.17.2:", type=("build", "run"))
+ depends_on("py-pandas@1.1.3:", when="@0.5:", type=("build", "run"))
+ depends_on("pil@8:", when="@0.5:", type=("build", "run"))
+ depends_on("pil@6.2:", type=("build", "run"))
+ # JPEG, TIFF, and compressed PNG support required for file I/O in several datasets.
+ depends_on("pil+jpeg+tiff+zlib", type=("build", "run"))
+ depends_on("py-pyproj@3:", when="@0.5:", type=("build", "run"))
+ depends_on("py-pyproj@2.2:", type=("build", "run"))
+ depends_on("py-rasterio@1.2:", when="@0.5:", type=("build", "run"))
+ depends_on("py-rasterio@1.0.20:", when="@0.3:", type=("build", "run"))
+ depends_on("py-rasterio@1.0.16:", type=("build", "run"))
+ depends_on("py-rtree@1:", when="@0.3:", type=("build", "run"))
+ depends_on("py-rtree@0.9.4:", when="@0.2.1:", type=("build", "run"))
+ depends_on("py-rtree@0.5:", type=("build", "run"))
+ depends_on("py-segmentation-models-pytorch@0.2:", type=("build", "run"))
+ depends_on("py-shapely@1.7.1:", when="@0.5:", type=("build", "run"))
+ depends_on("py-shapely@1.3:", type=("build", "run"))
+ depends_on("py-timm@0.4.12:", type=("build", "run"))
+ depends_on("py-torch@1.12:", when="@0.4:", type=("build", "run"))
+ depends_on("py-torch@1.9:", when="@0.2:", type=("build", "run"))
+ depends_on("py-torch@1.7:", type=("build", "run"))
+ depends_on("py-torchmetrics@0.10:", when="@0.4:", type=("build", "run"))
+ depends_on("py-torchmetrics@0.7:", type=("build", "run"))
+ depends_on("py-torchvision@0.13:", when="@0.4:", type=("build", "run"))
+ depends_on("py-torchvision@0.10:", when="@0.2:", type=("build", "run"))
+ depends_on("py-torchvision@0.3:", type=("build", "run"))
# Optional dependencies
with when("+datasets"):
- depends_on("py-h5py@2.6:3", type="run")
- depends_on("py-laspy@2", when="@0.2:", type="run")
+ # GDAL and libtiff are both dependencies of rasterio.
+ # Sentinel 2 dataset requires OpenJPEG to read .jp2 files.
depends_on("gdal+openjpeg", when="@0.3.1:", type="run")
- depends_on("libtiff+jpeg+zlib", type="run")
- depends_on("open3d@0.11.2:0.14+python", when="@0.2:0.3", type="run")
- depends_on("opencv@3.4.2.17:4+python3+imgcodecs+tiff+jpeg+png", type="run")
- depends_on("py-pandas@0.23.2:2", when="@0.4.1:", type="run")
- depends_on("py-pandas@0.23.2:1", when="@0.3:0.4.0", type="run")
- depends_on("py-pandas@0.19.1:1", when="@0.2", type="run")
- depends_on("py-pycocotools@2", type="run")
- depends_on("py-pyvista@0.20:0.38", when="@0.4.1:", type="run")
- depends_on("py-pyvista@0.20:0.37", when="@0.4.0", type="run")
- depends_on("py-radiant-mlhub@0.3:0.5", when="@0.4.1:", type="run")
+ # JPEG required for GDAL to read JPEG files
+ # LIBDEFLATE, ZLIB, and ZSTD required for compressed file I/O.
+ depends_on("libtiff+jpeg+libdeflate+zlib+zstd", type="run")
+ depends_on("py-h5py@3:", when="@0.5:", type="run")
+ depends_on("py-h5py@2.6:", type="run")
+ depends_on("py-laspy@2:", when="@0.2:", type="run")
+ depends_on("opencv@4.4.0.46:", when="@0.5:", type="run")
+ depends_on("opencv@3.4.2.17:", type="run")
+ # LandCover.ai dataset requires ability to read .tif and write .jpg and .png files.
+ # Doing this from Python requires both imgcodecs and Python bindings.
+ depends_on("opencv+imgcodecs+jpeg+png+python3+tiff", type="run")
+ depends_on("py-pycocotools@2.0.5:", when="@0.5:", type="run")
+ depends_on("py-pycocotools@2:", type="run")
+ depends_on("py-pyvista@0.34.2:", when="@0.5:", type="run")
+ depends_on("py-pyvista@0.20:", when="@0.4:", type="run")
+ depends_on("py-radiant-mlhub@0.3:", when="@0.4.1:", type="run")
depends_on("py-radiant-mlhub@0.2.1:0.4", when="@:0.4.0", type="run")
- depends_on("py-rarfile@3:4", type="run")
- depends_on("py-scikit-image@0.18:0.20", when="@0.4.1:", type="run")
- depends_on("py-scikit-image@0.18:0.19", when="@0.4.0", type="run")
- depends_on("py-scipy@1.6.2:1", when="@0.4:", type="run")
- depends_on("py-scipy@1.2:1", when="@0.3", type="run")
- depends_on("py-scipy@0.9:1", when="@:0.2", type="run")
- depends_on("py-zipfile-deflate64@0.2", when="@0.2.1:", type="run")
+ depends_on("py-rarfile@4:", when="@0.5:", type="run")
+ depends_on("py-rarfile@3:", type="run")
+ depends_on("py-scikit-image@0.18:", when="@0.4:", type="run")
+ depends_on("py-scipy@1.6.2:", when="@0.4:", type="run")
+ depends_on("py-scipy@1.2:", when="@0.3:", type="run")
+ depends_on("py-scipy@0.9:", type="run")
+ depends_on("py-zipfile-deflate64@0.2:", when="@0.2.1:", type="run")
with when("+docs"):
- depends_on("py-ipywidgets@7:8", when="@0.3.1:", type="run")
- depends_on("py-ipywidgets@7", when="@:0.3.0", type="run")
- depends_on("py-nbsphinx@0.8.5:0.9", when="@0.4.1:", type="run")
- depends_on("py-nbsphinx@0.8.5:0.8", when="@:0.4.0", type="run")
+ depends_on("py-ipywidgets@7:", type="run")
+ depends_on("py-nbsphinx@0.8.5:", type="run")
depends_on("py-pytorch-sphinx-theme", type="run")
depends_on("py-sphinx@4:5", type="run")
with when("+style"):
- depends_on("py-black@21.8:23+jupyter", when="@0.4.1:", type="run")
- depends_on("py-black@21.8:22+jupyter", when="@0.3:0.4.0", type="run")
- depends_on("py-black@21:22", when="@:0.2", type="run")
- depends_on("py-flake8@3.8:6", when="@0.4:", type="run")
- depends_on("py-flake8@3.8:5", when="@0.3.1", type="run")
- depends_on("py-flake8@3.8:4", when="@:0.3.0", type="run")
- depends_on("py-isort@5.8:5+colors", type="run")
- depends_on("py-pydocstyle@6.1:6+toml", type="run")
- depends_on("py-pyupgrade@1.24:3", when="@0.4:", type="run")
- depends_on("py-pyupgrade@1.24:2", when="@0.3", type="run")
+ depends_on("py-black@21.8:+jupyter", when="@0.3:", type="run")
+ depends_on("py-black@21:", type="run")
+ depends_on("py-flake8@3.8:", type="run")
+ depends_on("py-isort@5.8:+colors", type="run")
+ depends_on("py-pydocstyle@6.1:+toml", type="run")
+ depends_on("py-pyupgrade@2.8:", when="@0.5:", type="run")
+ depends_on("py-pyupgrade@1.24:", when="@0.3:", type="run")
with when("+tests"):
- depends_on("py-mypy@0.900:1", when="@0.4.1:", type="run")
- depends_on("py-mypy@0.900:0.991", when="@0.4.0", type="run")
- depends_on("py-mypy@0.900:0.971", when="@0.3.1", type="run")
- depends_on("py-mypy@0.900:0.961", when="@:0.3.0", type="run")
- depends_on("py-nbmake@1.3.3:1", when="@0.4.1:", type="run")
- depends_on("py-nbmake@0.1:1", when="@0.3.1:0.4.0", type="run")
+ depends_on("py-mypy@0.900:", type="run")
+ depends_on("py-nbmake@1.3.3:", when="@0.4.1:", type="run")
+ depends_on("py-nbmake@0.1:", when="@0.3.1:", type="run")
depends_on("py-nbmake@0.1:1.1", when="@:0.3.0", type="run")
- depends_on("py-omegaconf@2.1:2", when="@0.4.1:", type="run")
- depends_on("py-pytest@6.1.2:7", type="run")
- depends_on("py-pytest-cov@2.4:4", when="@0.4:", type="run")
- depends_on("py-pytest-cov@2.4:3", when="@:0.3", type="run")
- depends_on("py-tensorboard@2.9.1:2", when="@0.4.1:", type="run")
+ depends_on("py-pytest@6.2:", when="@0.5:", type="run")
+ depends_on("py-pytest@6.1.2:", type="run")
+ depends_on("py-pytest-cov@2.4:", type="run")
+
+ # Historical dependencies
+ depends_on("py-omegaconf@2.1:", when="@:0.4.0", type=("build", "run"))
+ depends_on("py-packaging@17:", when="@0.3", type=("build", "run"))
+ depends_on("py-pytorch-lightning@1.5.1:", when="@0.3.1:0.4.0", type=("build", "run"))
+ # https://github.com/microsoft/torchgeo/pull/697
+ depends_on("py-pytorch-lightning@1.5.1:1.8", when="@0.3.0", type=("build", "run"))
+ depends_on("py-pytorch-lightning@1.3:1.8", when="@:0.2", type=("build", "run"))
+ depends_on("py-scikit-learn@0.21:", when="@0.3:0.4", type=("build", "run"))
+ depends_on("py-scikit-learn@0.18:", when="@:0.2", type=("build", "run"))
+ depends_on("open3d@0.11.2:+python", when="@0.2:0.3+datasets", type="run")
+ # https://github.com/microsoft/torchgeo/pull/1537
+ depends_on("py-pandas@0.23.2:2.0", when="@0.3:0.4+datasets", type="run")
+ depends_on("py-pandas@0.19.1:2.0", when="@0.2+datasets", type="run")
+ depends_on("py-omegaconf@2.1:", when="@0.4.1+tests", type="run")
+ depends_on("py-tensorboard@2.9.1:", when="@0.4.1+tests", type="run")