From 158ddf72cfa7f72d60879bd9839af96435d2df40 Mon Sep 17 00:00:00 2001 From: "Adam J. Stewart" Date: Wed, 21 May 2025 01:22:11 +0200 Subject: [PATCH] py-datacube: add v1.9.3 (#50526) --- .../builtin/packages/py_datacube/package.py | 89 +++++++++---------- .../builtin/packages/py_deprecat/package.py | 19 ++++ .../builtin/packages/py_odc_geo/package.py | 25 ++++-- 3 files changed, 81 insertions(+), 52 deletions(-) create mode 100644 var/spack/repos/spack_repo/builtin/packages/py_deprecat/package.py diff --git a/var/spack/repos/spack_repo/builtin/packages/py_datacube/package.py b/var/spack/repos/spack_repo/builtin/packages/py_datacube/package.py index f74818547c2..4df9d773421 100644 --- a/var/spack/repos/spack_repo/builtin/packages/py_datacube/package.py +++ b/var/spack/repos/spack_repo/builtin/packages/py_datacube/package.py @@ -13,53 +13,52 @@ class PyDatacube(PythonPackage): homepage = "https://github.com/opendatacube/datacube-core" pypi = "datacube/datacube-1.8.3.tar.gz" + license("Apache-2.0") maintainers("adamjstewart") - license("Apache-2.0") - + version("1.9.3", sha256="f85fc33418874070710f11dae54d8e5570102973d5b12638142a51f5514f4360") version("1.8.3", sha256="d1e1a49c615fdaebf6e6008da7f925bc09e9d7bf94f259a1c596d266d1c36649") - # Excluding 'datacube.utils.aws' since it requires 'boto3' - import_modules = [ - "datacube_apps", - "datacube_apps.stacker", - "datacube", - "datacube.ui", - "datacube.drivers", - "datacube.drivers.rio", - "datacube.drivers.postgres", - "datacube.drivers.netcdf", - "datacube.utils", - "datacube.utils.rio", - "datacube.utils.geometry", - "datacube.storage", - "datacube.execution", - "datacube.virtual", - "datacube.scripts", - "datacube.model", - "datacube.api", - "datacube.index", - "datacube.testutils", - ] + with default_args(type="build"): + depends_on("py-setuptools@69:", when="@1.9:") + depends_on("py-setuptools@42:") + depends_on("py-setuptools-scm@3.4:+toml") - depends_on("python@3.6:", type=("build", "run")) - depends_on("py-setuptools", type=("build", "run")) - depends_on("py-affine", type=("build", "run")) - depends_on("py-pyproj@2.5:", type=("build", "run")) - depends_on("py-shapely@1.6.4:", type=("build", "run")) - depends_on("py-cachetools", type=("build", "run")) - depends_on("py-click@5.0:", type=("build", "run")) - depends_on("py-cloudpickle@0.4:", type=("build", "run")) - depends_on("py-dask+array", type=("build", "run")) - depends_on("py-distributed", type=("build", "run")) - depends_on("py-jsonschema", type=("build", "run")) - depends_on("py-netcdf4", type=("build", "run")) - depends_on("py-numpy", type=("build", "run")) - depends_on("py-psycopg2", type=("build", "run")) - depends_on("py-lark@0.6.7:", type=("build", "run")) - depends_on("py-python-dateutil", type=("build", "run")) - depends_on("py-pyyaml", type=("build", "run")) - depends_on("py-rasterio@1.0.2:", type=("build", "run")) - depends_on("py-sqlalchemy", type=("build", "run")) - depends_on("py-toolz", type=("build", "run")) - depends_on("py-xarray@0.9:", type=("build", "run")) + with default_args(type=("build", "run")): + depends_on("python@3.10:", when="@1.9:") + depends_on("py-affine") + depends_on("py-alembic", when="@1.9:") + depends_on("py-antimeridian", when="@1.9:") + depends_on("py-attrs@18.1:", when="@1.9:") + depends_on("py-cachetools") + depends_on("py-click@5:") + depends_on("py-cloudpickle@0.4:") + depends_on("py-dask+array") + depends_on("py-deprecat", when="@1.9:") + depends_on("py-distributed") + depends_on("py-geoalchemy2", when="@1.9:") + depends_on("py-jsonschema@4.18:", when="@1.9:") + depends_on("py-jsonschema") + depends_on("py-lark", when="@1.9:") + depends_on("py-lark@0.6.7:", when="@:1.8") + depends_on("py-numpy@1.26:", when="@1.9:") + depends_on("py-numpy") + depends_on("py-odc-geo@0.4.8:", when="@1.9:") + depends_on("py-packaging", when="@1.9:") + depends_on("py-pandas", when="@1.9:") + depends_on("py-pyproj@2.5:") + depends_on("py-python-dateutil") + depends_on("py-pyyaml") + depends_on("py-rasterio@1.3.11:", when="@1.9:") + depends_on("py-rasterio@1.0.2:") + depends_on("py-ruamel-yaml", when="@1.9:") + depends_on("py-shapely@2:", when="@1.9:") + depends_on("py-shapely@1.6.4:") + depends_on("py-sqlalchemy@2:", when="@1.9:") + depends_on("py-sqlalchemy") + depends_on("py-toolz") + depends_on("py-xarray@0.9:") + + # Historical dependencies + depends_on("py-netcdf4", when="@:1.8") + depends_on("py-psycopg2", when="@:1.8") diff --git a/var/spack/repos/spack_repo/builtin/packages/py_deprecat/package.py b/var/spack/repos/spack_repo/builtin/packages/py_deprecat/package.py new file mode 100644 index 00000000000..c7f97d96b64 --- /dev/null +++ b/var/spack/repos/spack_repo/builtin/packages/py_deprecat/package.py @@ -0,0 +1,19 @@ +# Copyright Spack Project Developers. See COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack.package import * + + +class PyDeprecat(PythonPackage): + """Python @deprecat decorator to deprecate old python classes, functions or methods.""" + + homepage = "https://github.com/mjhajharia/deprecat" + pypi = "deprecat/deprecat-2.1.3.tar.gz" + + license("MIT") + + version("2.1.3", sha256="d93cdd493af68981f0c7d198c2b9df2358ead5e54ce3e671a3522af8785917e8") + + depends_on("py-setuptools", type="build") + depends_on("py-wrapt@1.10:1", type=("build", "run")) diff --git a/var/spack/repos/spack_repo/builtin/packages/py_odc_geo/package.py b/var/spack/repos/spack_repo/builtin/packages/py_odc_geo/package.py index 9e4cfa11eff..79ededf058c 100644 --- a/var/spack/repos/spack_repo/builtin/packages/py_odc_geo/package.py +++ b/var/spack/repos/spack_repo/builtin/packages/py_odc_geo/package.py @@ -11,16 +11,27 @@ class PyOdcGeo(PythonPackage): """Geometry Classes and Operations (opendatacube).""" homepage = "https://github.com/opendatacube/odc-geo/" - pypi = "odc-geo/odc-geo-0.1.2.tar.gz" + pypi = "odc-geo/odc_geo-0.1.2.tar.gz" license("Apache-2.0") + version("0.4.10", sha256="5670a797c4243e9379b20905ea37ff23ad287e7fa37c672dc53546923daf6d52") version("0.1.2", sha256="c5ec3c66a326b138df5a28aa639b1c2c3c644093af463948255219bdc2513408") - depends_on("python@3.8:", type=("build", "run")) depends_on("py-setuptools@51:", type="build") - depends_on("py-affine", type=("build", "run")) - depends_on("py-cachetools", type=("build", "run")) - depends_on("py-numpy", type=("build", "run")) - depends_on("py-pyproj", type=("build", "run")) - depends_on("py-shapely", type=("build", "run")) + + with default_args(type=("build", "run")): + depends_on("py-affine") + depends_on("py-cachetools") + depends_on("py-numpy") + depends_on("py-pyproj@3:", when="@0.4:") + depends_on("py-pyproj") + depends_on("py-shapely") + + def url_for_version(self, version): + url = "https://files.pythonhosted.org/packages/source/o/odc-geo/{}-{}.tar.gz" + if version >= Version("0.4.4"): + name = "odc_geo" + else: + name = "odc-geo" + return url.format(name, version)