From a7d5cc6d68f16f8a945c253d5c8e94c1475b30d4 Mon Sep 17 00:00:00 2001 From: Maciej Wójcik Date: Sun, 18 Feb 2024 10:15:02 +0100 Subject: py-google-...: add new versions and few new packages (#42671) * py-google-cloud-storage: add new versions * py-google-api-core: add new versions * py-proto-plus: add new package * py-google-api-core: add grpc variant * py-google-api-core: add grpc variant * py-google-api-core: add missing prefix * py-google-cloud-batch: add new package * py-google-cloud-logging: add new package * py-google-cloud-appengine-logging: add new package * py-google-cloud-audit-log: add new package * py-grpc-google-iam-v1: add new package * py-proto-plus: remove obvious dependency * Whitespace * Whitespace * py-google-cloud-audit-log: correct conflict * py-proto-plus: correct dependency type * Whitespace * py-google-auth: add new version * py-google-resumable-media: add new version * py-google-cloud-storage: constrain version of dependency Co-authored-by: Adam J. Stewart * py-grpcio-status: use newer version * py-google-resumable-media: add upper bound of dependency * Add types of dependencies. * py-grpcio: add new version --------- Co-authored-by: Adam J. Stewart --- .../builtin/packages/py-google-api-core/package.py | 29 +++++++++++++++++-- .../builtin/packages/py-google-auth/package.py | 6 ++-- .../py-google-cloud-appengine-logging/package.py | 30 ++++++++++++++++++++ .../packages/py-google-cloud-audit-log/package.py | 26 +++++++++++++++++ .../packages/py-google-cloud-batch/package.py | 33 ++++++++++++++++++++++ .../packages/py-google-cloud-logging/package.py | 32 +++++++++++++++++++++ .../packages/py-google-cloud-storage/package.py | 14 +++++++-- .../packages/py-google-resumable-media/package.py | 3 +- .../py-googleapis-common-protos/package.py | 15 +++++++++- .../packages/py-grpc-google-iam-v1/package.py | 31 ++++++++++++++++++++ .../builtin/packages/py-grpcio-status/package.py | 25 ++++++++++++++++ .../repos/builtin/packages/py-grpcio/package.py | 1 + .../builtin/packages/py-proto-plus/package.py | 19 +++++++++++++ 13 files changed, 256 insertions(+), 8 deletions(-) create mode 100644 var/spack/repos/builtin/packages/py-google-cloud-appengine-logging/package.py create mode 100644 var/spack/repos/builtin/packages/py-google-cloud-audit-log/package.py create mode 100644 var/spack/repos/builtin/packages/py-google-cloud-batch/package.py create mode 100644 var/spack/repos/builtin/packages/py-google-cloud-logging/package.py create mode 100644 var/spack/repos/builtin/packages/py-grpc-google-iam-v1/package.py create mode 100644 var/spack/repos/builtin/packages/py-grpcio-status/package.py create mode 100644 var/spack/repos/builtin/packages/py-proto-plus/package.py diff --git a/var/spack/repos/builtin/packages/py-google-api-core/package.py b/var/spack/repos/builtin/packages/py-google-api-core/package.py index be636c3553..f0ad49eed8 100644 --- a/var/spack/repos/builtin/packages/py-google-api-core/package.py +++ b/var/spack/repos/builtin/packages/py-google-api-core/package.py @@ -9,8 +9,8 @@ from spack.package import * class PyGoogleApiCore(PythonPackage): """Google API client core library.""" - homepage = "https://github.com/GoogleCloudPlatform/google-cloud-python" - pypi = "google-api-core/google-api-core-1.14.2.tar.gz" + homepage = "https://github.com/googleapis/python-api-core" + pypi = "google-api-core/google-api-core-2.17.0.tar.gz" # 'google.api_core.operations_v1' and 'google.api_core.gapic_v1' require 'grpc'. # Leave them out of 'import_modules' to avoid optional dependency. @@ -18,9 +18,22 @@ class PyGoogleApiCore(PythonPackage): license("Apache-2.0") + version("2.17.0", sha256="de7ef0450faec7c75e0aea313f29ac870fdc44cfaec9d6499a9a17305980ef66") + version("2.16.2", sha256="032d37b45d1d6bdaf68fb11ff621e2593263a239fa9246e2e94325f9c47876d2") + version("2.15.0", sha256="abc978a72658f14a2df1e5e12532effe40f94f868f6e23d95133bd6abcca35ca") + version("2.14.0", sha256="5368a4502b793d9bbf812a5912e13e4e69f9bd87f6efb508460c43f5bbd1ce41") + version("2.13.1", sha256="f2bcb43c98329f558dd13b3cd745cef04f07a107446f4f2bfc69adf09b02b994") + version("2.12.0", sha256="c22e01b1e3c4dcd90998494879612c38d0a3411d1f7b679eb89e2abe3ce1f553") + version("2.11.1", sha256="25d29e05a0058ed5f19c61c0a78b1b53adea4d9364b464d014fbda941f6d1c9a") version("2.11.0", sha256="4b9bb5d5a380a0befa0573b302651b8a9a89262c1730e37bf423cec511804c22") version("1.14.2", sha256="2c23fbc81c76b941ffb71301bb975ed66a610e9b03f918feacd1ed59cf43a6ec") + variant( + "grpc", + default=False, + description="Enable support for gRPC Remote Procedure Call framework.", + ) + with when("@2:"): depends_on("py-setuptools", type=("build", "run")) depends_on("py-googleapis-common-protos@1.56.2:1", type=("build", "run")) @@ -28,6 +41,12 @@ class PyGoogleApiCore(PythonPackage): depends_on("py-google-auth@2.14.1:2", type=("build", "run")) depends_on("py-requests@2.18:2", type=("build", "run")) + with when("+grpc"): + depends_on("py-grpcio-status@1.49.1:1", when="^python@3.11:", type="run") + depends_on("py-grpcio-status@1.33.2:1", when="@2.2.0:", type="run") + depends_on("py-grpcio@1.49.1:1", when="^python@3.11:", type="run") + depends_on("py-grpcio@1.33.2:1", type="run") + with when("@:1"): depends_on("py-googleapis-common-protos@1.6:1", type=("build", "run")) depends_on("py-protobuf@3.4.0:", type=("build", "run")) @@ -36,3 +55,9 @@ class PyGoogleApiCore(PythonPackage): depends_on("py-setuptools@34.0.0:", type=("build", "run")) depends_on("py-six@1.10.0:", type=("build", "run")) depends_on("py-pytz", type=("build", "run")) + + with when("+grpc"): + depends_on("py-grpcio-status@1.33.2:1", when="@1.33:", type="run") + depends_on("py-grpcio@1.33.2:1", when="@1.33:", type="run") + depends_on("py-grpcio@1.29.0:1", when="@1.19.1", type="run") + depends_on("py-grpcio@1.8.2:1", type="run") diff --git a/var/spack/repos/builtin/packages/py-google-auth/package.py b/var/spack/repos/builtin/packages/py-google-auth/package.py index e115907e96..15ecfb44c9 100644 --- a/var/spack/repos/builtin/packages/py-google-auth/package.py +++ b/var/spack/repos/builtin/packages/py-google-auth/package.py @@ -15,6 +15,7 @@ class PyGoogleAuth(PythonPackage): license("Apache-2.0") + version("2.27.0", sha256="e863a56ccc2d8efa83df7a80272601e43487fa9a728a376205c86c26aaefa821") version("2.20.0", sha256="030af34138909ccde0fbce611afc178f1d65d32fbff281f25738b1fe1c6f3eaa") version("2.16.2", sha256="07e14f34ec288e3f33e00e2e3cc40c8942aa5d4ceac06256a28cd8e786591420") version("2.11.0", sha256="ed65ecf9f681832298e29328e1ef0a3676e3732b2e56f41532d45f70a22de0fb") @@ -30,8 +31,9 @@ class PyGoogleAuth(PythonPackage): depends_on("py-pyasn1-modules@0.2.1:", type=("build", "run")) depends_on("py-rsa@3.1.4:4", when="@2.3:", type=("build", "run")) depends_on("py-rsa@3.1.4:", type=("build", "run")) - depends_on("py-six@1.9:", type=("build", "run")) - depends_on("py-urllib3@:1", when="@2.18:", type=("build", "run")) + depends_on("py-six@1.9:", when="@:2.22", type=("build", "run")) + depends_on("py-urllib3@2.0.5:", when="@2.23.1", type=("build", "run")) + depends_on("py-urllib3@:1", when="@2.18:2.23.0", type=("build", "run")) with when("+aiohttp"): depends_on("py-aiohttp@3.6.2:3", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-google-cloud-appengine-logging/package.py b/var/spack/repos/builtin/packages/py-google-cloud-appengine-logging/package.py new file mode 100644 index 0000000000..7d8eb8c6e3 --- /dev/null +++ b/var/spack/repos/builtin/packages/py-google-cloud-appengine-logging/package.py @@ -0,0 +1,30 @@ +# Copyright 2013-2024 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 PyGoogleCloudAppengineLogging(PythonPackage): + """Google Cloud Appengine Logging API client library.""" + + homepage = "https://googleapis.github.io/google-cloud-python" + pypi = "google_cloud_appengine_logging/google-cloud-appengine-logging-1.4.1.tar.gz" + + license("Apache-2.0") + + version("1.4.1", sha256="9905c7c30c3c2bbedd0b132e2b271fc8247333ebc931d2d23af1bbbd11b435fe") + + # https://github.com/googleapis/google-cloud-python/blob/google-cloud-appengine-logging-v1.4.1/packages/google-cloud-appengine-logging/setup.py + + depends_on("py-google-api-core+grpc@1.34.0:2", type=("build", "run")) + conflicts("py-google-api-core@2.0:2.10") + + depends_on("py-google-auth@2.14.1:2", type=("build", "run")) + depends_on("py-proto-plus@1.22.3:1", type=("build", "run")) + + depends_on("py-protobuf@3.19.5:4", type=("build", "run")) + conflicts("py-protobuf@3.20.0,3.20.1,4.21.0:4.21.5") + + depends_on("py-setuptools", type="build") diff --git a/var/spack/repos/builtin/packages/py-google-cloud-audit-log/package.py b/var/spack/repos/builtin/packages/py-google-cloud-audit-log/package.py new file mode 100644 index 0000000000..533645b37f --- /dev/null +++ b/var/spack/repos/builtin/packages/py-google-cloud-audit-log/package.py @@ -0,0 +1,26 @@ +# Copyright 2013-2024 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 PyGoogleCloudAuditLog(PythonPackage): + """Google Cloud Audit Protos.""" + + homepage = "https://github.com/googleapis/python-audit-log" + pypi = "google_cloud_audit_log/google-cloud-audit-log-0.2.5.tar.gz" + + license("Apache-2.0") + + version("0.2.5", sha256="86e2faba3383adc8fd04a5bd7fd4f960b3e4aedaa7ed950f2f891ce16902eb6b") + + # https://github.com/googleapis/python-audit-log/blob/v0.2.5/setup.py + + depends_on("py-protobuf@3.19.5:4", type=("build", "run")) + conflicts("py-protobuf@3.20.0,3.20.1,4.21.1:4.21.5") + + depends_on("py-googleapis-common-protos@1.56.2:1", type=("build", "run")) + + depends_on("py-setuptools", type="build") diff --git a/var/spack/repos/builtin/packages/py-google-cloud-batch/package.py b/var/spack/repos/builtin/packages/py-google-cloud-batch/package.py new file mode 100644 index 0000000000..1eba2b9d01 --- /dev/null +++ b/var/spack/repos/builtin/packages/py-google-cloud-batch/package.py @@ -0,0 +1,33 @@ +# Copyright 2013-2024 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 PyGoogleCloudBatch(PythonPackage): + """Google Cloud Batch API client library.""" + + homepage = ( + "https://github.com/googleapis/google-cloud-python/tree/main/packages/google-cloud-batch" + ) + + pypi = "google-cloud-batch/google-cloud-batch-0.17.11.tar.gz" + + license("Apache-2.0") + + version("0.17.11", sha256="76e40e0605d3823965f1610210100d9c9b180cd721d11bd57782435d47769a09") + + # https://github.com/googleapis/google-cloud-python/blob/google-cloud-batch-v0.17.11/packages/google-cloud-batch/setup.py + + depends_on("py-google-api-core+grpc@1.34.0:2", type=("build", "run")) + conflicts("py-google-api-core@2.0:2.10") + + depends_on("py-google-auth@2.14.1:2", type=("build", "run")) + depends_on("py-proto-plus@1.22.3:1", type=("build", "run")) + + depends_on("py-protobuf@3.19.5:4", type=("build", "run")) + conflicts("py-protobuf@3.20.0:3.20.1,4.21.0:4.21.5") + + depends_on("py-setuptools", type="build") diff --git a/var/spack/repos/builtin/packages/py-google-cloud-logging/package.py b/var/spack/repos/builtin/packages/py-google-cloud-logging/package.py new file mode 100644 index 0000000000..af83b1d019 --- /dev/null +++ b/var/spack/repos/builtin/packages/py-google-cloud-logging/package.py @@ -0,0 +1,32 @@ +# Copyright 2013-2024 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 PyGoogleCloudLogging(PythonPackage): + """Stackdriver Logging API client library.""" + + homepage = "https://github.com/googleapis/python-logging" + pypi = "google-cloud-logging/google-cloud-logging-3.9.0.tar.gz" + + license("Apache-2.0") + + version("3.9.0", sha256="4decb1b0bed4a0e3c0e58a376646e6002d6be7cad039e3466822e8665072ea33") + + depends_on("py-google-api-core+grpc@1.33.2:2", type=("build", "run")) + conflicts("py-google-api-core@2.0:2.7") + + depends_on("py-google-cloud-appengine-logging@0.1.0:1", type=("build", "run")) + depends_on("py-google-cloud-audit-log@0.1.0:0", type=("build", "run")) + depends_on("py-google-cloud-core@2", type=("build", "run")) + depends_on("py-grpc-google-iam-v1@0.12.4:0", type=("build", "run")) + depends_on("py-proto-plus@1.22.2:1", type=("build", "run"), when="^python@3.11:") + depends_on("py-proto-plus@1.22:1", type=("build", "run")) + + depends_on("py-protobuf@3.19.5:4", type=("build", "run")) + conflicts("py-protobuf@3.20.0:3.20.1,4.21.0:4.21.5") + + depends_on("py-setuptools", type="build") diff --git a/var/spack/repos/builtin/packages/py-google-cloud-storage/package.py b/var/spack/repos/builtin/packages/py-google-cloud-storage/package.py index f62f3f561e..bb4de6eb64 100644 --- a/var/spack/repos/builtin/packages/py-google-cloud-storage/package.py +++ b/var/spack/repos/builtin/packages/py-google-cloud-storage/package.py @@ -9,22 +9,32 @@ from spack.package import * class PyGoogleCloudStorage(PythonPackage): """Google Cloud Storage API client library.""" - homepage = "https://github.com/GoogleCloudPlatform/google-cloud-python" - pypi = "google-cloud-storage/google-cloud-storage-1.18.0.tar.gz" + homepage = "https://github.com/googleapis/python-storage" + pypi = "google-cloud-storage/google-cloud-storage-2.14.0.tar.gz" license("Apache-2.0") + version("2.14.0", sha256="2d23fcf59b55e7b45336729c148bb1c464468c69d5efbaee30f7201dd90eb97e") + version("2.13.0", sha256="f62dc4c7b6cd4360d072e3deb28035fbdad491ac3d9b0b1815a12daea10f37c7") + version("2.12.0", sha256="57c0bcda2f5e11f008a155d8636d8381d5abab46b58e0cae0e46dd5e595e6b46") + version("2.11.0", sha256="6fbf62659b83c8f3a0a743af0d661d2046c97c3a5bfb587c4662c4bc68de3e31") + version("2.10.0", sha256="934b31ead5f3994e5360f9ff5750982c5b6b11604dc072bc452c25965e076dc7") + version("2.9.0", sha256="9b6ae7b509fc294bdacb84d0f3ea8e20e2c54a8b4bbe39c5707635fec214eff3") + version("2.8.0", sha256="4388da1ff5bda6d729f26dbcaf1bfa020a2a52a7b91f0a8123edbda51660802c") version("2.7.0", sha256="1ac2d58d2d693cb1341ebc48659a3527be778d9e2d8989697a2746025928ff17") version("1.18.0", sha256="9fb3dc68948f4c893c2b16f5a3db3daea2d2f3b8e9d5c2d505fe1523758009b6") depends_on("py-setuptools", type="build") with when("@2:"): + depends_on("py-google-auth@2.23.3:2", type=("build", "run"), when="@2.12:") depends_on("py-google-auth@1.25:2", type=("build", "run")) depends_on("py-google-api-core@1.31.5:1,2.3.1:2", type=("build", "run")) depends_on("py-google-cloud-core@2.3:2", type=("build", "run")) + depends_on("py-google-resumable-media@2.6:", type=("build", "run"), when="@2.11:") depends_on("py-google-resumable-media@2.3.2:", type=("build", "run")) depends_on("py-requests@2.18:2", type=("build", "run")) + depends_on("py-google-crc32c@1", type=("build", "run"), when="@2.12:") with when("@:1"): depends_on("py-google-auth@1.2.0:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-google-resumable-media/package.py b/var/spack/repos/builtin/packages/py-google-resumable-media/package.py index 1ccd243485..ef79bfb548 100644 --- a/var/spack/repos/builtin/packages/py-google-resumable-media/package.py +++ b/var/spack/repos/builtin/packages/py-google-resumable-media/package.py @@ -14,9 +14,10 @@ class PyGoogleResumableMedia(PythonPackage): license("Apache-2.0") + version("2.7.0", sha256="5f18f5fa9836f4b083162064a1c2c98c17239bfda9ca50ad970ccf905f3e625b") version("2.4.1", sha256="15b8a2e75df42dc6502d1306db0bce2647ba6013f9cd03b6e17368c0886ee90a") version("0.3.2", sha256="3e38923493ca0d7de0ad91c31acfefc393c78586db89364e91cb4f11990e51ba") depends_on("py-setuptools", type="build") - depends_on("py-google-crc32c@1:", when="@2:", type=("build", "run")) + depends_on("py-google-crc32c@1", when="@2:", type=("build", "run")) depends_on("py-six", when="@0", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-googleapis-common-protos/package.py b/var/spack/repos/builtin/packages/py-googleapis-common-protos/package.py index 2bc2e4f57d..b3529b2ffc 100644 --- a/var/spack/repos/builtin/packages/py-googleapis-common-protos/package.py +++ b/var/spack/repos/builtin/packages/py-googleapis-common-protos/package.py @@ -9,7 +9,7 @@ from spack.package import * class PyGoogleapisCommonProtos(PythonPackage): """Common protobufs used in Google APIs.""" - homepage = "https://github.com/googleapis/googleapis" + homepage = "https://github.com/googleapis/python-api-common-protos" pypi = "googleapis-common-protos/googleapis-common-protos-1.6.0.tar.gz" license("Apache-2.0") @@ -18,6 +18,19 @@ class PyGoogleapisCommonProtos(PythonPackage): version("1.55.0", sha256="53eb313064738f45d5ac634155ae208e121c963659627b90dfcb61ef514c03e1") version("1.6.0", sha256="e61b8ed5e36b976b487c6e7b15f31bb10c7a0ca7bd5c0e837f4afab64b53a0c6") + # https://github.com/googleapis/python-api-common-protos/blob/v1.58.0/setup.py + + variant( + "grpc", + default=False, + description="Enable support for gRPC Remote Procedure Call framework.", + ) + + with when("+grpc"): + depends_on("py-grpcio@1.44:1", when="@1.57:", type="run") + depends_on("py-grpcio@1", when="@1.56.2:", type="run") + depends_on("py-grpcio@1:", type="run") + depends_on("py-setuptools", type="build") depends_on( "py-protobuf@3.19.5:3.19,3.20.2:4.21.0,4.21.6:4", when="@1.58:", type=("build", "run") diff --git a/var/spack/repos/builtin/packages/py-grpc-google-iam-v1/package.py b/var/spack/repos/builtin/packages/py-grpc-google-iam-v1/package.py new file mode 100644 index 0000000000..c5b2cd34af --- /dev/null +++ b/var/spack/repos/builtin/packages/py-grpc-google-iam-v1/package.py @@ -0,0 +1,31 @@ +# Copyright 2013-2024 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 PyGrpcGoogleIamV1(PythonPackage): + """IAM API client library.""" + + homepage = "https://github.com/googleapis/python-grpc-google-iam-v1" + pypi = "grpc_google_iam_v1/grpc-google-iam-v1-0.13.0.tar.gz" + + license("Apache-2.0") + + version("0.13.0", sha256="fad318608b9e093258fbf12529180f400d1c44453698a33509cc6ecf005b294e") + + # A workaround for invalid URL due to presence of v1 in the name. + def url_for_version(self, version): + return super().url_for_version(f"1-{version}") + + # https://github.com/googleapis/python-grpc-google-iam-v1/blob/v0.13.0/setup.py + + depends_on("py-grpcio@1.44:1", type=("build", "run")) + depends_on("py-googleapis-common-protos+grpc@1.56:1", type=("build", "run")) + + depends_on("py-protobuf@3.19.5:4", type=("build", "run")) + conflicts("py-protobuf@3.20.0,3.20.1,4.21.1:4.21.5") + + depends_on("py-setuptools", type="build") diff --git a/var/spack/repos/builtin/packages/py-grpcio-status/package.py b/var/spack/repos/builtin/packages/py-grpcio-status/package.py new file mode 100644 index 0000000000..ef05d860c9 --- /dev/null +++ b/var/spack/repos/builtin/packages/py-grpcio-status/package.py @@ -0,0 +1,25 @@ +# Copyright 2013-2024 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 PyGrpcioStatus(PythonPackage): + """Status proto mapping for gRPC.""" + + homepage = "https://grpc.io/" + pypi = "grpcio_status/grpcio-status-1.60.1.tar.gz" + + license("Apache-2.0") + + version("1.60.1", sha256="61b5aab8989498e8aa142c20b88829ea5d90d18c18c853b9f9e6d407d37bf8b4") + + # https://github.com/grpc/grpc/blob/v1.60.1/src/python/grpcio_status/setup.py + + depends_on("py-protobuf@4.21.6:", type=("build", "run")) + depends_on("py-grpcio@1.60.1:", when="@1.60.1", type=("build", "run")) + depends_on("py-googleapis-common-protos@1.5.5:", type=("build", "run")) + + depends_on("py-setuptools", type="build") diff --git a/var/spack/repos/builtin/packages/py-grpcio/package.py b/var/spack/repos/builtin/packages/py-grpcio/package.py index 7a7f8f6e91..02d0632123 100644 --- a/var/spack/repos/builtin/packages/py-grpcio/package.py +++ b/var/spack/repos/builtin/packages/py-grpcio/package.py @@ -14,6 +14,7 @@ class PyGrpcio(PythonPackage): license("Apache-2.0") + version("1.60.1", sha256="dd1d3a8d1d2e50ad9b59e10aa7f07c7d1be2b367f3f2d33c5fade96ed5460962") version("1.52.0", sha256="a5d4a83d29fc39af429c10b9b326c174fec49b73398e4a966a1f2a4f30aa4fdb") version("1.48.1", sha256="660217eccd2943bf23ea9a36e2a292024305aec04bf747fbcff1f5032b83610e") version("1.43.0", sha256="735d9a437c262ab039d02defddcb9f8f545d7009ae61c0114e19dda3843febe5") diff --git a/var/spack/repos/builtin/packages/py-proto-plus/package.py b/var/spack/repos/builtin/packages/py-proto-plus/package.py new file mode 100644 index 0000000000..7c5663319a --- /dev/null +++ b/var/spack/repos/builtin/packages/py-proto-plus/package.py @@ -0,0 +1,19 @@ +# Copyright 2013-2024 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 PyProtoPlus(PythonPackage): + """Beautiful, Pythonic protocol buffers.""" + + homepage = "https://github.com/googleapis/proto-plus-python" + pypi = "proto-plus/proto-plus-1.23.0.tar.gz" + + version("1.23.0", sha256="89075171ef11988b3fa157f5dbd8b9cf09d65fffee97e29ce403cd8defba19d2") + + depends_on("py-protobuf@3.19:4", type=("build", "run")) + + depends_on("py-setuptools", type="build") -- cgit v1.2.3-70-g09d2