1# Copyright 2024 Google LLC 2# 3# Licensed under the Apache License, Version 2.0 (the "License"); 4# you may not use this file except in compliance with the License. 5# You may obtain a copy of the License at 6# 7# http://www.apache.org/licenses/LICENSE-2.0 8# 9# Unless required by applicable law or agreed to in writing, software 10# distributed under the License is distributed on an "AS IS" BASIS, 11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12# See the License for the specific language governing permissions and 13# limitations under the License. 14 15[build-system] 16requires = ["setuptools"] 17build-backend = "setuptools.build_meta" 18 19[project] 20name = "google-api-core" 21authors = [{ name = "Google LLC", email = "googleapis-packages@google.com" }] 22license = { text = "Apache 2.0" } 23requires-python = ">=3.7" 24readme = "README.rst" 25description = "Google API client core library" 26classifiers = [ 27 # Should be one of: 28 # "Development Status :: 3 - Alpha" 29 # "Development Status :: 4 - Beta" 30 # "Development Status :: 5 - Production/Stable" 31 "Development Status :: 5 - Production/Stable", 32 "Intended Audience :: Developers", 33 "License :: OSI Approved :: Apache Software License", 34 "Programming Language :: Python", 35 "Programming Language :: Python :: 3", 36 "Programming Language :: Python :: 3.7", 37 "Programming Language :: Python :: 3.8", 38 "Programming Language :: Python :: 3.9", 39 "Programming Language :: Python :: 3.10", 40 "Programming Language :: Python :: 3.11", 41 "Programming Language :: Python :: 3.12", 42 "Programming Language :: Python :: 3.13", 43 "Operating System :: OS Independent", 44 "Topic :: Internet", 45] 46dependencies = [ 47 "googleapis-common-protos >= 1.56.2, < 2.0.dev0", 48 "protobuf >= 3.19.5, < 6.0.0.dev0, != 3.20.0, != 3.20.1, != 4.21.0, != 4.21.1, != 4.21.2, != 4.21.3, != 4.21.4, != 4.21.5", 49 "proto-plus >= 1.22.3, < 2.0.0dev", 50 "proto-plus >= 1.25.0, < 2.0.0dev; python_version >= '3.13'", 51 "google-auth >= 2.14.1, < 3.0.dev0", 52 "requests >= 2.18.0, < 3.0.0.dev0", 53] 54dynamic = ["version"] 55 56[project.urls] 57Documentation = "https://googleapis.dev/python/google-api-core/latest/" 58Repository = "https://github.com/googleapis/python-api-core" 59 60[project.optional-dependencies] 61async_rest = ["google-auth[aiohttp] >= 2.35.0, < 3.0.dev0"] 62grpc = [ 63 "grpcio >= 1.33.2, < 2.0dev", 64 "grpcio >= 1.49.1, < 2.0dev; python_version >= '3.11'", 65 "grpcio-status >= 1.33.2, < 2.0.dev0", 66 "grpcio-status >= 1.49.1, < 2.0.dev0; python_version >= '3.11'", 67] 68grpcgcp = ["grpcio-gcp >= 0.2.2, < 1.0.dev0"] 69grpcio-gcp = ["grpcio-gcp >= 0.2.2, < 1.0.dev0"] 70 71[tool.setuptools.dynamic] 72version = { attr = "google.api_core.version.__version__" } 73 74[tool.setuptools.packages.find] 75# Only include packages under the 'google' namespace. Do not include tests, 76# benchmarks, etc. 77include = ["google*"] 78 79[tool.mypy] 80python_version = "3.7" 81namespace_packages = true 82ignore_missing_imports = true 83 84[tool.pytest] 85filterwarnings = [ 86 # treat all warnings as errors 87 "error", 88 # Remove once https://github.com/pytest-dev/pytest-cov/issues/621 is fixed 89 "ignore:.*The --rsyncdir command line argument and rsyncdirs config variable are deprecated:DeprecationWarning", 90 # Remove once https://github.com/protocolbuffers/protobuf/issues/12186 is fixed 91 "ignore:.*custom tp_new.*in Python 3.14:DeprecationWarning", 92 # Remove once support for python 3.7 is dropped 93 # This warning only appears when using python 3.7 94 "ignore:.*Using or importing the ABCs from.*collections:DeprecationWarning", 95 # Remove once support for grpcio-gcp is deprecated 96 # See https://github.com/googleapis/python-api-core/blob/42e8b6e6f426cab749b34906529e8aaf3f133d75/google/api_core/grpc_helpers.py#L39-L45 97 "ignore:.*Support for grpcio-gcp is deprecated:DeprecationWarning", 98 "ignore: The `compression` argument is ignored for grpc_gcp.secure_channel creation:DeprecationWarning", 99 "ignore:The `attempt_direct_path` argument is ignored for grpc_gcp.secure_channel creation:DeprecationWarning", 100 # Remove once the minimum supported version of googleapis-common-protos is 1.62.0 101 "ignore:.*pkg_resources.declare_namespace:DeprecationWarning", 102 "ignore:.*pkg_resources is deprecated as an API:DeprecationWarning", 103 # Remove once https://github.com/grpc/grpc/issues/35086 is fixed (and version newer than 1.60.0 is published) 104 "ignore:There is no current event loop:DeprecationWarning", 105 # Remove after support for Python 3.7 is dropped 106 "ignore:After January 1, 2024, new releases of this library will drop support for Python 3.7:DeprecationWarning", 107] 108