From a7cab6f55e1471906d3cc69e9b8ac024cf20d11d Mon Sep 17 00:00:00 2001 From: Daniel Sanche Date: Thu, 16 Jul 2026 17:39:46 -0700 Subject: [PATCH 1/3] chore(api_core): run ruff format --- packages/google-api-core/docs/conf.py | 2 +- .../google/api_core/__init__.py | 3 +- .../api_core/_python_package_support.py | 6 +-- .../api_core/_python_version_support.py | 7 ++- .../google/api_core/_rest_streaming_base.py | 6 +-- .../google-api-core/google/api_core/bidi.py | 2 +- .../google/api_core/bidi_async.py | 4 +- .../google/api_core/client_logging.py | 3 +- .../google/api_core/client_options.py | 2 +- .../google/api_core/datetime_helpers.py | 1 - .../google/api_core/future/_helpers.py | 1 - .../google/api_core/future/async_future.py | 6 +-- .../google/api_core/future/polling.py | 3 +- .../google/api_core/gapic_v1/client_info.py | 1 - .../google/api_core/gapic_v1/config.py | 5 +- .../google/api_core/gapic_v1/method_async.py | 8 ++-- .../google/api_core/grpc_helpers.py | 4 +- .../google/api_core/grpc_helpers_async.py | 1 - .../google/api_core/operation.py | 6 +-- .../google/api_core/operation_async.py | 6 +-- .../google/api_core/operations_v1/__init__.py | 6 +-- .../abstract_operations_base_client.py | 5 +- .../abstract_operations_client.py | 15 +++--- .../operations_v1/operations_async_client.py | 5 +- .../operations_v1/operations_client.py | 8 ++-- .../operations_rest_client_async.py | 9 ++-- .../google/api_core/operations_v1/pagers.py | 1 + .../api_core/operations_v1/pagers_async.py | 3 +- .../operations_v1/transports/__init__.py | 2 +- .../api_core/operations_v1/transports/base.py | 12 +++-- .../api_core/operations_v1/transports/rest.py | 22 +++++---- .../operations_v1/transports/rest_asyncio.py | 46 +++++++++++++------ .../google/api_core/path_template.py | 5 +- .../google/api_core/protobuf_helpers.py | 5 +- .../google/api_core/rest_streaming.py | 3 +- .../google/api_core/rest_streaming_async.py | 1 + .../google/api_core/retry/__init__.py | 35 +++++++------- .../google/api_core/retry/retry_base.py | 5 +- .../google/api_core/retry/retry_streaming.py | 29 ++++++------ .../api_core/retry/retry_streaming_async.py | 34 +++++++------- .../google/api_core/retry/retry_unary.py | 19 ++++---- .../api_core/retry/retry_unary_async.py | 23 +++++----- .../google/api_core/retry_async.py | 17 ++++--- packages/google-api-core/setup.py | 1 - .../tests/asyncio/gapic/test_config_async.py | 1 - .../tests/asyncio/gapic/test_method_async.py | 14 +++--- .../test_operations_async_client.py | 7 ++- .../retry/test_retry_streaming_async.py | 5 +- .../asyncio/retry/test_retry_unary_async.py | 3 +- .../tests/asyncio/test_bidi_async.py | 4 +- .../tests/asyncio/test_grpc_helpers_async.py | 7 +-- .../tests/asyncio/test_operation_async.py | 9 ++-- .../asyncio/test_rest_streaming_async.py | 13 ++---- packages/google-api-core/tests/helpers.py | 6 +-- .../tests/unit/gapic/test_config.py | 1 - .../tests/unit/gapic/test_method.py | 4 +- .../operations_v1/test_operations_client.py | 7 ++- .../test_operations_rest_client.py | 29 ++++++++---- .../tests/unit/retry/test_retry_base.py | 17 +++---- .../tests/unit/retry/test_retry_imports.py | 8 ++-- .../tests/unit/retry/test_retry_streaming.py | 6 +-- .../tests/unit/retry/test_retry_unary.py | 6 +-- .../google-api-core/tests/unit/test_bidi.py | 3 +- .../tests/unit/test_client_logging.py | 4 +- .../tests/unit/test_client_options.py | 4 +- .../tests/unit/test_datetime_helpers.py | 3 +- .../tests/unit/test_extended_operation.py | 4 +- .../tests/unit/test_grpc_helpers.py | 5 +- .../google-api-core/tests/unit/test_iam.py | 5 +- .../tests/unit/test_operation.py | 9 ++-- .../tests/unit/test_path_template.py | 3 +- .../tests/unit/test_protobuf_helpers.py | 25 +++++----- .../tests/unit/test_python_package_support.py | 8 ++-- .../tests/unit/test_rest_streaming.py | 6 +-- .../tests/unit/test_timeout.py | 3 +- .../tests/unit/test_universe.py | 1 + 76 files changed, 313 insertions(+), 305 deletions(-) diff --git a/packages/google-api-core/docs/conf.py b/packages/google-api-core/docs/conf.py index 37ab3404ef929..ab3246edbc472 100644 --- a/packages/google-api-core/docs/conf.py +++ b/packages/google-api-core/docs/conf.py @@ -24,9 +24,9 @@ # All configuration values have a default; values that are commented out # serve to show the default. -import sys import os import shlex +import sys # If extensions (or modules to document with autodoc) are in another directory, # add these directories to sys.path here. If the directory is relative to the diff --git a/packages/google-api-core/google/api_core/__init__.py b/packages/google-api-core/google/api_core/__init__.py index a52ffe8741d24..6b9c47f9461bc 100644 --- a/packages/google-api-core/google/api_core/__init__.py +++ b/packages/google-api-core/google/api_core/__init__.py @@ -17,8 +17,7 @@ This package contains common code and utilities used by Google client libraries. """ -from google.api_core import _python_package_support -from google.api_core import _python_version_support +from google.api_core import _python_package_support, _python_version_support from google.api_core import version as api_core_version __version__ = api_core_version.__version__ diff --git a/packages/google-api-core/google/api_core/_python_package_support.py b/packages/google-api-core/google/api_core/_python_package_support.py index b8732b6a2f3d3..e667620170dbd 100644 --- a/packages/google-api-core/google/api_core/_python_package_support.py +++ b/packages/google-api-core/google/api_core/_python_package_support.py @@ -15,17 +15,15 @@ """Code to check versions of dependencies used by Google Cloud Client Libraries.""" import warnings -from typing import Optional, Tuple - from collections import namedtuple +from importlib import metadata +from typing import Optional, Tuple from ._python_version_support import ( _flatten_message, _get_distribution_and_import_packages, ) -from importlib import metadata - ParsedVersion = Tuple[int, ...] # Here we list all the packages for which we want to issue warnings diff --git a/packages/google-api-core/google/api_core/_python_version_support.py b/packages/google-api-core/google/api_core/_python_version_support.py index 1430fe2226414..5580caf2e3fc9 100644 --- a/packages/google-api-core/google/api_core/_python_version_support.py +++ b/packages/google-api-core/google/api_core/_python_version_support.py @@ -17,13 +17,12 @@ import datetime import enum import functools -from importlib import metadata import logging -import warnings import sys import textwrap -from typing import Any, List, NamedTuple, Optional, Dict, Tuple - +import warnings +from importlib import metadata +from typing import Any, Dict, List, NamedTuple, Optional, Tuple _LOGGER = logging.getLogger(__name__) diff --git a/packages/google-api-core/google/api_core/_rest_streaming_base.py b/packages/google-api-core/google/api_core/_rest_streaming_base.py index 3bc87a963e108..dab309af0a12c 100644 --- a/packages/google-api-core/google/api_core/_rest_streaming_base.py +++ b/packages/google-api-core/google/api_core/_rest_streaming_base.py @@ -14,13 +14,13 @@ """Helpers for server-side streaming in REST.""" -from collections import deque import string -from typing import Deque, Union import types +from collections import deque +from typing import Deque, Union -import proto import google.protobuf.message +import proto from google.protobuf.json_format import Parse diff --git a/packages/google-api-core/google/api_core/bidi.py b/packages/google-api-core/google/api_core/bidi.py index 7f45c2af185b6..8085bba401ee6 100644 --- a/packages/google-api-core/google/api_core/bidi.py +++ b/packages/google-api-core/google/api_core/bidi.py @@ -113,7 +113,7 @@ def __iter__(self): except queue_module.Empty: if not self._is_active(): _LOGGER.debug( - "Empty queue and inactive call, exiting request " "generator." + "Empty queue and inactive call, exiting request generator." ) return else: diff --git a/packages/google-api-core/google/api_core/bidi_async.py b/packages/google-api-core/google/api_core/bidi_async.py index 3770f69dd6d36..1f59f6dba4f37 100644 --- a/packages/google-api-core/google/api_core/bidi_async.py +++ b/packages/google-api-core/google/api_core/bidi_async.py @@ -18,14 +18,12 @@ import logging from typing import Callable, Optional, Union +from google.protobuf.message import Message as ProtobufMessage from grpc import aio from google.api_core import exceptions from google.api_core.bidi_base import BidiRpcBase -from google.protobuf.message import Message as ProtobufMessage - - _LOGGER = logging.getLogger(__name__) diff --git a/packages/google-api-core/google/api_core/client_logging.py b/packages/google-api-core/google/api_core/client_logging.py index 837e3e0c455b4..f5fe1b1996953 100644 --- a/packages/google-api-core/google/api_core/client_logging.py +++ b/packages/google-api-core/google/api_core/client_logging.py @@ -1,7 +1,6 @@ -import logging import json +import logging import os - from typing import List, Optional _LOGGING_INITIALIZED = False diff --git a/packages/google-api-core/google/api_core/client_options.py b/packages/google-api-core/google/api_core/client_options.py index 30bff48249c3f..68c4644245cea 100644 --- a/packages/google-api-core/google/api_core/client_options.py +++ b/packages/google-api-core/google/api_core/client_options.py @@ -48,8 +48,8 @@ def get_client_cert(): """ -from typing import Callable, Mapping, Optional, Sequence, Tuple import warnings +from typing import Callable, Mapping, Optional, Sequence, Tuple from google.api_core import general_helpers diff --git a/packages/google-api-core/google/api_core/datetime_helpers.py b/packages/google-api-core/google/api_core/datetime_helpers.py index c379230003128..171a698d60c56 100644 --- a/packages/google-api-core/google/api_core/datetime_helpers.py +++ b/packages/google-api-core/google/api_core/datetime_helpers.py @@ -20,7 +20,6 @@ from google.protobuf import timestamp_pb2 - _UTC_EPOCH = datetime.datetime(1970, 1, 1, tzinfo=datetime.timezone.utc) _RFC3339_MICROS = "%Y-%m-%dT%H:%M:%S.%fZ" _RFC3339_NO_FRACTION = "%Y-%m-%dT%H:%M:%S" diff --git a/packages/google-api-core/google/api_core/future/_helpers.py b/packages/google-api-core/google/api_core/future/_helpers.py index 9e88ca9d561d9..55d6f916e2034 100644 --- a/packages/google-api-core/google/api_core/future/_helpers.py +++ b/packages/google-api-core/google/api_core/future/_helpers.py @@ -17,7 +17,6 @@ import logging import threading - _LOGGER = logging.getLogger(__name__) diff --git a/packages/google-api-core/google/api_core/future/async_future.py b/packages/google-api-core/google/api_core/future/async_future.py index 325ee9cd4facd..57fdd083a1c0b 100644 --- a/packages/google-api-core/google/api_core/future/async_future.py +++ b/packages/google-api-core/google/api_core/future/async_future.py @@ -16,9 +16,7 @@ import asyncio -from google.api_core import exceptions -from google.api_core import retry -from google.api_core import retry_async +from google.api_core import exceptions, retry, retry_async from google.api_core.future import base @@ -101,7 +99,7 @@ async def _blocking_poll(self, timeout=None): await retry_(self._done_or_raise)() except exceptions.RetryError: raise asyncio.TimeoutError( - "Operation did not complete within the designated " "timeout." + "Operation did not complete within the designated timeout." ) async def result(self, timeout=None): diff --git a/packages/google-api-core/google/api_core/future/polling.py b/packages/google-api-core/google/api_core/future/polling.py index f1e2a1882117e..a2169775790b6 100644 --- a/packages/google-api-core/google/api_core/future/polling.py +++ b/packages/google-api-core/google/api_core/future/polling.py @@ -19,8 +19,7 @@ from google.api_core import exceptions from google.api_core import retry as retries -from google.api_core.future import _helpers -from google.api_core.future import base +from google.api_core.future import _helpers, base class _OperationNotComplete(Exception): diff --git a/packages/google-api-core/google/api_core/gapic_v1/client_info.py b/packages/google-api-core/google/api_core/gapic_v1/client_info.py index 2cf07840b39b1..2844671f6d31d 100644 --- a/packages/google-api-core/google/api_core/gapic_v1/client_info.py +++ b/packages/google-api-core/google/api_core/gapic_v1/client_info.py @@ -20,7 +20,6 @@ from google.api_core import client_info - METRICS_METADATA_KEY = "x-goog-api-client" diff --git a/packages/google-api-core/google/api_core/gapic_v1/config.py b/packages/google-api-core/google/api_core/gapic_v1/config.py index 36b50d9fc4b4a..17e23e032ff94 100644 --- a/packages/google-api-core/google/api_core/gapic_v1/config.py +++ b/packages/google-api-core/google/api_core/gapic_v1/config.py @@ -22,10 +22,7 @@ import grpc -from google.api_core import exceptions -from google.api_core import retry -from google.api_core import timeout - +from google.api_core import exceptions, retry, timeout _MILLIS_PER_SECOND = 1000.0 diff --git a/packages/google-api-core/google/api_core/gapic_v1/method_async.py b/packages/google-api-core/google/api_core/gapic_v1/method_async.py index c0f38c0e871bb..a4e9648d4b7bb 100644 --- a/packages/google-api-core/google/api_core/gapic_v1/method_async.py +++ b/packages/google-api-core/google/api_core/gapic_v1/method_async.py @@ -21,9 +21,11 @@ from google.api_core import grpc_helpers_async from google.api_core.gapic_v1 import client_info -from google.api_core.gapic_v1.method import _GapicCallable -from google.api_core.gapic_v1.method import DEFAULT # noqa: F401 -from google.api_core.gapic_v1.method import USE_DEFAULT_METADATA # noqa: F401 +from google.api_core.gapic_v1.method import ( + DEFAULT, # noqa: F401 + USE_DEFAULT_METADATA, # noqa: F401 + _GapicCallable, +) _DEFAULT_ASYNC_TRANSPORT_KIND = "grpc_asyncio" diff --git a/packages/google-api-core/google/api_core/grpc_helpers.py b/packages/google-api-core/google/api_core/grpc_helpers.py index 30ba19c54f1a7..dd82c8e1a9c7f 100644 --- a/packages/google-api-core/google/api_core/grpc_helpers.py +++ b/packages/google-api-core/google/api_core/grpc_helpers.py @@ -13,10 +13,11 @@ # limitations under the License. """Helpers for :mod:`grpc`.""" + import collections import functools -from typing import Generic, Iterator, Optional, TypeVar import warnings +from typing import Generic, Iterator, Optional, TypeVar import google.auth import google.auth.credentials @@ -27,7 +28,6 @@ from google.api_core import exceptions, general_helpers - # The list of gRPC Callable interfaces that return iterators. _STREAM_WRAP_CLASSES = (grpc.UnaryStreamMultiCallable, grpc.StreamStreamMultiCallable) diff --git a/packages/google-api-core/google/api_core/grpc_helpers_async.py b/packages/google-api-core/google/api_core/grpc_helpers_async.py index 780788e4b5655..d1f897901e7ad 100644 --- a/packages/google-api-core/google/api_core/grpc_helpers_async.py +++ b/packages/google-api-core/google/api_core/grpc_helpers_async.py @@ -21,7 +21,6 @@ import asyncio import functools import warnings - from typing import AsyncGenerator, Generic, Iterator, Optional, TypeVar import grpc diff --git a/packages/google-api-core/google/api_core/operation.py b/packages/google-api-core/google/api_core/operation.py index 5206243a74637..7622e01d0444f 100644 --- a/packages/google-api-core/google/api_core/operation.py +++ b/packages/google-api-core/google/api_core/operation.py @@ -39,13 +39,13 @@ def my_callback(future): import functools import threading -from google.api_core import exceptions -from google.api_core import protobuf_helpers -from google.api_core.future import polling from google.longrunning import operations_pb2 from google.protobuf import json_format from google.rpc import code_pb2 +from google.api_core import exceptions, protobuf_helpers +from google.api_core.future import polling + class Operation(polling.PollingFuture): """A Future for interacting with a Google API Long-Running Operation. diff --git a/packages/google-api-core/google/api_core/operation_async.py b/packages/google-api-core/google/api_core/operation_async.py index 2fd341d974792..834608f60ce57 100644 --- a/packages/google-api-core/google/api_core/operation_async.py +++ b/packages/google-api-core/google/api_core/operation_async.py @@ -39,12 +39,12 @@ def my_callback(future): import functools import threading -from google.api_core import exceptions -from google.api_core import protobuf_helpers -from google.api_core.future import async_future from google.longrunning import operations_pb2 from google.rpc import code_pb2 +from google.api_core import exceptions, protobuf_helpers +from google.api_core.future import async_future + class AsyncOperation(async_future.AsyncFuture): """A Future for interacting with a Google API Long-Running Operation. diff --git a/packages/google-api-core/google/api_core/operations_v1/__init__.py b/packages/google-api-core/google/api_core/operations_v1/__init__.py index 71b079b8a18d7..8c8e536974b6f 100644 --- a/packages/google-api-core/google/api_core/operations_v1/__init__.py +++ b/packages/google-api-core/google/api_core/operations_v1/__init__.py @@ -68,12 +68,12 @@ # On Python 3.15+, PEP 0810 lazy loading means these imports will succeed # instantly (returning a lazy proxy). Any actual ImportErrors (e.g., due to # missing aiohttp/auth dependencies) are deferred until the proxies are accessed. - from google.api_core.operations_v1.transports.rest_asyncio import ( # noqa: E402, F401 - AsyncOperationsRestTransport, - ) from google.api_core.operations_v1.operations_rest_client_async import ( # noqa: E402, F401 AsyncOperationsRestClient, ) + from google.api_core.operations_v1.transports.rest_asyncio import ( # noqa: E402, F401 + AsyncOperationsRestTransport, + ) __all__.extend(["AsyncOperationsRestClient", "AsyncOperationsRestTransport"]) except ImportError: diff --git a/packages/google-api-core/google/api_core/operations_v1/abstract_operations_base_client.py b/packages/google-api-core/google/api_core/operations_v1/abstract_operations_base_client.py index f62f60b0414a7..7cbb178927492 100644 --- a/packages/google-api-core/google/api_core/operations_v1/abstract_operations_base_client.py +++ b/packages/google-api-core/google/api_core/operations_v1/abstract_operations_base_client.py @@ -13,9 +13,9 @@ # See the License for the specific language governing permissions and # limitations under the License. -from collections import OrderedDict import os import re +from collections import OrderedDict from typing import Dict, Optional, Type, Union from google.api_core import client_options as client_options_lib # type: ignore @@ -358,8 +358,7 @@ def __init__( ) if client_options.scopes: raise ValueError( - "When providing a transport instance, provide its scopes " - "directly." + "When providing a transport instance, provide its scopes directly." ) self._transport = transport else: diff --git a/packages/google-api-core/google/api_core/operations_v1/abstract_operations_client.py b/packages/google-api-core/google/api_core/operations_v1/abstract_operations_client.py index fc445362532cd..e35a76dc614aa 100644 --- a/packages/google-api-core/google/api_core/operations_v1/abstract_operations_client.py +++ b/packages/google-api-core/google/api_core/operations_v1/abstract_operations_client.py @@ -15,21 +15,22 @@ # from typing import Optional, Sequence, Tuple, Union +import grpc +from google.auth import credentials as ga_credentials # type: ignore +from google.longrunning import operations_pb2 +from google.oauth2 import service_account # type: ignore + from google.api_core import client_options as client_options_lib # type: ignore from google.api_core import gapic_v1 # type: ignore from google.api_core import retry as retries # type: ignore from google.api_core.operations_v1 import pagers +from google.api_core.operations_v1.abstract_operations_base_client import ( + AbstractOperationsBaseClient, +) from google.api_core.operations_v1.transports.base import ( DEFAULT_CLIENT_INFO, OperationsTransport, ) -from google.api_core.operations_v1.abstract_operations_base_client import ( - AbstractOperationsBaseClient, -) -from google.auth import credentials as ga_credentials # type: ignore -from google.longrunning import operations_pb2 -from google.oauth2 import service_account # type: ignore -import grpc OptionalRetry = Union[retries.Retry, object] diff --git a/packages/google-api-core/google/api_core/operations_v1/operations_async_client.py b/packages/google-api-core/google/api_core/operations_v1/operations_async_client.py index a60c7177705a4..cbe3c39cc6b04 100644 --- a/packages/google-api-core/google/api_core/operations_v1/operations_async_client.py +++ b/packages/google-api-core/google/api_core/operations_v1/operations_async_client.py @@ -24,12 +24,13 @@ import functools +from google.longrunning import operations_pb2 +from grpc import Compression + from google.api_core import exceptions as core_exceptions from google.api_core import gapic_v1, page_iterator_async from google.api_core import retry_async as retries from google.api_core import timeout as timeouts -from google.longrunning import operations_pb2 -from grpc import Compression class OperationsAsyncClient: diff --git a/packages/google-api-core/google/api_core/operations_v1/operations_client.py b/packages/google-api-core/google/api_core/operations_v1/operations_client.py index d1d3fd55c783f..c013fe14f0a6d 100644 --- a/packages/google-api-core/google/api_core/operations_v1/operations_client.py +++ b/packages/google-api-core/google/api_core/operations_v1/operations_client.py @@ -37,13 +37,13 @@ import functools +from google.longrunning import operations_pb2 +from grpc import Compression + from google.api_core import exceptions as core_exceptions -from google.api_core import gapic_v1 -from google.api_core import page_iterator +from google.api_core import gapic_v1, page_iterator from google.api_core import retry as retries from google.api_core import timeout as timeouts -from google.longrunning import operations_pb2 -from grpc import Compression class OperationsClient(object): diff --git a/packages/google-api-core/google/api_core/operations_v1/operations_rest_client_async.py b/packages/google-api-core/google/api_core/operations_v1/operations_rest_client_async.py index 7ab0cd36f799b..cf79bc6826aad 100644 --- a/packages/google-api-core/google/api_core/operations_v1/operations_rest_client_async.py +++ b/packages/google-api-core/google/api_core/operations_v1/operations_rest_client_async.py @@ -15,17 +15,18 @@ # from typing import Optional, Sequence, Tuple, Union +from google.longrunning import operations_pb2 + from google.api_core import client_options as client_options_lib # type: ignore from google.api_core import gapic_v1 # type: ignore from google.api_core.operations_v1 import pagers_async as pagers +from google.api_core.operations_v1.abstract_operations_base_client import ( + AbstractOperationsBaseClient, +) from google.api_core.operations_v1.transports.base import ( DEFAULT_CLIENT_INFO, OperationsTransport, ) -from google.api_core.operations_v1.abstract_operations_base_client import ( - AbstractOperationsBaseClient, -) -from google.longrunning import operations_pb2 try: from google.auth.aio import credentials as ga_credentials # type: ignore diff --git a/packages/google-api-core/google/api_core/operations_v1/pagers.py b/packages/google-api-core/google/api_core/operations_v1/pagers.py index 76efd59469f92..35e1a4e75fe61 100644 --- a/packages/google-api-core/google/api_core/operations_v1/pagers.py +++ b/packages/google-api-core/google/api_core/operations_v1/pagers.py @@ -21,6 +21,7 @@ ) from google.longrunning import operations_pb2 + from google.api_core.operations_v1.pagers_base import ListOperationsPagerBase diff --git a/packages/google-api-core/google/api_core/operations_v1/pagers_async.py b/packages/google-api-core/google/api_core/operations_v1/pagers_async.py index 4bb7f8c7d5dbe..d12538e9a59d5 100644 --- a/packages/google-api-core/google/api_core/operations_v1/pagers_async.py +++ b/packages/google-api-core/google/api_core/operations_v1/pagers_async.py @@ -14,13 +14,14 @@ # limitations under the License. # from typing import ( - Callable, AsyncIterator, + Callable, Sequence, Tuple, ) from google.longrunning import operations_pb2 + from google.api_core.operations_v1.pagers_base import ListOperationsPagerBase diff --git a/packages/google-api-core/google/api_core/operations_v1/transports/__init__.py b/packages/google-api-core/google/api_core/operations_v1/transports/__init__.py index 8c24ce6efa236..9a5970c7f30cd 100644 --- a/packages/google-api-core/google/api_core/operations_v1/transports/__init__.py +++ b/packages/google-api-core/google/api_core/operations_v1/transports/__init__.py @@ -14,7 +14,7 @@ # limitations under the License. # from collections import OrderedDict -from typing import cast, Dict, Tuple +from typing import Dict, Tuple, cast from .base import OperationsTransport from .rest import OperationsRestTransport diff --git a/packages/google-api-core/google/api_core/operations_v1/transports/base.py b/packages/google-api-core/google/api_core/operations_v1/transports/base.py index 2d78809b15da2..0d71567225893 100644 --- a/packages/google-api-core/google/api_core/operations_v1/transports/base.py +++ b/packages/google-api-core/google/api_core/operations_v1/transports/base.py @@ -15,23 +15,25 @@ # import abc import re -from typing import Awaitable, Callable, Optional, Sequence, Union import warnings +from typing import Awaitable, Callable, Optional, Sequence, Union import google.auth # type: ignore +import google.protobuf from google.auth import credentials as ga_credentials # type: ignore from google.longrunning import operations_pb2 from google.oauth2 import service_account # type: ignore -import google.protobuf from google.protobuf import empty_pb2, json_format # type: ignore from grpc import Compression import google.api_core # type: ignore from google.api_core import exceptions as core_exceptions # type: ignore -from google.api_core import gapic_v1 # type: ignore -from google.api_core import general_helpers +from google.api_core import ( + gapic_v1, # type: ignore + general_helpers, + version, +) from google.api_core import retry as retries # type: ignore -from google.api_core import version PROTOBUF_VERSION = google.protobuf.__version__ diff --git a/packages/google-api-core/google/api_core/operations_v1/transports/rest.py b/packages/google-api-core/google/api_core/operations_v1/transports/rest.py index 62f34d69f0bcc..70bed5acc3533 100644 --- a/packages/google-api-core/google/api_core/operations_v1/transports/rest.py +++ b/packages/google-api-core/google/api_core/operations_v1/transports/rest.py @@ -14,23 +14,27 @@ # limitations under the License. # -from typing import Callable, Dict, Optional, Sequence, Tuple, Union import warnings +from typing import Callable, Dict, Optional, Sequence, Tuple, Union +import google.protobuf +import grpc from google.auth import credentials as ga_credentials # type: ignore from google.auth.transport.requests import AuthorizedSession # type: ignore from google.longrunning import operations_pb2 # type: ignore -import google.protobuf -from google.protobuf import empty_pb2 # type: ignore -from google.protobuf import json_format # type: ignore -import grpc +from google.protobuf import ( + empty_pb2, # type: ignore + json_format, # type: ignore +) from requests import __version__ as requests_version from google.api_core import exceptions as core_exceptions # type: ignore -from google.api_core import gapic_v1 # type: ignore -from google.api_core import general_helpers -from google.api_core import path_template # type: ignore -from google.api_core import rest_helpers # type: ignore +from google.api_core import ( + gapic_v1, # type: ignore + general_helpers, + path_template, # type: ignore + rest_helpers, # type: ignore +) from google.api_core import retry as retries # type: ignore from .base import DEFAULT_CLIENT_INFO as BASE_DEFAULT_CLIENT_INFO diff --git a/packages/google-api-core/google/api_core/operations_v1/transports/rest_asyncio.py b/packages/google-api-core/google/api_core/operations_v1/transports/rest_asyncio.py index 6fa9f56aa0cfe..833e2617169f4 100644 --- a/packages/google-api-core/google/api_core/operations_v1/transports/rest_asyncio.py +++ b/packages/google-api-core/google/api_core/operations_v1/transports/rest_asyncio.py @@ -15,31 +15,39 @@ # import json -from typing import Any, Callable, Coroutine, Dict, Optional, Sequence, Tuple import warnings +from typing import Any, Callable, Coroutine, Dict, Optional, Sequence, Tuple from google.auth import __version__ as auth_version try: - from google.auth.aio.transport.sessions import AsyncAuthorizedSession # type: ignore + from google.auth.aio.transport.sessions import ( + AsyncAuthorizedSession, # type: ignore + ) except ImportError as e: # pragma: NO COVER raise ImportError( "The `async_rest` extra of `google-api-core` is required to use long-running operations. Install it by running " "`pip install google-api-core[async_rest]`." ) from e -from google.api_core import exceptions as core_exceptions # type: ignore -from google.api_core import gapic_v1 # type: ignore -from google.api_core import general_helpers -from google.api_core import path_template # type: ignore -from google.api_core import rest_helpers # type: ignore -from google.api_core import retry_async as retries_async # type: ignore from google.auth.aio import credentials as ga_credentials_async # type: ignore from google.longrunning import operations_pb2 # type: ignore -from google.protobuf import empty_pb2 # type: ignore -from google.protobuf import json_format # type: ignore +from google.protobuf import ( + empty_pb2, # type: ignore + json_format, # type: ignore +) + +from google.api_core import exceptions as core_exceptions # type: ignore +from google.api_core import ( + gapic_v1, # type: ignore + general_helpers, + path_template, # type: ignore + rest_helpers, # type: ignore +) +from google.api_core import retry_async as retries_async # type: ignore -from .base import DEFAULT_CLIENT_INFO as BASE_DEFAULT_CLIENT_INFO, OperationsTransport +from .base import DEFAULT_CLIENT_INFO as BASE_DEFAULT_CLIENT_INFO +from .base import OperationsTransport DEFAULT_CLIENT_INFO = gapic_v1.client_info.ClientInfo( gapic_version=BASE_DEFAULT_CLIENT_INFO.gapic_version, @@ -307,7 +315,9 @@ async def _list_operations( if response.status_code >= 400: payload = json.loads(content.decode("utf-8")) request_url = "{host}{uri}".format(host=self._host, uri=uri) - raise core_exceptions.format_http_response_error(response, method, request_url, payload) # type: ignore + raise core_exceptions.format_http_response_error( + response, method, request_url, payload + ) # type: ignore # Return the response api_response = operations_pb2.ListOperationsResponse() @@ -385,7 +395,9 @@ async def _get_operation( if response.status_code >= 400: payload = json.loads(content.decode("utf-8")) request_url = "{host}{uri}".format(host=self._host, uri=uri) - raise core_exceptions.format_http_response_error(response, method, request_url, payload) # type: ignore + raise core_exceptions.format_http_response_error( + response, method, request_url, payload + ) # type: ignore # Return the response api_response = operations_pb2.Operation() @@ -459,7 +471,9 @@ async def _delete_operation( content = await response.read() payload = json.loads(content.decode("utf-8")) request_url = "{host}{uri}".format(host=self._host, uri=uri) - raise core_exceptions.format_http_response_error(response, method, request_url, payload) # type: ignore + raise core_exceptions.format_http_response_error( + response, method, request_url, payload + ) # type: ignore return empty_pb2.Empty() @@ -539,7 +553,9 @@ async def _cancel_operation( content = await response.read() payload = json.loads(content.decode("utf-8")) request_url = "{host}{uri}".format(host=self._host, uri=uri) - raise core_exceptions.format_http_response_error(response, method, request_url, payload) # type: ignore + raise core_exceptions.format_http_response_error( + response, method, request_url, payload + ) # type: ignore return empty_pb2.Empty() diff --git a/packages/google-api-core/google/api_core/path_template.py b/packages/google-api-core/google/api_core/path_template.py index b8ebb2af92afd..967299093d568 100644 --- a/packages/google-api-core/google/api_core/path_template.py +++ b/packages/google-api-core/google/api_core/path_template.py @@ -25,10 +25,10 @@ from __future__ import unicode_literals -from collections import deque import copy import functools import re +from collections import deque # Regular expression for extracting variable parts from a path template. # The variables can be expressed as: @@ -321,8 +321,7 @@ def transcode(http_options, message=None, **request_kwargs): return request bindings_description = [ - '\n\tURI: "{}"' - "\n\tRequired request fields:\n\t\t{}".format( + '\n\tURI: "{}"\n\tRequired request fields:\n\t\t{}'.format( uri, "\n\t\t".join( [ diff --git a/packages/google-api-core/google/api_core/protobuf_helpers.py b/packages/google-api-core/google/api_core/protobuf_helpers.py index 30cd7c8597cc0..89a4a5e474eb6 100644 --- a/packages/google-api-core/google/api_core/protobuf_helpers.py +++ b/packages/google-api-core/google/api_core/protobuf_helpers.py @@ -19,10 +19,7 @@ import copy import inspect -from google.protobuf import field_mask_pb2 -from google.protobuf import message -from google.protobuf import wrappers_pb2 - +from google.protobuf import field_mask_pb2, message, wrappers_pb2 _SENTINEL = object() _WRAPPER_TYPES = ( diff --git a/packages/google-api-core/google/api_core/rest_streaming.py b/packages/google-api-core/google/api_core/rest_streaming.py index 84aa270c07ca7..f3ccb6aa6b157 100644 --- a/packages/google-api-core/google/api_core/rest_streaming.py +++ b/packages/google-api-core/google/api_core/rest_streaming.py @@ -16,9 +16,10 @@ from typing import Union +import google.protobuf.message import proto import requests -import google.protobuf.message + from google.api_core._rest_streaming_base import BaseResponseIterator diff --git a/packages/google-api-core/google/api_core/rest_streaming_async.py b/packages/google-api-core/google/api_core/rest_streaming_async.py index 370c2b53f1388..471f5ed28308c 100644 --- a/packages/google-api-core/google/api_core/rest_streaming_async.py +++ b/packages/google-api-core/google/api_core/rest_streaming_async.py @@ -28,6 +28,7 @@ ) from e import google.protobuf.message + from google.api_core._rest_streaming_base import BaseResponseIterator diff --git a/packages/google-api-core/google/api_core/retry/__init__.py b/packages/google-api-core/google/api_core/retry/__init__.py index 1724fdbd96597..45f9ec82113ea 100644 --- a/packages/google-api-core/google/api_core/retry/__init__.py +++ b/packages/google-api-core/google/api_core/retry/__init__.py @@ -14,26 +14,29 @@ """Retry implementation for Google API client libraries.""" -from .retry_base import exponential_sleep_generator -from .retry_base import if_exception_type -from .retry_base import if_transient_error -from .retry_base import build_retry_error -from .retry_base import RetryFailureReason -from .retry_unary import Retry -from .retry_unary import retry_target -from .retry_unary_async import AsyncRetry -from .retry_unary_async import retry_target as retry_target_async -from .retry_streaming import StreamingRetry -from .retry_streaming import retry_target_stream -from .retry_streaming_async import AsyncStreamingRetry -from .retry_streaming_async import retry_target_stream as retry_target_stream_async +from google.auth import exceptions as auth_exceptions # noqa: F401 # The following imports are for backwards compatibility with https://github.com/googleapis/python-api-core/blob/4d7d2edee2c108d43deb151e6e0fdceb56b73275/google/api_core/retry.py # # TODO: Revert these imports on the next major version release (https://github.com/googleapis/python-api-core/issues/576) -from google.api_core import datetime_helpers # noqa: F401 -from google.api_core import exceptions # noqa: F401 -from google.auth import exceptions as auth_exceptions # noqa: F401 +from google.api_core import ( + datetime_helpers, # noqa: F401 + exceptions, # noqa: F401 +) + +from .retry_base import ( + RetryFailureReason, + build_retry_error, + exponential_sleep_generator, + if_exception_type, + if_transient_error, +) +from .retry_streaming import StreamingRetry, retry_target_stream +from .retry_streaming_async import AsyncStreamingRetry +from .retry_streaming_async import retry_target_stream as retry_target_stream_async +from .retry_unary import Retry, retry_target +from .retry_unary_async import AsyncRetry +from .retry_unary_async import retry_target as retry_target_async __all__ = ( "exponential_sleep_generator", diff --git a/packages/google-api-core/google/api_core/retry/retry_base.py b/packages/google-api-core/google/api_core/retry/retry_base.py index 3dd975ed7a0b8..2fac01c42f545 100644 --- a/packages/google-api-core/google/api_core/retry/retry_base.py +++ b/packages/google-api-core/google/api_core/retry/retry_base.py @@ -23,14 +23,13 @@ import logging import random import time - from enum import Enum -from typing import Any, Callable, Optional, Iterator, TYPE_CHECKING +from typing import TYPE_CHECKING, Any, Callable, Iterator, Optional import requests.exceptions +from google.auth import exceptions as auth_exceptions from google.api_core import exceptions -from google.auth import exceptions as auth_exceptions if TYPE_CHECKING: import sys diff --git a/packages/google-api-core/google/api_core/retry/retry_streaming.py b/packages/google-api-core/google/api_core/retry/retry_streaming.py index e4474c8afdcff..db6ecb56b8a1e 100644 --- a/packages/google-api-core/google/api_core/retry/retry_streaming.py +++ b/packages/google-api-core/google/api_core/retry/retry_streaming.py @@ -15,29 +15,30 @@ """ Generator wrapper for retryable streaming RPCs. """ + from __future__ import annotations +import functools +import sys +import time from typing import ( + TYPE_CHECKING, + Any, Callable, - Optional, + Generator, + Iterable, List, + Optional, Tuple, - Iterable, - Generator, TypeVar, - Any, - TYPE_CHECKING, ) -import sys -import time -import functools - -from google.api_core.retry.retry_base import _BaseRetry -from google.api_core.retry.retry_base import _retry_error_helper -from google.api_core.retry import exponential_sleep_generator -from google.api_core.retry import build_retry_error -from google.api_core.retry import RetryFailureReason +from google.api_core.retry import ( + RetryFailureReason, + build_retry_error, + exponential_sleep_generator, +) +from google.api_core.retry.retry_base import _BaseRetry, _retry_error_helper if TYPE_CHECKING: if sys.version_info >= (3, 10): diff --git a/packages/google-api-core/google/api_core/retry/retry_streaming_async.py b/packages/google-api-core/google/api_core/retry/retry_streaming_async.py index 5e5fa2402478c..778eb8ee04521 100644 --- a/packages/google-api-core/google/api_core/retry/retry_streaming_async.py +++ b/packages/google-api-core/google/api_core/retry/retry_streaming_async.py @@ -15,32 +15,32 @@ """ Generator wrapper for retryable async streaming RPCs. """ + from __future__ import annotations +import asyncio +import functools +import sys +import time from typing import ( - cast, + TYPE_CHECKING, Any, - Callable, - Iterable, - AsyncIterator, + AsyncGenerator, AsyncIterable, + AsyncIterator, Awaitable, + Callable, + Iterable, TypeVar, - AsyncGenerator, - TYPE_CHECKING, + cast, ) -import asyncio -import time -import sys -import functools - -from google.api_core.retry.retry_base import _BaseRetry -from google.api_core.retry.retry_base import _retry_error_helper -from google.api_core.retry import exponential_sleep_generator -from google.api_core.retry import build_retry_error -from google.api_core.retry import RetryFailureReason - +from google.api_core.retry import ( + RetryFailureReason, + build_retry_error, + exponential_sleep_generator, +) +from google.api_core.retry.retry_base import _BaseRetry, _retry_error_helper if TYPE_CHECKING: if sys.version_info >= (3, 10): diff --git a/packages/google-api-core/google/api_core/retry/retry_unary.py b/packages/google-api-core/google/api_core/retry/retry_unary.py index 6d36bc7d1a451..5a9181400637c 100644 --- a/packages/google-api-core/google/api_core/retry/retry_unary.py +++ b/packages/google-api-core/google/api_core/retry/retry_unary.py @@ -57,18 +57,19 @@ def check_if_exists(): from __future__ import annotations import functools +import inspect import sys import time -import inspect import warnings -from typing import Any, Callable, Iterable, TypeVar, TYPE_CHECKING - -from google.api_core.retry.retry_base import _BaseRetry -from google.api_core.retry.retry_base import _retry_error_helper -from google.api_core.retry.retry_base import exponential_sleep_generator -from google.api_core.retry.retry_base import build_retry_error -from google.api_core.retry.retry_base import RetryFailureReason - +from typing import TYPE_CHECKING, Any, Callable, Iterable, TypeVar + +from google.api_core.retry.retry_base import ( + RetryFailureReason, + _BaseRetry, + _retry_error_helper, + build_retry_error, + exponential_sleep_generator, +) if TYPE_CHECKING: if sys.version_info >= (3, 10): diff --git a/packages/google-api-core/google/api_core/retry/retry_unary_async.py b/packages/google-api-core/google/api_core/retry/retry_unary_async.py index 1f72476aff139..f2399cf3297a4 100644 --- a/packages/google-api-core/google/api_core/retry/retry_unary_async.py +++ b/packages/google-api-core/google/api_core/retry/retry_unary_async.py @@ -54,26 +54,27 @@ async def check_if_exists(): from __future__ import annotations import asyncio -import time import functools +import time from typing import ( - Awaitable, + TYPE_CHECKING, Any, + Awaitable, Callable, Iterable, TypeVar, - TYPE_CHECKING, ) -from google.api_core.retry.retry_base import _BaseRetry -from google.api_core.retry.retry_base import _retry_error_helper -from google.api_core.retry.retry_base import exponential_sleep_generator -from google.api_core.retry.retry_base import build_retry_error -from google.api_core.retry.retry_base import RetryFailureReason - # for backwards compatibility, expose helpers in this module -from google.api_core.retry.retry_base import if_exception_type # noqa -from google.api_core.retry.retry_base import if_transient_error # noqa +from google.api_core.retry.retry_base import ( + RetryFailureReason, + _BaseRetry, + _retry_error_helper, + build_retry_error, + exponential_sleep_generator, + if_exception_type, # noqa + if_transient_error, # noqa +) if TYPE_CHECKING: import sys diff --git a/packages/google-api-core/google/api_core/retry_async.py b/packages/google-api-core/google/api_core/retry_async.py index 90a2d5adf7c42..b4af26b8d0a30 100644 --- a/packages/google-api-core/google/api_core/retry_async.py +++ b/packages/google-api-core/google/api_core/retry_async.py @@ -15,13 +15,16 @@ # The following imports are for backwards compatibility with https://github.com/googleapis/python-api-core/blob/4d7d2edee2c108d43deb151e6e0fdceb56b73275/google/api_core/retry_async.py # # TODO: Revert these imports on the next major version release (https://github.com/googleapis/python-api-core/issues/576) -from google.api_core import datetime_helpers # noqa: F401 -from google.api_core import exceptions # noqa: F401 -from google.api_core.retry import exponential_sleep_generator # noqa: F401 -from google.api_core.retry import if_exception_type # noqa: F401 -from google.api_core.retry import if_transient_error # noqa: F401 -from google.api_core.retry.retry_unary_async import AsyncRetry -from google.api_core.retry.retry_unary_async import retry_target +from google.api_core import ( + datetime_helpers, # noqa: F401 + exceptions, # noqa: F401 +) +from google.api_core.retry import ( + exponential_sleep_generator, # noqa: F401 + if_exception_type, # noqa: F401 + if_transient_error, # noqa: F401 +) +from google.api_core.retry.retry_unary_async import AsyncRetry, retry_target __all__ = ( "AsyncRetry", diff --git a/packages/google-api-core/setup.py b/packages/google-api-core/setup.py index 168877fa5bbe0..aacce68213d1d 100644 --- a/packages/google-api-core/setup.py +++ b/packages/google-api-core/setup.py @@ -14,5 +14,4 @@ import setuptools - setuptools.setup() diff --git a/packages/google-api-core/tests/asyncio/gapic/test_config_async.py b/packages/google-api-core/tests/asyncio/gapic/test_config_async.py index dbb05d5e81f5c..9e32ffb5546c8 100644 --- a/packages/google-api-core/tests/asyncio/gapic/test_config_async.py +++ b/packages/google-api-core/tests/asyncio/gapic/test_config_async.py @@ -23,7 +23,6 @@ from google.api_core import exceptions from google.api_core.gapic_v1 import config_async - INTERFACE_CONFIG = { "retry_codes": { "idempotent": ["DEADLINE_EXCEEDED", "UNAVAILABLE"], diff --git a/packages/google-api-core/tests/asyncio/gapic/test_method_async.py b/packages/google-api-core/tests/asyncio/gapic/test_method_async.py index 40dd168a0ea29..e410acbdfaab2 100644 --- a/packages/google-api-core/tests/asyncio/gapic/test_method_async.py +++ b/packages/google-api-core/tests/asyncio/gapic/test_method_async.py @@ -22,15 +22,17 @@ import pytest try: - from grpc import aio, Compression + from grpc import Compression, aio except ImportError: pytest.skip("No GRPC", allow_module_level=True) -from google.api_core import exceptions -from google.api_core import gapic_v1 -from google.api_core import grpc_helpers_async -from google.api_core import retry_async -from google.api_core import timeout +from google.api_core import ( + exceptions, + gapic_v1, + grpc_helpers_async, + retry_async, + timeout, +) def _utcnow_monotonic(): diff --git a/packages/google-api-core/tests/asyncio/operations_v1/test_operations_async_client.py b/packages/google-api-core/tests/asyncio/operations_v1/test_operations_async_client.py index e5b20dcd02de4..7d203c1d334de 100644 --- a/packages/google-api-core/tests/asyncio/operations_v1/test_operations_async_client.py +++ b/packages/google-api-core/tests/asyncio/operations_v1/test_operations_async_client.py @@ -17,16 +17,15 @@ import pytest try: - from grpc import aio, Compression + from grpc import Compression, aio except ImportError: # pragma: NO COVER pytest.skip("No GRPC", allow_module_level=True) -from google.api_core import grpc_helpers_async -from google.api_core import operations_v1 -from google.api_core import page_iterator_async from google.longrunning import operations_pb2 from google.protobuf import empty_pb2 +from google.api_core import grpc_helpers_async, operations_v1, page_iterator_async + def _mock_grpc_objects(response): fake_call = grpc_helpers_async.FakeUnaryUnaryCall(response) diff --git a/packages/google-api-core/tests/asyncio/retry/test_retry_streaming_async.py b/packages/google-api-core/tests/asyncio/retry/test_retry_streaming_async.py index f2473849eaad1..b4d270a411299 100644 --- a/packages/google-api-core/tests/asyncio/retry/test_retry_streaming_async.py +++ b/packages/google-api-core/tests/asyncio/retry/test_retry_streaming_async.py @@ -24,8 +24,7 @@ import pytest -from google.api_core import exceptions -from google.api_core import retry_async +from google.api_core import exceptions, retry_async from google.api_core.retry import retry_streaming_async from ...unit.retry.test_retry_base import Test_BaseRetry @@ -46,6 +45,7 @@ async def test_retry_streaming_target_dynamic_backoff(sleep): sleep_generator should be iterated after on_error, to support dynamic backoff """ from functools import partial + from google.api_core.retry.retry_streaming_async import retry_target_stream sleep.side_effect = RuntimeError("stop after sleep") @@ -558,6 +558,7 @@ async def test_exc_factory_timeout(self): test when timeout is exceeded """ import time + from google.api_core.retry import RetryFailureReason from google.api_core.retry.retry_streaming_async import retry_target_stream diff --git a/packages/google-api-core/tests/asyncio/retry/test_retry_unary_async.py b/packages/google-api-core/tests/asyncio/retry/test_retry_unary_async.py index e7fdc963f0c4d..b7476a75c8ef0 100644 --- a/packages/google-api-core/tests/asyncio/retry/test_retry_unary_async.py +++ b/packages/google-api-core/tests/asyncio/retry/test_retry_unary_async.py @@ -22,8 +22,7 @@ import mock # type: ignore import pytest -from google.api_core import exceptions -from google.api_core import retry_async +from google.api_core import exceptions, retry_async from ...unit.retry.test_retry_base import Test_BaseRetry diff --git a/packages/google-api-core/tests/asyncio/test_bidi_async.py b/packages/google-api-core/tests/asyncio/test_bidi_async.py index a39982bf92aa2..ba39ca07a96c9 100644 --- a/packages/google-api-core/tests/asyncio/test_bidi_async.py +++ b/packages/google-api-core/tests/asyncio/test_bidi_async.py @@ -14,7 +14,6 @@ import asyncio - from unittest import mock try: @@ -30,8 +29,7 @@ except ImportError: # pragma: NO COVER pytest.skip("No GRPC", allow_module_level=True) -from google.api_core import bidi_async -from google.api_core import exceptions +from google.api_core import bidi_async, exceptions @pytest.mark.asyncio diff --git a/packages/google-api-core/tests/asyncio/test_grpc_helpers_async.py b/packages/google-api-core/tests/asyncio/test_grpc_helpers_async.py index 43700f22bc836..0855e15e9ec76 100644 --- a/packages/google-api-core/tests/asyncio/test_grpc_helpers_async.py +++ b/packages/google-api-core/tests/asyncio/test_grpc_helpers_async.py @@ -17,9 +17,10 @@ from unittest.mock import AsyncMock # pragma: NO COVER # noqa: F401 except ImportError: # pragma: NO COVER import mock # type: ignore -from ..helpers import warn_deprecated_credentials_file import pytest # noqa: I202 +from ..helpers import warn_deprecated_credentials_file + try: import grpc from grpc import aio @@ -31,10 +32,10 @@ pytest.skip("No GRPC", allow_module_level=True) -from google.api_core import exceptions -from google.api_core import grpc_helpers_async import google.auth.credentials +from google.api_core import exceptions, grpc_helpers_async + class RpcErrorImpl(grpc.RpcError, grpc.Call): def __init__(self, code): diff --git a/packages/google-api-core/tests/asyncio/test_operation_async.py b/packages/google-api-core/tests/asyncio/test_operation_async.py index 22a4bd68a6feb..601c8995d4f6f 100644 --- a/packages/google-api-core/tests/asyncio/test_operation_async.py +++ b/packages/google-api-core/tests/asyncio/test_operation_async.py @@ -26,14 +26,11 @@ except ImportError: # pragma: NO COVER pytest.skip("No GRPC", allow_module_level=True) -from google.api_core import exceptions -from google.api_core import operation_async -from google.api_core import operations_v1 -from google.api_core import retry_async from google.longrunning import operations_pb2 from google.protobuf import struct_pb2 -from google.rpc import code_pb2 -from google.rpc import status_pb2 +from google.rpc import code_pb2, status_pb2 + +from google.api_core import exceptions, operation_async, operations_v1, retry_async TEST_OPERATION_NAME = "test/operation" diff --git a/packages/google-api-core/tests/asyncio/test_rest_streaming_async.py b/packages/google-api-core/tests/asyncio/test_rest_streaming_async.py index 13549c7f96dc2..743a60fb05ab1 100644 --- a/packages/google-api-core/tests/asyncio/test_rest_streaming_async.py +++ b/packages/google-api-core/tests/asyncio/test_rest_streaming_async.py @@ -19,7 +19,7 @@ import logging import random import time -from typing import List, AsyncIterator +from typing import AsyncIterator, List try: from unittest import mock @@ -27,9 +27,8 @@ except ImportError: # pragma: NO COVER import mock # type: ignore -import pytest # noqa: I202 - import proto +import pytest # noqa: I202 try: from google.auth.aio.transport import Response @@ -39,13 +38,11 @@ allow_module_level=True, ) -from google.api_core import rest_streaming_async -from google.api import http_pb2 -from google.api import httpbody_pb2 - +from google.api import http_pb2, httpbody_pb2 -from ..helpers import Composer, Song, EchoResponse, parse_responses +from google.api_core import rest_streaming_async +from ..helpers import Composer, EchoResponse, Song, parse_responses __protobuf__ = proto.module(package=__name__) SEED = int(time.time()) diff --git a/packages/google-api-core/tests/helpers.py b/packages/google-api-core/tests/helpers.py index 4c7d5db3ef2f2..86b5d149755f9 100644 --- a/packages/google-api-core/tests/helpers.py +++ b/packages/google-api-core/tests/helpers.py @@ -16,13 +16,11 @@ import functools import logging -import pytest # noqa: I202 from typing import List import proto - -from google.protobuf import duration_pb2 -from google.protobuf import timestamp_pb2 +import pytest # noqa: I202 +from google.protobuf import duration_pb2, timestamp_pb2 from google.protobuf.json_format import MessageToJson diff --git a/packages/google-api-core/tests/unit/gapic/test_config.py b/packages/google-api-core/tests/unit/gapic/test_config.py index 5e42fde895223..6e3a168e79b2f 100644 --- a/packages/google-api-core/tests/unit/gapic/test_config.py +++ b/packages/google-api-core/tests/unit/gapic/test_config.py @@ -22,7 +22,6 @@ from google.api_core import exceptions from google.api_core.gapic_v1 import config - INTERFACE_CONFIG = { "retry_codes": { "idempotent": ["DEADLINE_EXCEEDED", "UNAVAILABLE"], diff --git a/packages/google-api-core/tests/unit/gapic/test_method.py b/packages/google-api-core/tests/unit/gapic/test_method.py index 29e8fc2173bd1..6de72d1c7d321 100644 --- a/packages/google-api-core/tests/unit/gapic/test_method.py +++ b/packages/google-api-core/tests/unit/gapic/test_method.py @@ -23,12 +23,10 @@ pytest.skip("No GRPC", allow_module_level=True) -from google.api_core import exceptions -from google.api_core import retry -from google.api_core import timeout import google.api_core.gapic_v1.client_info import google.api_core.gapic_v1.method import google.api_core.page_iterator +from google.api_core import exceptions, retry, timeout def _utcnow_monotonic(): diff --git a/packages/google-api-core/tests/unit/operations_v1/test_operations_client.py b/packages/google-api-core/tests/unit/operations_v1/test_operations_client.py index fb4b14f184da9..555dfd0ab1e0f 100644 --- a/packages/google-api-core/tests/unit/operations_v1/test_operations_client.py +++ b/packages/google-api-core/tests/unit/operations_v1/test_operations_client.py @@ -19,13 +19,12 @@ except ImportError: # pragma: NO COVER pytest.skip("No GRPC", allow_module_level=True) -from google.api_core import grpc_helpers -from google.api_core import operations_v1 -from google.api_core import page_iterator -from google.api_core.operations_v1 import operations_client_config from google.longrunning import operations_pb2 from google.protobuf import empty_pb2 +from google.api_core import grpc_helpers, operations_v1, page_iterator +from google.api_core.operations_v1 import operations_client_config + def test_get_operation(): channel = grpc_helpers.ChannelStub() diff --git a/packages/google-api-core/tests/unit/operations_v1/test_operations_rest_client.py b/packages/google-api-core/tests/unit/operations_v1/test_operations_rest_client.py index a3189cf5f94bd..cdb0722474d6b 100644 --- a/packages/google-api-core/tests/unit/operations_v1/test_operations_rest_client.py +++ b/packages/google-api-core/tests/unit/operations_v1/test_operations_rest_client.py @@ -21,8 +21,10 @@ except ImportError: # pragma: NO COVER import mock # type: ignore -import pytest from typing import Any, List + +import pytest + from ...helpers import warn_deprecated_credentials_file try: @@ -53,9 +55,10 @@ try: import aiohttp # noqa: F401 import google.auth.aio.transport + from google.auth.aio import credentials as ga_credentials_async from google.auth.aio.transport.sessions import AsyncAuthorizedSession + from google.api_core.operations_v1 import AsyncOperationsRestClient - from google.auth.aio import credentials as ga_credentials_async GOOGLE_AUTH_AIO_INSTALLED = True except ImportError: @@ -1195,11 +1198,14 @@ def test_operations_base_transport(): def test_operations_base_transport_with_credentials_file(): # Instantiate the base transport with a credentials file - with mock.patch.object( - google.auth, "load_credentials_from_file", autospec=True - ) as load_creds, mock.patch( - "google.api_core.operations_v1.transports.OperationsTransport._prep_wrapped_messages" - ) as Transport: + with ( + mock.patch.object( + google.auth, "load_credentials_from_file", autospec=True + ) as load_creds, + mock.patch( + "google.api_core.operations_v1.transports.OperationsTransport._prep_wrapped_messages" + ) as Transport, + ): Transport.return_value = None load_creds.return_value = (ga_credentials.AnonymousCredentials(), None) with warn_deprecated_credentials_file(): @@ -1217,9 +1223,12 @@ def test_operations_base_transport_with_credentials_file(): def test_operations_base_transport_with_adc(): # Test the default credentials are used if credentials and credentials_file are None. - with mock.patch.object(google.auth, "default", autospec=True) as adc, mock.patch( - "google.api_core.operations_v1.transports.OperationsTransport._prep_wrapped_messages" - ) as Transport: + with ( + mock.patch.object(google.auth, "default", autospec=True) as adc, + mock.patch( + "google.api_core.operations_v1.transports.OperationsTransport._prep_wrapped_messages" + ) as Transport, + ): Transport.return_value = None adc.return_value = (ga_credentials.AnonymousCredentials(), None) transports.OperationsTransport() diff --git a/packages/google-api-core/tests/unit/retry/test_retry_base.py b/packages/google-api-core/tests/unit/retry/test_retry_base.py index 78fdb917111e0..9938d8802b36b 100644 --- a/packages/google-api-core/tests/unit/retry/test_retry_base.py +++ b/packages/google-api-core/tests/unit/retry/test_retry_base.py @@ -18,11 +18,10 @@ import pytest import requests.exceptions - -from google.api_core import exceptions -from google.api_core import retry from google.auth import exceptions as auth_exceptions +from google.api_core import exceptions, retry + def test_if_exception_type(): predicate = retry.if_exception_type(ValueError) @@ -64,8 +63,7 @@ def test_build_retry_error_empty_list(): attempt to build a retry error with no errors encountered should return a generic RetryError """ - from google.api_core.retry import build_retry_error - from google.api_core.retry import RetryFailureReason + from google.api_core.retry import RetryFailureReason, build_retry_error reason = RetryFailureReason.NON_RETRYABLE_ERROR src, cause = build_retry_error([], reason, 10) @@ -78,8 +76,7 @@ def test_build_retry_error_preserves_cause(): """ build_retry_error should preserve __cause__ from chained exceptions. """ - from google.api_core.retry import build_retry_error - from google.api_core.retry import RetryFailureReason + from google.api_core.retry import RetryFailureReason, build_retry_error # Create an exception with explicit cause cause = ValueError("root cause") @@ -98,8 +95,7 @@ def test_build_retry_error_timeout_message(): """ should provide helpful error message when timeout is reached """ - from google.api_core.retry import build_retry_error - from google.api_core.retry import RetryFailureReason + from google.api_core.retry import RetryFailureReason, build_retry_error reason = RetryFailureReason.TIMEOUT cause = RuntimeError("timeout") @@ -115,8 +111,7 @@ def test_build_retry_error_empty_timeout(): attempt to build a retry error when timeout is None should return a generic timeout error message """ - from google.api_core.retry import build_retry_error - from google.api_core.retry import RetryFailureReason + from google.api_core.retry import RetryFailureReason, build_retry_error reason = RetryFailureReason.TIMEOUT src, _ = build_retry_error([], reason, None) diff --git a/packages/google-api-core/tests/unit/retry/test_retry_imports.py b/packages/google-api-core/tests/unit/retry/test_retry_imports.py index 597909fc2d445..fba41c9be623b 100644 --- a/packages/google-api-core/tests/unit/retry/test_retry_imports.py +++ b/packages/google-api-core/tests/unit/retry/test_retry_imports.py @@ -17,9 +17,11 @@ def test_legacy_imports_retry_unary_sync(): # TODO: Delete this test when when we revert these imports on the # next major version release # (https://github.com/googleapis/python-api-core/issues/576) - from google.api_core.retry import datetime_helpers # noqa: F401 - from google.api_core.retry import exceptions # noqa: F401 - from google.api_core.retry import auth_exceptions # noqa: F401 + from google.api_core.retry import ( + auth_exceptions, # noqa: F401 + datetime_helpers, # noqa: F401 + exceptions, # noqa: F401 + ) def test_legacy_imports_retry_unary_async(): diff --git a/packages/google-api-core/tests/unit/retry/test_retry_streaming.py b/packages/google-api-core/tests/unit/retry/test_retry_streaming.py index 1fb3a80c1a3a2..3e256ec4ec0da 100644 --- a/packages/google-api-core/tests/unit/retry/test_retry_streaming.py +++ b/packages/google-api-core/tests/unit/retry/test_retry_streaming.py @@ -22,8 +22,7 @@ import pytest -from google.api_core import exceptions -from google.api_core import retry +from google.api_core import exceptions, retry from google.api_core.retry import retry_streaming from .test_retry_base import Test_BaseRetry @@ -127,8 +126,8 @@ def test___call___success(self, sleep): Test that a retry-decorated generator yields values as expected This test checks a generator with no issues """ - import types import collections + import types retry_ = retry_streaming.StreamingRetry() @@ -461,6 +460,7 @@ def test_exc_factory_timeout(self): test when timeout is exceeded """ import time + from google.api_core.retry import RetryFailureReason from google.api_core.retry.retry_streaming import retry_target_stream diff --git a/packages/google-api-core/tests/unit/retry/test_retry_unary.py b/packages/google-api-core/tests/unit/retry/test_retry_unary.py index f5bbcff72e9c5..e0c5b67d1eaaf 100644 --- a/packages/google-api-core/tests/unit/retry/test_retry_unary.py +++ b/packages/google-api-core/tests/unit/retry/test_retry_unary.py @@ -13,17 +13,17 @@ # limitations under the License. import datetime -import pytest import re +import pytest + try: from unittest import mock from unittest.mock import AsyncMock # pragma: NO COVER # noqa: F401 except ImportError: # pragma: NO COVER import mock # type: ignore -from google.api_core import exceptions -from google.api_core import retry +from google.api_core import exceptions, retry from .test_retry_base import Test_BaseRetry diff --git a/packages/google-api-core/tests/unit/test_bidi.py b/packages/google-api-core/tests/unit/test_bidi.py index 4a8eb74fac94b..ccf85a202f54c 100644 --- a/packages/google-api-core/tests/unit/test_bidi.py +++ b/packages/google-api-core/tests/unit/test_bidi.py @@ -31,8 +31,7 @@ except ImportError: # pragma: NO COVER pytest.skip("No GRPC", allow_module_level=True) -from google.api_core import bidi -from google.api_core import exceptions +from google.api_core import bidi, exceptions class Test_RequestQueueGenerator(object): diff --git a/packages/google-api-core/tests/unit/test_client_logging.py b/packages/google-api-core/tests/unit/test_client_logging.py index c73b269fe5172..e3dadd3cd0365 100644 --- a/packages/google-api-core/tests/unit/test_client_logging.py +++ b/packages/google-api-core/tests/unit/test_client_logging.py @@ -3,9 +3,9 @@ from unittest import mock from google.api_core.client_logging import ( - setup_logging, - initialize_logging, StructuredLogFormatter, + initialize_logging, + setup_logging, ) diff --git a/packages/google-api-core/tests/unit/test_client_options.py b/packages/google-api-core/tests/unit/test_client_options.py index 54558eea0e0fe..5d68232219f19 100644 --- a/packages/google-api-core/tests/unit/test_client_options.py +++ b/packages/google-api-core/tests/unit/test_client_options.py @@ -13,11 +13,13 @@ # limitations under the License. from re import match + import pytest -from ..helpers import warn_deprecated_credentials_file from google.api_core import client_options +from ..helpers import warn_deprecated_credentials_file + def get_client_cert(): return b"cert", b"key" diff --git a/packages/google-api-core/tests/unit/test_datetime_helpers.py b/packages/google-api-core/tests/unit/test_datetime_helpers.py index 5f5470a681461..b8f614af74db6 100644 --- a/packages/google-api-core/tests/unit/test_datetime_helpers.py +++ b/packages/google-api-core/tests/unit/test_datetime_helpers.py @@ -16,10 +16,9 @@ import datetime import pytest - -from google.api_core import datetime_helpers from google.protobuf import timestamp_pb2 +from google.api_core import datetime_helpers ONE_MINUTE_IN_MICROSECONDS = 60 * 1e6 diff --git a/packages/google-api-core/tests/unit/test_extended_operation.py b/packages/google-api-core/tests/unit/test_extended_operation.py index ab55066243e44..be5e890c0e785 100644 --- a/packages/google-api-core/tests/unit/test_extended_operation.py +++ b/packages/google-api-core/tests/unit/test_extended_operation.py @@ -19,9 +19,7 @@ import pytest -from google.api_core import exceptions -from google.api_core import extended_operation -from google.api_core import retry +from google.api_core import exceptions, extended_operation, retry TEST_OPERATION_NAME = "test/extended_operation" diff --git a/packages/google-api-core/tests/unit/test_grpc_helpers.py b/packages/google-api-core/tests/unit/test_grpc_helpers.py index e05d3969951f4..4f2912f823678 100644 --- a/packages/google-api-core/tests/unit/test_grpc_helpers.py +++ b/packages/google-api-core/tests/unit/test_grpc_helpers.py @@ -15,6 +15,7 @@ from unittest import mock import pytest + from ..helpers import warn_deprecated_credentials_file try: @@ -22,11 +23,11 @@ except ImportError: # pragma: NO COVER pytest.skip("No GRPC", allow_module_level=True) -from google.api_core import exceptions -from google.api_core import grpc_helpers import google.auth.credentials from google.longrunning import operations_pb2 +from google.api_core import exceptions, grpc_helpers + def test__patch_callable_name(): callable = mock.Mock(spec=["__class__"]) diff --git a/packages/google-api-core/tests/unit/test_iam.py b/packages/google-api-core/tests/unit/test_iam.py index 3de15288714ea..45030a2f3de76 100644 --- a/packages/google-api-core/tests/unit/test_iam.py +++ b/packages/google-api-core/tests/unit/test_iam.py @@ -277,7 +277,7 @@ def test_from_api_repr_only_etag(self): assert dict(policy) == {} def test_from_api_repr_complete(self): - from google.api_core.iam import OWNER_ROLE, EDITOR_ROLE, VIEWER_ROLE + from google.api_core.iam import EDITOR_ROLE, OWNER_ROLE, VIEWER_ROLE OWNER1 = "group:cloud-logs@google.com" OWNER2 = "user:phred@example.com" @@ -354,7 +354,8 @@ def test_to_api_repr_binding_w_duplicates(self): def test_to_api_repr_full(self): import operator - from google.api_core.iam import OWNER_ROLE, EDITOR_ROLE, VIEWER_ROLE + + from google.api_core.iam import EDITOR_ROLE, OWNER_ROLE, VIEWER_ROLE OWNER1 = "group:cloud-logs@google.com" OWNER2 = "user:phred@example.com" diff --git a/packages/google-api-core/tests/unit/test_operation.py b/packages/google-api-core/tests/unit/test_operation.py index 80680720178d5..5f86ffc7db138 100644 --- a/packages/google-api-core/tests/unit/test_operation.py +++ b/packages/google-api-core/tests/unit/test_operation.py @@ -22,14 +22,11 @@ except ImportError: # pragma: NO COVER pytest.skip("No GRPC", allow_module_level=True) -from google.api_core import exceptions -from google.api_core import operation -from google.api_core import operations_v1 -from google.api_core import retry from google.longrunning import operations_pb2 from google.protobuf import struct_pb2 -from google.rpc import code_pb2 -from google.rpc import status_pb2 +from google.rpc import code_pb2, status_pb2 + +from google.api_core import exceptions, operation, operations_v1, retry TEST_OPERATION_NAME = "test/operation" diff --git a/packages/google-api-core/tests/unit/test_path_template.py b/packages/google-api-core/tests/unit/test_path_template.py index c34dd0f32cbb3..e621d5151f588 100644 --- a/packages/google-api-core/tests/unit/test_path_template.py +++ b/packages/google-api-core/tests/unit/test_path_template.py @@ -13,11 +13,12 @@ # limitations under the License. from __future__ import unicode_literals + from unittest import mock import pytest - from google.api import auth_pb2 + from google.api_core import path_template diff --git a/packages/google-api-core/tests/unit/test_protobuf_helpers.py b/packages/google-api-core/tests/unit/test_protobuf_helpers.py index 5678d3bc5cee4..15228c6e71b46 100644 --- a/packages/google-api-core/tests/unit/test_protobuf_helpers.py +++ b/packages/google-api-core/tests/unit/test_protobuf_helpers.py @@ -12,22 +12,23 @@ # See the License for the specific language governing permissions and # limitations under the License. -import pytest import re +import pytest from google.api import http_pb2 -from google.api_core import protobuf_helpers from google.longrunning import operations_pb2 -from google.protobuf import any_pb2 -from google.protobuf import message -from google.protobuf import source_context_pb2 -from google.protobuf import struct_pb2 -from google.protobuf import timestamp_pb2 -from google.protobuf import type_pb2 -from google.protobuf import wrappers_pb2 -from google.type import color_pb2 -from google.type import date_pb2 -from google.type import timeofday_pb2 +from google.protobuf import ( + any_pb2, + message, + source_context_pb2, + struct_pb2, + timestamp_pb2, + type_pb2, + wrappers_pb2, +) +from google.type import color_pb2, date_pb2, timeofday_pb2 + +from google.api_core import protobuf_helpers def test_from_any_pb_success(): diff --git a/packages/google-api-core/tests/unit/test_python_package_support.py b/packages/google-api-core/tests/unit/test_python_package_support.py index 0feb26440b793..42e8de673dea3 100644 --- a/packages/google-api-core/tests/unit/test_python_package_support.py +++ b/packages/google-api-core/tests/unit/test_python_package_support.py @@ -18,12 +18,12 @@ import pytest from google.api_core._python_package_support import ( - parse_version_to_tuple, - get_dependency_version, - warn_deprecation_for_versions_less_than, - check_dependency_versions, DependencyConstraint, DependencyVersion, + check_dependency_versions, + get_dependency_version, + parse_version_to_tuple, + warn_deprecation_for_versions_less_than, ) diff --git a/packages/google-api-core/tests/unit/test_rest_streaming.py b/packages/google-api-core/tests/unit/test_rest_streaming.py index 0f998dfe7a109..904b78ef21bb2 100644 --- a/packages/google-api-core/tests/unit/test_rest_streaming.py +++ b/packages/google-api-core/tests/unit/test_rest_streaming.py @@ -22,13 +22,11 @@ import proto import pytest import requests +from google.api import http_pb2, httpbody_pb2 from google.api_core import rest_streaming -from google.api import http_pb2 -from google.api import httpbody_pb2 - -from ..helpers import Composer, Song, EchoResponse, parse_responses +from ..helpers import Composer, EchoResponse, Song, parse_responses __protobuf__ = proto.module(package=__name__) SEED = int(time.time()) diff --git a/packages/google-api-core/tests/unit/test_timeout.py b/packages/google-api-core/tests/unit/test_timeout.py index da7ea18264a12..9d38776327d84 100644 --- a/packages/google-api-core/tests/unit/test_timeout.py +++ b/packages/google-api-core/tests/unit/test_timeout.py @@ -14,9 +14,10 @@ import datetime import itertools -import pytest from unittest import mock +import pytest + from google.api_core import timeout as timeouts diff --git a/packages/google-api-core/tests/unit/test_universe.py b/packages/google-api-core/tests/unit/test_universe.py index 214e00acc224b..7fcd7d1155bea 100644 --- a/packages/google-api-core/tests/unit/test_universe.py +++ b/packages/google-api-core/tests/unit/test_universe.py @@ -13,6 +13,7 @@ # limitations under the License. import pytest + from google.api_core import universe From eaa61697dadf580dfdc9592b40c00b470dbcc6fd Mon Sep 17 00:00:00 2001 From: Daniel Sanche Date: Thu, 16 Jul 2026 18:04:10 -0700 Subject: [PATCH 2/3] updated noxfile to use ruff --- packages/google-api-core/noxfile.py | 40 +++++++++++++++++------------ 1 file changed, 24 insertions(+), 16 deletions(-) diff --git a/packages/google-api-core/noxfile.py b/packages/google-api-core/noxfile.py index 0bad668a80ddb..4ab3143b1894e 100644 --- a/packages/google-api-core/noxfile.py +++ b/packages/google-api-core/noxfile.py @@ -28,11 +28,8 @@ # https://github.com/google/importlab/issues/25 import nox -BLACK_VERSION = "black==23.7.0" RUFF_VERSION = "ruff==0.14.14" -BLACK_PATHS = ["docs", "google", "tests", "noxfile.py", "setup.py"] -# Black and flake8 clash on the syntax for ignoring flake8's F401 in this file. -BLACK_EXCLUDES = ["--exclude", "^/google/api_core/operations_v1/__init__.py"] +LINT_PATHS = ["docs", "google", "tests", "noxfile.py", "setup.py"] ALL_PYTHON = ["3.10", "3.11", "3.12", "3.13", "3.14"] SUPPORTED_PYTHON_VERSIONS = ["3.10", "3.11", "3.12", "3.13", "3.14"] @@ -52,25 +49,36 @@ def lint(session): Returns a failure if the linters find linting errors or sufficiently serious code quality issues. """ - session.install("flake8", BLACK_VERSION) - session.install(".") + session.install("flake8", RUFF_VERSION) + session.run( - "black", + "ruff", + "format", "--check", - *BLACK_EXCLUDES, - *BLACK_PATHS, + f"--target-version=py{ALL_PYTHON[0].replace('.', '')}", + "--line-length=88", + *LINT_PATHS, ) + session.run("flake8", "google", "tests") @nox.session(python=DEFAULT_PYTHON_VERSION) def blacken(session): - """Run black. + """(Deprecated) Legacy session. Please use 'nox -s format'.""" + session.log( + "WARNING: The 'blacken' session is deprecated and will be removed in a future release. Please use 'nox -s format' in the future." + ) - Format code to uniform standard. - """ - session.install(BLACK_VERSION) - session.run("black", *BLACK_EXCLUDES, *BLACK_PATHS) + # Just run the ruff formatter (keeping legacy behavior of only formatting, not sorting imports) + session.install(RUFF_VERSION) + session.run( + "ruff", + "format", + f"--target-version=py{ALL_PYTHON[0].replace('.', '')}", + "--line-length=88", + *LINT_PATHS, + ) @nox.session(python=DEFAULT_PYTHON_VERSION) @@ -90,7 +98,7 @@ def format(session): "--fix", f"--target-version=py{ALL_PYTHON[0].replace('.', '')}", "--line-length=88", - *BLACK_PATHS, + *LINT_PATHS, ) # 3. Run Ruff to format code @@ -99,7 +107,7 @@ def format(session): "format", f"--target-version=py{ALL_PYTHON[0].replace('.', '')}", "--line-length=88", - *BLACK_PATHS, + *LINT_PATHS, ) From cbec1a1c8294231a29474926f8d2da6edb414038 Mon Sep 17 00:00:00 2001 From: Daniel Sanche Date: Thu, 16 Jul 2026 18:04:22 -0700 Subject: [PATCH 3/3] updated noqa lines --- .../google/api_core/gapic_v1/method_async.py | 6 +++--- .../google-api-core/google/api_core/retry/__init__.py | 6 +++--- .../google/api_core/retry/retry_unary_async.py | 6 +++--- .../tests/unit/retry/test_retry_imports.py | 8 ++++---- 4 files changed, 13 insertions(+), 13 deletions(-) diff --git a/packages/google-api-core/google/api_core/gapic_v1/method_async.py b/packages/google-api-core/google/api_core/gapic_v1/method_async.py index a4e9648d4b7bb..d361bf9f961ff 100644 --- a/packages/google-api-core/google/api_core/gapic_v1/method_async.py +++ b/packages/google-api-core/google/api_core/gapic_v1/method_async.py @@ -21,9 +21,9 @@ from google.api_core import grpc_helpers_async from google.api_core.gapic_v1 import client_info -from google.api_core.gapic_v1.method import ( - DEFAULT, # noqa: F401 - USE_DEFAULT_METADATA, # noqa: F401 +from google.api_core.gapic_v1.method import ( # noqa: F401 + DEFAULT, + USE_DEFAULT_METADATA, _GapicCallable, ) diff --git a/packages/google-api-core/google/api_core/retry/__init__.py b/packages/google-api-core/google/api_core/retry/__init__.py index 45f9ec82113ea..a78557862a36e 100644 --- a/packages/google-api-core/google/api_core/retry/__init__.py +++ b/packages/google-api-core/google/api_core/retry/__init__.py @@ -19,9 +19,9 @@ # The following imports are for backwards compatibility with https://github.com/googleapis/python-api-core/blob/4d7d2edee2c108d43deb151e6e0fdceb56b73275/google/api_core/retry.py # # TODO: Revert these imports on the next major version release (https://github.com/googleapis/python-api-core/issues/576) -from google.api_core import ( - datetime_helpers, # noqa: F401 - exceptions, # noqa: F401 +from google.api_core import ( # noqa: F401 + datetime_helpers, + exceptions, ) from .retry_base import ( diff --git a/packages/google-api-core/google/api_core/retry/retry_unary_async.py b/packages/google-api-core/google/api_core/retry/retry_unary_async.py index f2399cf3297a4..b26c9511573ec 100644 --- a/packages/google-api-core/google/api_core/retry/retry_unary_async.py +++ b/packages/google-api-core/google/api_core/retry/retry_unary_async.py @@ -66,14 +66,14 @@ async def check_if_exists(): ) # for backwards compatibility, expose helpers in this module -from google.api_core.retry.retry_base import ( +from google.api_core.retry.retry_base import ( # noqa: F401 RetryFailureReason, _BaseRetry, _retry_error_helper, build_retry_error, exponential_sleep_generator, - if_exception_type, # noqa - if_transient_error, # noqa + if_exception_type, + if_transient_error, ) if TYPE_CHECKING: diff --git a/packages/google-api-core/tests/unit/retry/test_retry_imports.py b/packages/google-api-core/tests/unit/retry/test_retry_imports.py index fba41c9be623b..416eff7e8351e 100644 --- a/packages/google-api-core/tests/unit/retry/test_retry_imports.py +++ b/packages/google-api-core/tests/unit/retry/test_retry_imports.py @@ -17,10 +17,10 @@ def test_legacy_imports_retry_unary_sync(): # TODO: Delete this test when when we revert these imports on the # next major version release # (https://github.com/googleapis/python-api-core/issues/576) - from google.api_core.retry import ( - auth_exceptions, # noqa: F401 - datetime_helpers, # noqa: F401 - exceptions, # noqa: F401 + from google.api_core.retry import ( # noqa: F401 + auth_exceptions, + datetime_helpers, + exceptions, )