Skip to content

Commit efde90a

Browse files
committed
Unpin pytype
The import-error bug is annoying, but 1) it would be nice to get updated pytype changes again and 2) this is holding us back from supporting python 3.10.
1 parent 6a744fe commit efde90a

11 files changed

Lines changed: 42 additions & 18 deletions

File tree

.github/workflows/test.yaml

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -53,9 +53,7 @@ jobs:
5353
yapf --diff --recursive --parallel .
5454
- name: Check types
5555
run: |
56-
# TODO(https://github.com/google/pytype/issues/1081): Remove the version
57-
# pin.
58-
pip install pytype==2021.11.29
56+
pip install pytype
5957
pytype --jobs=auto --keep-going spanner_orm
6058
- name: Test
6159
env:

spanner_orm/admin/migration_manager.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,8 @@ def _migration_from_file(self, filename: str) -> migration.Migration:
7474
path = os.path.join(self.basedir, filename)
7575
module = importlib.util.module_from_spec(
7676
importlib.util.spec_from_file_location(module_name, path))
77-
importlib.machinery.SourceFileLoader(module_name, path).exec_module(module)
77+
# TODO(https://github.com/google/pytype/issues/1289): Re-enable pyi-error.
78+
importlib.machinery.SourceFileLoader(module_name, path).exec_module(module) # pytype: disable=pyi-error
7879
try:
7980
result = migration.Migration(module.migration_id,
8081
module.prev_migration_id,

spanner_orm/api.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,11 @@
1717
from typing import Any, Callable, Dict, Iterable, Optional, TypeVar, Union
1818
import warnings
1919

20+
# TODO(https://github.com/google/pytype/issues/1081): Re-enable import-error.
2021
from google.api_core import client_options as api_client_options
2122
from google.api_core import exceptions
2223
from google.auth import credentials as auth_credentials
23-
from google.cloud import spanner
24+
from google.cloud import spanner # pytype: disable=import-error
2425
from google.cloud.spanner_v1 import database as spanner_database
2526
from google.cloud.spanner_v1 import pool as spanner_pool
2627
from spanner_orm import error

spanner_orm/condition.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,10 @@
2828
from spanner_orm import index
2929
from spanner_orm import relationship
3030

31+
# TODO(https://github.com/google/pytype/issues/1081): Re-enable import-error.
3132
from google.api_core import datetime_helpers
32-
from google.cloud import spanner
33-
from google.cloud import spanner_v1
33+
from google.cloud import spanner # pytype: disable=import-error
34+
from google.cloud import spanner_v1 # pytype: disable=import-error
3435
import immutabledict
3536

3637
T = TypeVar('T')

spanner_orm/field.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,9 @@
1919
import datetime
2020
from typing import Any, Optional, Type
2121

22-
from google.cloud import spanner
23-
from google.cloud import spanner_v1
22+
# TODO(https://github.com/google/pytype/issues/1081): Re-enable import-error.
23+
from google.cloud import spanner # pytype: disable=import-error
24+
from google.cloud import spanner_v1 # pytype: disable=import-error
2425
from spanner_orm import error
2526

2627

spanner_orm/model.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,9 @@
2929
from spanner_orm import relationship
3030
from spanner_orm import table_apis
3131

32+
# TODO(https://github.com/google/pytype/issues/1081): Re-enable import-error.
3233
from google.api_core import exceptions
33-
from google.cloud import spanner
34+
from google.cloud import spanner # pytype: disable=import-error
3435
from google.cloud.spanner_v1 import transaction as spanner_transaction
3536

3637
T = TypeVar('T')

spanner_orm/table_apis.py

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,8 @@
1616
import logging
1717
from typing import Any, Dict, Iterable, List, Sequence
1818

19-
from google.cloud import spanner
19+
# TODO(https://github.com/google/pytype/issues/1081): Re-enable import-error.
20+
from google.cloud import spanner # pytype: disable=import-error
2021
from google.cloud import spanner_v1
2122
from google.cloud.spanner_v1 import transaction as spanner_transaction
2223

@@ -49,9 +50,12 @@ def find(transaction: spanner_transaction.Transaction, table_name: str,
4950

5051

5152
def sql_query(
52-
transaction: spanner_transaction.Transaction, query: str,
53+
transaction: spanner_transaction.Transaction,
54+
query: str,
5355
parameters: Dict[str, Any],
54-
parameter_types: Dict[str, spanner_v1.Type]) -> List[Sequence[Any]]:
56+
# TODO(https://github.com/google/pytype/issues/1287): Re-enable module-attr.
57+
parameter_types: Dict[str, spanner_v1.Type], # pytype: disable=module-attr
58+
) -> List[Sequence[Any]]:
5559
"""Executes a given SQL query against the Spanner database.
5660
5761
This isn't technically read-only, but it's necessary to implement the read-

spanner_orm/tests/api_test.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,10 @@
1616
from unittest import mock
1717
import warnings
1818

19+
# TODO(https://github.com/google/pytype/issues/1081): Re-enable import-error.
1920
from absl.testing import parameterized
2021
from google.api_core import exceptions
21-
from google.cloud import spanner
22+
from google.cloud import spanner # pytype: disable=import-error
2223

2324
from spanner_orm import api
2425
from spanner_orm import error

spanner_orm/tests/condition_test.py

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,10 @@
1919
import os
2020
import unittest
2121

22+
# TODO(https://github.com/google/pytype/issues/1081): Re-enable import-error.
2223
from absl.testing import parameterized
2324
from google.api_core import datetime_helpers
24-
from google.cloud import spanner
25+
from google.cloud import spanner # pytype: disable=import-error
2526
from google.cloud import spanner_v1
2627

2728
import spanner_orm
@@ -45,6 +46,9 @@ def setUp(self):
4546
))
4647

4748
@parameterized.parameters(
49+
# TODO(https://github.com/google/pytype/issues/1287): Re-enable
50+
# module-attr.
51+
# pytype: disable=module-attr
4852
(True, spanner_v1.param_types.BOOL),
4953
(0, spanner_v1.param_types.INT64),
5054
(0.0, spanner_v1.param_types.FLOAT64),
@@ -71,6 +75,7 @@ def setUp(self):
7175
array_element_type=spanner_v1.param_types.STRING,
7276
),
7377
),
78+
# pytype: enable=module-attr
7479
)
7580
def test_param_from_value(self, value, expected_type):
7681
param = condition.Param.from_value(value)
@@ -132,6 +137,9 @@ def test_param_from_value_correctly_encodes(self, tautology):
132137
self.assertCountEqual((test_model,), models.SmallTestModel.where(tautology))
133138

134139
@parameterized.named_parameters(
140+
# TODO(https://github.com/google/pytype/issues/1287): Re-enable
141+
# module-attr.
142+
# pytype: disable=module-attr
135143
(
136144
'minimal',
137145
condition.ArbitraryCondition(
@@ -167,6 +175,7 @@ def test_param_from_value_correctly_encodes(self, tautology):
167175
'IF(@true_param0, @key_param0, SmallTestModel.value_1)'),
168176
('some-key',),
169177
),
178+
# pytype: enable=module-attr
170179
)
171180
def test_arbitrary_condition(
172181
self,
@@ -227,6 +236,9 @@ def test_arbitrary_condition_validation_error(
227236
models.SmallTestModel.where(condition_)
228237

229238
@parameterized.named_parameters(
239+
# TODO(https://github.com/google/pytype/issues/1287): Re-enable
240+
# module-attr.
241+
# pytype: disable=module-attr
230242
(
231243
'empty_or',
232244
condition.OrCondition(),
@@ -283,6 +295,7 @@ def test_arbitrary_condition_validation_error(
283295
')'),
284296
'ab',
285297
),
298+
# pytype: enable=module-attr
286299
)
287300
def test_or_condition(
288301
self,

spanner_orm/tests/model_test.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,10 @@
1919
import unittest
2020
from unittest import mock
2121

22+
# TODO(https://github.com/google/pytype/issues/1081): Re-enable import-error.
2223
from absl.testing import parameterized
2324
from google.api_core import exceptions
24-
from google.cloud import spanner
25+
from google.cloud import spanner # pytype: disable=import-error
2526
from spanner_orm import error
2627
from spanner_orm import field
2728
from spanner_orm.testlib.spanner_emulator import testlib as spanner_emulator_testlib

0 commit comments

Comments
 (0)