summaryrefslogtreecommitdiff
path: root/var/spack/repos/builtin/packages/py-torchgeo/package.py
blob: bb7dec2810ee840fefa241a2116f9b466b65880c (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
# 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 PyTorchgeo(PythonPackage):
    """TorchGeo: datasets, transforms, and models for geospatial data.

    TorchGeo is a PyTorch domain library, similar to torchvision, that provides
    datasets, transforms, samplers, and pre-trained models specific to geospatial data.
    """

    homepage = "https://github.com/microsoft/torchgeo"
    pypi = "torchgeo/torchgeo-0.1.0.tar.gz"
    git = "https://github.com/microsoft/torchgeo.git"

    maintainers = ['adamjstewart', 'calebrob6']

    version('main', branch='main')
    version('0.3.0', sha256='3d98fd58e6678555592a596bd079ed5a8b4959996ff7718d7caa48d47815b6b0')
    version('0.2.1', sha256='218bd5aed7680244688dbf0f1398f5251ad243267eb19a6a7332668ac779a1cc')
    version('0.2.0', sha256='968c4bf68c7e487bf495f2f306d8bb0f5824eb67e24b26772a510e753e04ba4c')
    version('0.1.1', sha256='6e28132f75e9d8cb3a3a0e8b443aba3cde26c8f3140b9426139ee6e8f8058b26')
    version('0.1.0', sha256='44eb3cf10ab2ac63ff95e92fcd3807096bac3dcb9bdfe15a8edac9d440d2f323')

    variant('datasets', default=False, description='Install optional dataset dependencies')
    variant('docs', default=False, description='Install documentation dependencies')
    variant('style', default=False, description='Install style checking tools')
    variant('tests', default=False, description='Install testing tools')

    # 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:63', type='build')
    depends_on('py-dataclasses', when='@0.2 ^python@3.6', type=('build', 'run'))
    depends_on('py-einops@0.3:0.4', 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.4:0.6', when='@0.3:', type=('build', 'run'))
    depends_on('py-kornia@0.5.11:0.6', when='@0.2', type=('build', 'run'))
    depends_on('py-kornia@0.5.4:0.6', when='@0.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', 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.3:', type=('build', 'run'))
    depends_on('py-pytorch-lightning@1.3:1', 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', type=('build', 'run'))
    depends_on('py-shapely@1.3:1', type=('build', 'run'))
    depends_on('py-timm@0.4.12:0.4', type=('build', 'run'))
    depends_on('py-torch@1.9:1', when='@0.2:', type=('build', 'run'))
    depends_on('py-torch@1.7:1', when='@0.1', type=('build', 'run'))
    depends_on('py-torchmetrics@0.7:0.9', when='@0.2.2:', 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.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'))

    # Optional dependencies
    with when('+datasets'):
        depends_on('py-h5py@2.6:3', type='run')
        depends_on('py-laspy@2', when='@0.2:', type='run')
        depends_on('libtiff+jpeg+zlib', type='run')
        depends_on('open3d@0.11.2:0.14+python', when='@0.2:', type='run')
        depends_on('opencv@3.4.2.17:4+python3+imgcodecs+tiff+jpeg+png', type='run')
        depends_on('py-pandas@0.23.2:1', when='@0.3:', 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-radiant-mlhub@0.2.1:0.5', type='run')
        depends_on('py-rarfile@3: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')

    with when('+docs'):
        depends_on('py-ipywidgets@7', type='run')
        depends_on('py-nbsphinx@0.8.5:0.8', 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:22+jupyter', when='@0.3:', type='run')
        depends_on('py-black@21:22', when='@:0.2', type='run')
        depends_on('py-flake8@3.8:4', type='run')
        depends_on('py-isort@5.8:5+colors', type='run')
        depends_on('py-pydocstyle@6.1:6+toml', type='run')

    with when('+tests'):
        depends_on('py-mypy@0.900:0.961', type='run')
        depends_on('py-nbmake@0.1:1.1', type='run')
        depends_on('py-pytest@6.1.2:7', type='run')
        depends_on('py-pytest-cov@2.4:3', type='run')