diff --git a/.librarian/generator-input/client-post-processing/bigtable-integration.yaml b/.librarian/generator-input/client-post-processing/bigtable-integration.yaml index ef8388f2e6ff..f56571950615 100644 --- a/.librarian/generator-input/client-post-processing/bigtable-integration.yaml +++ b/.librarian/generator-input/client-post-processing/bigtable-integration.yaml @@ -466,6 +466,17 @@ replacements: """ session.install("flake8", RUFF_VERSION) + # 1. Check imports + session.run( + "ruff", + "check", + "--select", + "I", + f"--target-version=py{ALL_PYTHON[0].replace('.', '')}", + "--line-length=88", + *LINT_PATHS, + ) + # 2. Check formatting session.run( "ruff", diff --git a/.librarian/generator-input/client-post-processing/spanner-integration.yaml b/.librarian/generator-input/client-post-processing/spanner-integration.yaml index 3468bd3f567f..54e80f238aea 100644 --- a/.librarian/generator-input/client-post-processing/spanner-integration.yaml +++ b/.librarian/generator-input/client-post-processing/spanner-integration.yaml @@ -780,6 +780,17 @@ replacements: """ session.install("flake8", RUFF_VERSION) + # 1. Check imports + session.run( + "ruff", + "check", + "--select", + "I", + f"--target-version=py{ALL_PYTHON[0].replace('.', '')}", + "--line-length=88", + *LINT_PATHS, + ) + # 2. Check formatting session.run( "ruff", diff --git a/packages/django-google-spanner/noxfile.py b/packages/django-google-spanner/noxfile.py index 612fafe793f9..17c76901b726 100644 --- a/packages/django-google-spanner/noxfile.py +++ b/packages/django-google-spanner/noxfile.py @@ -88,6 +88,17 @@ def lint(session): """ session.install("flake8", RUFF_VERSION) + # 1. Check imports + session.run( + "ruff", + "check", + "--select", + "I", + f"--target-version=py{ALL_PYTHON[0].replace('.', '')}", + "--line-length=88", + *LINT_PATHS, + ) + # 2. Check formatting session.run( "ruff", diff --git a/packages/gapic-generator/gapic/templates/noxfile.py.j2 b/packages/gapic-generator/gapic/templates/noxfile.py.j2 index d4176bdf4222..82eafe08205e 100644 --- a/packages/gapic-generator/gapic/templates/noxfile.py.j2 +++ b/packages/gapic-generator/gapic/templates/noxfile.py.j2 @@ -158,6 +158,15 @@ def lint(session): """ session.install("flake8", RUFF_VERSION) + # 1. Check imports + session.run( + "ruff", "check", + "--select", "I", + f"--target-version=py{ALL_PYTHON[0].replace('.', '')}", + "--line-length=88", + *LINT_PATHS, + ) + # 2. Check formatting session.run( "ruff", "format", diff --git a/packages/gapic-generator/noxfile.py b/packages/gapic-generator/noxfile.py index a434a57e68ee..a9724ae3b450 100644 --- a/packages/gapic-generator/noxfile.py +++ b/packages/gapic-generator/noxfile.py @@ -760,6 +760,17 @@ def lint(session): session.install("flake8", RUFF_VERSION) + # 1. Check imports + session.run( + "ruff", + "check", + "--select", + "I", + *LINT_PATHS, + "--exclude", + RUFF_EXCLUDES, + ) + # 2. Check formatting session.run( "ruff", diff --git a/packages/gapic-generator/tests/integration/goldens/asset/noxfile.py b/packages/gapic-generator/tests/integration/goldens/asset/noxfile.py index 0098c6989836..ba4e5182d55f 100755 --- a/packages/gapic-generator/tests/integration/goldens/asset/noxfile.py +++ b/packages/gapic-generator/tests/integration/goldens/asset/noxfile.py @@ -161,6 +161,15 @@ def lint(session): """ session.install("flake8", RUFF_VERSION) + # 1. Check imports + session.run( + "ruff", "check", + "--select", "I", + f"--target-version=py{ALL_PYTHON[0].replace('.', '')}", + "--line-length=88", + *LINT_PATHS, + ) + # 2. Check formatting session.run( "ruff", "format", diff --git a/packages/gapic-generator/tests/integration/goldens/credentials/noxfile.py b/packages/gapic-generator/tests/integration/goldens/credentials/noxfile.py index 0744db4ab69b..0acd2737cc87 100755 --- a/packages/gapic-generator/tests/integration/goldens/credentials/noxfile.py +++ b/packages/gapic-generator/tests/integration/goldens/credentials/noxfile.py @@ -161,6 +161,15 @@ def lint(session): """ session.install("flake8", RUFF_VERSION) + # 1. Check imports + session.run( + "ruff", "check", + "--select", "I", + f"--target-version=py{ALL_PYTHON[0].replace('.', '')}", + "--line-length=88", + *LINT_PATHS, + ) + # 2. Check formatting session.run( "ruff", "format", diff --git a/packages/gapic-generator/tests/integration/goldens/eventarc/noxfile.py b/packages/gapic-generator/tests/integration/goldens/eventarc/noxfile.py index f163aac8e963..319f0c3fce24 100755 --- a/packages/gapic-generator/tests/integration/goldens/eventarc/noxfile.py +++ b/packages/gapic-generator/tests/integration/goldens/eventarc/noxfile.py @@ -161,6 +161,15 @@ def lint(session): """ session.install("flake8", RUFF_VERSION) + # 1. Check imports + session.run( + "ruff", "check", + "--select", "I", + f"--target-version=py{ALL_PYTHON[0].replace('.', '')}", + "--line-length=88", + *LINT_PATHS, + ) + # 2. Check formatting session.run( "ruff", "format", diff --git a/packages/gapic-generator/tests/integration/goldens/logging/noxfile.py b/packages/gapic-generator/tests/integration/goldens/logging/noxfile.py index 1510142f6d7d..a056aad6996d 100755 --- a/packages/gapic-generator/tests/integration/goldens/logging/noxfile.py +++ b/packages/gapic-generator/tests/integration/goldens/logging/noxfile.py @@ -161,6 +161,15 @@ def lint(session): """ session.install("flake8", RUFF_VERSION) + # 1. Check imports + session.run( + "ruff", "check", + "--select", "I", + f"--target-version=py{ALL_PYTHON[0].replace('.', '')}", + "--line-length=88", + *LINT_PATHS, + ) + # 2. Check formatting session.run( "ruff", "format", diff --git a/packages/gapic-generator/tests/integration/goldens/logging_internal/noxfile.py b/packages/gapic-generator/tests/integration/goldens/logging_internal/noxfile.py index 1510142f6d7d..a056aad6996d 100755 --- a/packages/gapic-generator/tests/integration/goldens/logging_internal/noxfile.py +++ b/packages/gapic-generator/tests/integration/goldens/logging_internal/noxfile.py @@ -161,6 +161,15 @@ def lint(session): """ session.install("flake8", RUFF_VERSION) + # 1. Check imports + session.run( + "ruff", "check", + "--select", "I", + f"--target-version=py{ALL_PYTHON[0].replace('.', '')}", + "--line-length=88", + *LINT_PATHS, + ) + # 2. Check formatting session.run( "ruff", "format", diff --git a/packages/gapic-generator/tests/integration/goldens/redis/noxfile.py b/packages/gapic-generator/tests/integration/goldens/redis/noxfile.py index 8b1386af4435..94eb7722cb39 100755 --- a/packages/gapic-generator/tests/integration/goldens/redis/noxfile.py +++ b/packages/gapic-generator/tests/integration/goldens/redis/noxfile.py @@ -161,6 +161,15 @@ def lint(session): """ session.install("flake8", RUFF_VERSION) + # 1. Check imports + session.run( + "ruff", "check", + "--select", "I", + f"--target-version=py{ALL_PYTHON[0].replace('.', '')}", + "--line-length=88", + *LINT_PATHS, + ) + # 2. Check formatting session.run( "ruff", "format", diff --git a/packages/gapic-generator/tests/integration/goldens/redis_selective/noxfile.py b/packages/gapic-generator/tests/integration/goldens/redis_selective/noxfile.py index 8b1386af4435..94eb7722cb39 100755 --- a/packages/gapic-generator/tests/integration/goldens/redis_selective/noxfile.py +++ b/packages/gapic-generator/tests/integration/goldens/redis_selective/noxfile.py @@ -161,6 +161,15 @@ def lint(session): """ session.install("flake8", RUFF_VERSION) + # 1. Check imports + session.run( + "ruff", "check", + "--select", "I", + f"--target-version=py{ALL_PYTHON[0].replace('.', '')}", + "--line-length=88", + *LINT_PATHS, + ) + # 2. Check formatting session.run( "ruff", "format", diff --git a/packages/gapic-generator/tests/integration/goldens/storagebatchoperations/noxfile.py b/packages/gapic-generator/tests/integration/goldens/storagebatchoperations/noxfile.py index 75fded704a26..c4e8586cd302 100755 --- a/packages/gapic-generator/tests/integration/goldens/storagebatchoperations/noxfile.py +++ b/packages/gapic-generator/tests/integration/goldens/storagebatchoperations/noxfile.py @@ -161,6 +161,15 @@ def lint(session): """ session.install("flake8", RUFF_VERSION) + # 1. Check imports + session.run( + "ruff", "check", + "--select", "I", + f"--target-version=py{ALL_PYTHON[0].replace('.', '')}", + "--line-length=88", + *LINT_PATHS, + ) + # 2. Check formatting session.run( "ruff", "format", diff --git a/packages/gcp-sphinx-docfx-yaml/noxfile.py b/packages/gcp-sphinx-docfx-yaml/noxfile.py index eba996702d4d..c07b64581285 100644 --- a/packages/gcp-sphinx-docfx-yaml/noxfile.py +++ b/packages/gcp-sphinx-docfx-yaml/noxfile.py @@ -138,6 +138,17 @@ def lint(session): """ session.install("flake8", RUFF_VERSION) + # 1. Check imports + session.run( + "ruff", + "check", + "--select", + "I", + f"--target-version=py{ALL_PYTHON[0].replace('.', '')}", + "--line-length=88", + ".", + ) + # 2. Check formatting session.run( "ruff", diff --git a/packages/google-api-core/google/api_core/rest_helpers.py b/packages/google-api-core/google/api_core/rest_helpers.py index b8edfad9a8ac..bbdccf7ca5c3 100644 --- a/packages/google-api-core/google/api_core/rest_helpers.py +++ b/packages/google-api-core/google/api_core/rest_helpers.py @@ -19,9 +19,10 @@ import operator from typing import Any, Dict, List, Optional, Tuple -from google.api_core import path_template from google.protobuf import json_format +from google.api_core import path_template + __all__ = ["flatten_query_params", "transcode", "transcode_request"] diff --git a/packages/google-api-core/noxfile.py b/packages/google-api-core/noxfile.py index 673b91043bd6..4ae56dc0f008 100644 --- a/packages/google-api-core/noxfile.py +++ b/packages/google-api-core/noxfile.py @@ -60,6 +60,18 @@ def lint(session): """ session.install("flake8", RUFF_VERSION) + # 1. Check imports + session.run( + "ruff", + "check", + "--select", + "I", + f"--target-version=py{ALL_PYTHON[0].replace('.', '')}", + "--line-length=88", + *LINT_PATHS, + ) + + # 2. Check formatting session.run( "ruff", "format", diff --git a/packages/google-api-core/tests/unit/test_feature_gating_helpers.py b/packages/google-api-core/tests/unit/test_feature_gating_helpers.py index 9a8f0886442c..e7c372cb3ca3 100644 --- a/packages/google-api-core/tests/unit/test_feature_gating_helpers.py +++ b/packages/google-api-core/tests/unit/test_feature_gating_helpers.py @@ -13,6 +13,7 @@ # limitations under the License. import pytest + from google.api_core import _feature_gating_helpers from google.api_core._feature_gating_helpers import ( FeatureGatingError, diff --git a/packages/google-api-core/tests/unit/test_rest_helpers.py b/packages/google-api-core/tests/unit/test_rest_helpers.py index 7aa8bea2a042..90965b332a09 100644 --- a/packages/google-api-core/tests/unit/test_rest_helpers.py +++ b/packages/google-api-core/tests/unit/test_rest_helpers.py @@ -16,10 +16,10 @@ from unittest import mock import pytest +from google.protobuf import descriptor_pb2 from google.api_core import rest_helpers from google.api_core.rest_helpers import transcode_request -from google.protobuf import descriptor_pb2 def test_flatten_simple_value(): diff --git a/packages/google-cloud-bigtable/tests/unit/data/_async/test_client.py b/packages/google-cloud-bigtable/tests/unit/data/_async/test_client.py index 02626dbef44a..1c902db10d31 100644 --- a/packages/google-cloud-bigtable/tests/unit/data/_async/test_client.py +++ b/packages/google-cloud-bigtable/tests/unit/data/_async/test_client.py @@ -1596,9 +1596,10 @@ async def test_call_metadata(self, include_app_profile, fn_name, fn_args, gapic_ # incomplete mutation, so an empty mock stream would retry until the # operation timeout. Return a success entry for the single mutation # so the operation completes after a single attempt. - from google.cloud.bigtable_v2.types import MutateRowsResponse from google.rpc import status_pb2 + from google.cloud.bigtable_v2.types import MutateRowsResponse + @CrossSync.convert async def mutate_rows_stream(*args, **kwargs): yield MutateRowsResponse( diff --git a/packages/google-cloud-ndb/noxfile.py b/packages/google-cloud-ndb/noxfile.py index cb957a674ed1..6782a3f9e812 100644 --- a/packages/google-cloud-ndb/noxfile.py +++ b/packages/google-cloud-ndb/noxfile.py @@ -263,6 +263,17 @@ def lint(session): """ session.install("flake8", RUFF_VERSION) + # 1. Check imports + session.run( + "ruff", + "check", + "--select", + "I", + f"--target-version=py{ALL_INTERPRETERS[0].replace('.', '')}", + "--line-length=88", + *LINT_PATHS, + ) + # 2. Check formatting session.run( "ruff", diff --git a/packages/google-cloud-spanner-dbapi-driver/noxfile.py b/packages/google-cloud-spanner-dbapi-driver/noxfile.py index b03d6ac78d4d..a882c2b2b77e 100644 --- a/packages/google-cloud-spanner-dbapi-driver/noxfile.py +++ b/packages/google-cloud-spanner-dbapi-driver/noxfile.py @@ -165,6 +165,17 @@ def lint(session): """ session.install("flake8", RUFF_VERSION) + # 1. Check imports + session.run( + "ruff", + "check", + "--select", + "I", + f"--target-version=py{DEFAULT_PYTHON_VERSION.replace('.', '')}", + "--line-length=88", + *LINT_PATHS, + ) + # 2. Check formatting session.run( "ruff", diff --git a/packages/google-cloud-spanner-dbapi-driver/tests/system/_helper.py b/packages/google-cloud-spanner-dbapi-driver/tests/system/_helper.py index 42ad891e92ba..7f494b060a02 100644 --- a/packages/google-cloud-spanner-dbapi-driver/tests/system/_helper.py +++ b/packages/google-cloud-spanner-dbapi-driver/tests/system/_helper.py @@ -14,6 +14,7 @@ """Helper functions for system tests.""" import os + import pytest SPANNER_EMULATOR_HOST = os.environ.get("SPANNER_EMULATOR_HOST") diff --git a/packages/google-cloud-storage/noxfile.py b/packages/google-cloud-storage/noxfile.py index 7f8f561031fd..fc2288be45a2 100644 --- a/packages/google-cloud-storage/noxfile.py +++ b/packages/google-cloud-storage/noxfile.py @@ -173,6 +173,17 @@ def lint(session): """ session.install("flake8", RUFF_VERSION) + # 1. Check imports + session.run( + "ruff", + "check", + "--select", + "I", + f"--target-version=py{ALL_PYTHON[0].replace('.', '')}", + "--line-length=88", + *LINT_PATHS, + ) + # 2. Check formatting session.run( "ruff", diff --git a/packages/sqlalchemy-spanner/noxfile.py b/packages/sqlalchemy-spanner/noxfile.py index a69e9bb2b89b..8d1af9102528 100644 --- a/packages/sqlalchemy-spanner/noxfile.py +++ b/packages/sqlalchemy-spanner/noxfile.py @@ -152,6 +152,17 @@ def lint(session): """ session.install("flake8", RUFF_VERSION) + # 1. Check imports + session.run( + "ruff", + "check", + "--select", + "I", + f"--target-version=py{ALL_PYTHON[0].replace('.', '')}", + "--line-length=88", + *LINT_PATHS, + ) + # 2. Check formatting session.run( "ruff", diff --git a/packages/sqlalchemy-spanner/tests/mockserver_tests/test_tokenlist.py b/packages/sqlalchemy-spanner/tests/mockserver_tests/test_tokenlist.py index fa56f74e4826..e024ecfe08d6 100644 --- a/packages/sqlalchemy-spanner/tests/mockserver_tests/test_tokenlist.py +++ b/packages/sqlalchemy-spanner/tests/mockserver_tests/test_tokenlist.py @@ -14,7 +14,8 @@ from sqlalchemy import types from sqlalchemy.testing import eq_, fixtures -from google.cloud.sqlalchemy_spanner.sqlalchemy_spanner import _type_map, SpannerDialect + +from google.cloud.sqlalchemy_spanner.sqlalchemy_spanner import SpannerDialect, _type_map class TokenlistTest(fixtures.TestBase): diff --git a/packages/sqlalchemy-spanner/tests/mockserver_tests/test_uuid.py b/packages/sqlalchemy-spanner/tests/mockserver_tests/test_uuid.py index d330f6e48ad5..0725179cb2b7 100644 --- a/packages/sqlalchemy-spanner/tests/mockserver_tests/test_uuid.py +++ b/packages/sqlalchemy-spanner/tests/mockserver_tests/test_uuid.py @@ -14,7 +14,6 @@ from uuid import UUID - from google.cloud.spanner_v1 import TypeCode from sqlalchemy import Column, MetaData, Table, select, types from sqlalchemy.orm import DeclarativeBase, Mapped, Session, mapped_column diff --git a/packages/sqlalchemy-spanner/tests/test_suite_14.py b/packages/sqlalchemy-spanner/tests/test_suite_14.py index 6494c414069a..1cc07f243f3a 100644 --- a/packages/sqlalchemy-spanner/tests/test_suite_14.py +++ b/packages/sqlalchemy-spanner/tests/test_suite_14.py @@ -25,9 +25,7 @@ import pytest import sqlalchemy from google.api_core.datetime_helpers import DatetimeWithNanoseconds -from google.cloud import spanner_dbapi from google.cloud.spanner_v1 import Client, RequestOptions -from google.cloud.sqlalchemy_spanner import version as sqlalchemy_spanner_version from sqlalchemy import ( FLOAT, Boolean, @@ -206,6 +204,8 @@ ) from sqlalchemy.types import Integer, Numeric, Text +from google.cloud import spanner_dbapi +from google.cloud.sqlalchemy_spanner import version as sqlalchemy_spanner_version from tests._helpers import get_db_url, get_project config.test_schema = "" diff --git a/packages/sqlalchemy-spanner/tests/unit/test_dialect.py b/packages/sqlalchemy-spanner/tests/unit/test_dialect.py index 86e0907137f1..f44599bb4fcb 100644 --- a/packages/sqlalchemy-spanner/tests/unit/test_dialect.py +++ b/packages/sqlalchemy-spanner/tests/unit/test_dialect.py @@ -13,8 +13,10 @@ # limitations under the License. from unittest.mock import MagicMock + from sqlalchemy.testing import eq_ from sqlalchemy.testing.plugin.plugin_base import fixtures + from google.cloud.sqlalchemy_spanner.sqlalchemy_spanner import SpannerDialect