Skip to content

Commit b808338

Browse files
authored
py-uxarray: new package plus dependencies (spack#47573)
* Add [email protected] * Add [email protected] * Add [email protected] * New package py-datashader * New package py-geoviews * New package py-holoviews * WIP: new package py-uxarray * New package py-antimeridian * New package py-dask-expr * New package py-spatialpandas * New package py-hvplot * Add dependency on py-dask-expr for '[email protected]: +dataframe' * Added all dependencies for py-uxarray; still having problems with py-dask +dataframe / py-dask-expr * Fix style errors in many packages * Clean up comments and fix style errors in var/spack/repos/builtin/packages/py-dask-expr/package.py * In var/spack/repos/builtin/packages/py-dask/package.py: since 2023.8, the dataframe variant requires the array variant * Fix style errors in py-uxarray package
1 parent 112e47c commit b808338

File tree

12 files changed

+328
-13
lines changed

12 files changed

+328
-13
lines changed
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
# Copyright 2013-2024 Lawrence Livermore National Security, LLC and other
2+
# Spack Project Developers. See the top-level COPYRIGHT file for details.
3+
#
4+
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
5+
6+
from spack.package import *
7+
8+
9+
class PyAntimeridian(PythonPackage):
10+
"""Fix shapes that cross the antimeridian."""
11+
12+
homepage = "https://antimeridian.readthedocs.io/"
13+
pypi = "antimeridian/antimeridian-0.3.11.tar.gz"
14+
git = "https://github.com/gadomski/antimeridian.git"
15+
16+
license("Apache-2.0")
17+
18+
version("0.3.11", sha256="fde0134e6799676ec68765d3e588f5f32cabd4041b1f969b923758d0a6cd0c7f")
19+
20+
depends_on("[email protected]:", type=("build", "run"))
21+
depends_on("py-hatchling", type="build")
22+
23+
depends_on("[email protected]:", type="run")
24+
depends_on("py-shapely@2:", type="run")

var/spack/repos/builtin/packages/py-bokeh/package.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ class PyBokeh(PythonPackage):
1414

1515
license("BSD-3-Clause")
1616

17+
version("3.5.2", sha256="03a54a67db677b8881834271c620a781b383ae593af5c3ea2149164754440d07")
1718
version("3.3.1", sha256="2a7b3702d7e9f03ef4cd801b02b7380196c70cff2773859bcb84fa565218955c")
1819
version("2.4.3", sha256="ef33801161af379665ab7a34684f2209861e3aefd5c803a21fbbb99d94874b03")
1920
version("2.4.1", sha256="d0410717d743a0ac251e62480e2ea860a7341bdcd1dbe01499a904f233c90512")
@@ -33,6 +34,7 @@ class PyBokeh(PythonPackage):
3334
depends_on("[email protected]:", type=("build", "run"), when="@2.4.0:")
3435
depends_on("[email protected]:", type=("build", "run"), when="@3.0.0:")
3536
depends_on("[email protected]:", type=("build", "run"), when="@3.2.0:")
37+
depends_on("[email protected]:", type=("build", "run"), when="@3.5.0:")
3638

3739
depends_on("[email protected]:", type=("build", "run"), when="@0.12.2")
3840
depends_on("[email protected]:", type=("build", "run"), when="@:1.3.4")
@@ -42,6 +44,7 @@ class PyBokeh(PythonPackage):
4244
depends_on("[email protected]:", type=("build", "run"), when="@2.3.3:")
4345

4446
depends_on("py-contourpy@1:", type=("build", "run"), when="@3:")
47+
depends_on("[email protected]:", type=("build", "run"), when="@3.5:")
4548

4649
depends_on("[email protected]:", type=("build", "run"))
4750
depends_on("[email protected]:", type=("build", "run"), when="@2.3.3:")
@@ -60,6 +63,7 @@ class PyBokeh(PythonPackage):
6063

6164
depends_on("[email protected]:", type=("build", "run"))
6265
depends_on("[email protected]:", type=("build", "run"), when="@2.3.3:")
66+
depends_on("[email protected]:", type=("build", "run"), when="@3.5:")
6367

6468
depends_on("[email protected]:", type=("build", "run"), when="@2.3.3:3.0.0")
6569
depends_on("[email protected]:", type=("build", "run"), when="@2.4.0:3.0.0")
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
# Copyright 2013-2024 Lawrence Livermore National Security, LLC and other
2+
# Spack Project Developers. See the top-level COPYRIGHT file for details.
3+
#
4+
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
5+
6+
from spack.package import *
7+
8+
9+
class PyDaskExpr(PythonPackage):
10+
"""Dask DataFrames with query optimization."""
11+
12+
homepage = "https://github.com/dask/dask-expr"
13+
url = "https://github.com/dask/dask-expr/archive/refs/tags/v1.1.9.tar.gz"
14+
15+
license("BSD-3-Clause")
16+
17+
version("1.1.9", sha256="e5a1b82de1142c29fed899a80541a98ca5e12cb85ce9d86bc8ada204a22599d3")
18+
19+
depends_on("[email protected]:", type=("build", "run"))
20+
depends_on("[email protected]:", type="build")
21+
depends_on("[email protected]+toml", type="build")
22+
23+
# Can't do circular run-time dependencies yet?
24+
# depends_on("[email protected]", type="run")
25+
depends_on("py-pyarrow@7: +dataset", type="run")
26+
depends_on("py-pandas@2:", type="run")

var/spack/repos/builtin/packages/py-dask/package.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,8 @@ class PyDask(PythonPackage):
3838
description="Install requirements for dask.delayed (dask.imperative)",
3939
)
4040

41+
conflicts("~array", when="@2023.8: +dataframe", msg="From 2023.8, +dataframe requires +array")
42+
4143
depends_on("[email protected]:", type=("build", "run"), when="@2022.10.2:")
4244

4345
depends_on("py-setuptools", type="build")
@@ -99,6 +101,9 @@ class PyDask(PythonPackage):
99101
depends_on("[email protected]:", type=("build", "run"), when="@:2021.3.0 +dataframe")
100102
# The dependency on py-fsspec is non-optional starting version 2021.3.1
101103
depends_on("[email protected]:", type=("build", "run"), when="@:2021.3.0 +dataframe")
104+
# Starting with version 2024.3.0, dataframe requires a separate package py-dask-expr
105+
depends_on("py-dask-expr", type=("build", "run"), when="@2024.3: +dataframe")
106+
depends_on("[email protected]", type=("build", "run"), when="@2024.7.1 +dataframe")
102107

103108
# Requirements for dask.distributed
104109
depends_on(
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
# Copyright 2013-2024 Lawrence Livermore National Security, LLC and other
2+
# Spack Project Developers. See the top-level COPYRIGHT file for details.
3+
#
4+
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
5+
6+
from spack.package import *
7+
8+
9+
class PyDatashader(PythonPackage):
10+
"""Datashader is a data rasterization pipeline for automating the process of creating
11+
meaningful representations of large amounts of data"""
12+
13+
homepage = "https://datashader.org"
14+
pypi = "datashader/datashader-0.16.3.tar.gz"
15+
git = "https://github.com/holoviz/datashader.git"
16+
17+
license("BSD-3-Clause", checked_by="climbfuji")
18+
19+
version("0.16.3", sha256="9d0040c7887f7a5a5edd374c297402fd208a62bf6845e87631b54f03b9ae479d")
20+
21+
# pyproject.toml
22+
depends_on("[email protected]:", type=("build", "run"))
23+
depends_on("py-pyct", type=("build", "run"))
24+
depends_on("py-hatchling", type="build")
25+
depends_on("py-hatch-vcs", type="build")
26+
depends_on("py-param", type=("build", "run"))
27+
28+
depends_on("py-colorcet", type="run")
29+
depends_on("py-dask", type="run")
30+
depends_on("py-multipledispatch", type="run")
31+
depends_on("py-numba", type="run")
32+
depends_on("py-numpy", type="run")
33+
depends_on("py-packaging", type="run")
34+
depends_on("py-pandas", type="run")
35+
depends_on("py-pillow", type="run")
36+
depends_on("py-requests", type="run")
37+
depends_on("py-scipy", type="run")
38+
depends_on("py-toolz", type="run")
39+
depends_on("py-xarray", type="run")
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
# Copyright 2013-2024 Lawrence Livermore National Security, LLC and other
2+
# Spack Project Developers. See the top-level COPYRIGHT file for details.
3+
#
4+
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
5+
6+
from spack.package import *
7+
8+
9+
class PyGeoviews(PythonPackage):
10+
"""A Python library designed to make data analysis and visualization seamless and simple."""
11+
12+
homepage = "https://geoviews.org/"
13+
pypi = "geoviews/geoviews-1.13.0.tar.gz"
14+
git = "https://github.com/holoviz/geoviews.git"
15+
16+
license("BSD-3-Clause", checked_by="climbfuji")
17+
18+
version("1.13.0", sha256="7554a1e9114995acd243546fac6c6c7f157fc28529fde6ab236a72a6e77fe0bf")
19+
# version("1.12.0", sha256="e2cbef0605e8fd1529bc643a31aeb61997f8f93c9b41a5aff8b2b355a76fa789")
20+
21+
depends_on("[email protected]:", type=("build", "run"))
22+
depends_on("py-hatchling", type="build")
23+
depends_on("py-hatch-vcs", type="build")
24+
depends_on("[email protected]", type=("build", "run"))
25+
26+
depends_on("[email protected]:", type="run")
27+
depends_on("[email protected]:", type="run")
28+
depends_on("py-numpy", type="run")
29+
depends_on("py-packaging", type="run")
30+
depends_on("py-panel@1:", type="run")
31+
depends_on("py-param", type="run")
32+
depends_on("py-pyproj", type="run")
33+
depends_on("py-shapely", type="run")
34+
depends_on("py-xyzservices", type="run")
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
# Copyright 2013-2024 Lawrence Livermore National Security, LLC and other
2+
# Spack Project Developers. See the top-level COPYRIGHT file for details.
3+
#
4+
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
5+
6+
from spack.package import *
7+
8+
9+
class PyHoloviews(PythonPackage):
10+
"""A Python library designed to make data analysis and visualization seamless and simple."""
11+
12+
homepage = "https://holoviews.org/"
13+
pypi = "holoviews/holoviews-1.19.1.tar.gz"
14+
git = "https://github.com/holoviz/holoviews.git"
15+
16+
license("BSD-3-Clause", checked_by="climbfuji")
17+
18+
version("1.19.1", sha256="b9e85e8c07275a456c0ef8d06bc157d02b37eff66fb3602aa12f5c86f084865c")
19+
# version("1.19.0", sha256="cab1522f75a9b46377f9364b675befd79812e220059714470a58e21475d531ba")
20+
21+
depends_on("[email protected]:", type=("build", "run"))
22+
depends_on("py-hatchling", type="build")
23+
depends_on("py-hatch-vcs", type="build")
24+
25+
depends_on("[email protected]:", type="run")
26+
depends_on("py-colorcet", type="run")
27+
depends_on("[email protected]:", type="run")
28+
depends_on("py-packaging", type="run")
29+
depends_on("[email protected]:", type="run")
30+
depends_on("py-panel@1:", type="run")
31+
depends_on("py-param@2", type="run")
32+
depends_on("[email protected]:", type="run")
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
# Copyright 2013-2024 Lawrence Livermore National Security, LLC and other
2+
# Spack Project Developers. See the top-level COPYRIGHT file for details.
3+
#
4+
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
5+
6+
from spack.package import *
7+
8+
9+
class PyHvplot(PythonPackage):
10+
"""A high-level plotting API for pandas, dask, xarray, and networkx built on HoloViews."""
11+
12+
homepage = "https://hvplot.holoviz.org/"
13+
pypi = "hvplot/hvplot-1.19.1.tar.gz"
14+
git = "http://github.com/holoviz/hvplot.git"
15+
16+
license("BSD-3-Clause", checked_by="climbfuji")
17+
18+
version("0.11.1", sha256="989ed0389189adc47edcd2601d2eab18bf366e74b07f5e2873e021323c4a14bb")
19+
20+
depends_on("[email protected]:", type=("build", "run"))
21+
depends_on("[email protected]:", type="build")
22+
depends_on("py-setuptools-scm@6:", type="build")
23+
24+
depends_on("[email protected]:", type="run")
25+
depends_on("py-colorcet", type="run")
26+
depends_on("[email protected]:", type="run")
27+
depends_on("[email protected]:", type="run")
28+
depends_on("py-packaging", type="run")
29+
depends_on("[email protected]:", type="run")
30+
depends_on("py-panel@1:", type="run")
31+
depends_on("[email protected]:2", type="run")

var/spack/repos/builtin/packages/py-panel/package.py

Lines changed: 38 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -14,16 +14,43 @@ class PyPanel(PythonPackage):
1414

1515
license("BSD-3-Clause")
1616

17+
version("1.5.2", sha256="30a45f314716bdde2de5c002fbd3a0b4d6ff85459e2179284df559455ff1534b")
1718
version("0.14.4", sha256="b853d2f53d7738ec6372525360c5bf9427a71ed990685ccac703bc9b442e9951")
1819

19-
depends_on("[email protected]:", type=("build", "run"))
20-
depends_on("[email protected]:", type=("build", "run"))
21-
depends_on("py-setuptools@42:", type=("build", "run"))
22-
depends_on("[email protected]:2.4", type=("build", "run"))
23-
depends_on("[email protected]:", type=("build", "run"))
24-
depends_on("py-requests", type=("build", "run"))
25-
depends_on("py-bleach", type=("build", "run"))
26-
depends_on("py-packaging", type="build")
27-
depends_on("[email protected]:", type=("build", "run"))
28-
depends_on("py-markdown", type=("build", "run"))
29-
depends_on("py-typing-extensions", type=("build", "run"))
20+
with when("@0.14.4"):
21+
depends_on("[email protected]:", type=("build", "run"))
22+
depends_on("[email protected]:", type=("build", "run"))
23+
depends_on("py-setuptools@42:", type=("build", "run"))
24+
depends_on("[email protected]:2.4", type=("build", "run"))
25+
depends_on("[email protected]:", type=("build", "run"))
26+
depends_on("py-requests", type=("build", "run"))
27+
depends_on("py-bleach", type=("build", "run"))
28+
depends_on("py-packaging", type="build")
29+
depends_on("[email protected]:", type=("build", "run"))
30+
depends_on("py-markdown", type=("build", "run"))
31+
depends_on("py-typing-extensions", type=("build", "run"))
32+
33+
with when("@1.5.2"):
34+
depends_on("[email protected]:", type=("build", "run"))
35+
depends_on("py-hatchling", type="build")
36+
depends_on("py-hatch-vcs", type="build")
37+
depends_on("[email protected]:2", type=("build", "run"))
38+
depends_on("[email protected]:3.6", type=("build", "run"))
39+
depends_on("py-pyviz-comms@2:", type=("build", "run"))
40+
depends_on("py-requests", type=("build", "run"))
41+
depends_on("py-packaging", type=("build", "run"))
42+
# Version 18 or later are requested by py-panel
43+
depends_on("node-js@18:", type=("build", "run"))
44+
# Version 9 is not requested explicitly, it's
45+
# a guess that the more recent version of node-js
46+
# should go with a more recent version of npm
47+
depends_on("npm@9:", type=("build", "run"))
48+
49+
depends_on("py-markdown", type="run")
50+
depends_on("py-markdown-it-py", type="run")
51+
depends_on("py-linkify-it-py", type="run")
52+
depends_on("py-mdit-py-plugins", type="run")
53+
depends_on("py-bleach", type="run")
54+
depends_on("py-typing-extensions", type="run")
55+
depends_on("[email protected]:", type="run")
56+
depends_on("py-tqdm", type="run")

var/spack/repos/builtin/packages/py-param/package.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,13 @@ class PyParam(PythonPackage):
1919

2020
license("BSD-3-Clause")
2121

22+
version("2.1.1", sha256="3b1da14abafa75bfd908572378a58696826b3719a723bc31b40ffff2e9a5c852")
2223
version("1.12.0", sha256="35d0281c8e3beb6dd469f46ff0b917752a54bed94d1b0c567346c76d0ff59c4a")
2324

24-
depends_on("[email protected]:", type=("build", "run"))
25-
depends_on("py-setuptools", type="build")
25+
depends_on("[email protected]:", when="@1", type=("build", "run"))
26+
depends_on("[email protected]:", when="@2:", type=("build", "run"))
27+
28+
depends_on("py-setuptools", when="@1", type="build")
29+
30+
depends_on("py-hatchling", when="@2", type="build")
31+
depends_on("py-hatch-vcs", when="@2", type="build")

0 commit comments

Comments
 (0)