• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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