summaryrefslogtreecommitdiff
path: root/var/spack/repos/builtin/packages/py-cfgrib/package.py
blob: 16542ffd6797ddb6a4d0ef36eee78367cb37865e (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
# 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 PyCfgrib(PythonPackage):
    """Python interface to map GRIB files to the NetCDF Common Data Model
    following the CF Convention using ecCodes."""

    homepage = "https://github.com/ecmwf/cfgrib"
    pypi = "cfgrib/cfgrib-0.9.8.5.tar.gz"

    license("Apache-2.0")

    version("0.9.9.0", sha256="6ff0227df9c5ee34aa7d6ab1f7af3fbe6838523a8a9891c74040b419b03ad289")
    version("0.9.8.5", sha256="07c224d7ac823a1df5738b96b9d3621515538f51f67e55044f9cc8ec1668e1bd")

    # Warning: can create infinite dependency loop with xarray+io ^cfgrib+xarray
    variant("xarray", default=False, description="Add xarray support")

    depends_on("python@3.5:", type=("build", "run"))
    depends_on("py-setuptools", type="build")
    depends_on("py-pytest-runner", when="@0.9.8.5", type="build")
    depends_on("py-attrs@19.2:", type=("build", "run"))
    depends_on("py-cffi", when="@0.9.8.5", type=("build", "run"))
    depends_on("py-click", type=("build", "run"))
    depends_on("py-eccodes", type=("build", "run"))
    depends_on("py-numpy", type=("build", "run"))
    depends_on("py-xarray@0.12.0:", when="+xarray", type=("build", "run"))

    @property
    def import_modules(self):
        modules = ["cfgrib"]

        if "+xarray" in self.spec:
            modules.append("cf2cdm")

        return modules