]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
update for flake8-future-imports 0.0.5
authorMike Bayer <mike_mp@zzzcomputing.com>
Sat, 14 May 2022 15:13:50 +0000 (11:13 -0400)
committerMike Bayer <mike_mp@zzzcomputing.com>
Sat, 14 May 2022 16:28:01 +0000 (12:28 -0400)
a whole bunch of errors were apparently blocked by 0.0.4
being installed.

Fixes: #8020
Change-Id: I22a0faeaabe03de501897893391946d677c2df7e

38 files changed:
.pre-commit-config.yaml
lib/sqlalchemy/dialects/oracle/base.py
lib/sqlalchemy/engine/default.py
lib/sqlalchemy/engine/events.py
lib/sqlalchemy/engine/processors.py
lib/sqlalchemy/engine/result.py
lib/sqlalchemy/engine/util.py
lib/sqlalchemy/ext/asyncio/engine.py
lib/sqlalchemy/future/engine.py
lib/sqlalchemy/orm/interfaces.py
lib/sqlalchemy/orm/loading.py
lib/sqlalchemy/orm/mapper.py
lib/sqlalchemy/orm/query.py
lib/sqlalchemy/orm/relationships.py
lib/sqlalchemy/orm/session.py
lib/sqlalchemy/orm/state.py
lib/sqlalchemy/orm/util.py
lib/sqlalchemy/sql/_elements_constructors.py
lib/sqlalchemy/sql/_selectable_constructors.py
lib/sqlalchemy/sql/crud.py
lib/sqlalchemy/sql/dml.py
lib/sqlalchemy/sql/lambdas.py
lib/sqlalchemy/sql/schema.py
lib/sqlalchemy/sql/selectable.py
lib/sqlalchemy/sql/type_api.py
lib/sqlalchemy/sql/util.py
lib/sqlalchemy/sql/visitors.py
lib/sqlalchemy/util/concurrency.py
lib/sqlalchemy/util/typing.py
test/engine/test_ddlevents.py
test/engine/test_execute.py
test/ext/mypy/plain_files/typed_queries.py
test/orm/declarative/test_typed_mapping.py
test/orm/inheritance/test_basic.py
test/orm/test_query.py
test/sql/test_defaults.py
test/sql/test_operators.py
tox.ini

index 72995e509a9106321d536377e09ffd4c274e53f1..3da7408a202c2cbbe93987ee6cb1bc3124dccec4 100644 (file)
@@ -18,7 +18,7 @@ repos:
         additional_dependencies:
           - flake8-import-order
           - flake8-builtins
-          - flake8-future-annotations
+          - flake8-future-annotations>=0.0.5
           - flake8-docstrings>=1.6.0
           - flake8-rst-docstrings
           # flake8-rst-docstrings dependency, leaving it here
index cdc3716fd9b935f94d8d868545492e90c93b7cf3..55d5a4fb57c27b233269b0b5e8cbdac906fffbb3 100644 (file)
@@ -561,7 +561,6 @@ from ...types import BLOB
 from ...types import CHAR
 from ...types import CLOB
 from ...types import DOUBLE_PRECISION
-from ...types import FLOAT
 from ...types import INTEGER
 from ...types import NCHAR
 from ...types import NVARCHAR
index 926ad207781e3f9343b8d45514abc2fca6c5e86d..6094ad0fbb6f2f9d0fc1ec13ef7f10e5f69e4b24 100644 (file)
@@ -61,7 +61,6 @@ from ..sql.schema import default_is_scalar
 if typing.TYPE_CHECKING:
     from types import ModuleType
 
-    from .base import Connection
     from .base import Engine
     from .interfaces import _CoreMultiExecuteParams
     from .interfaces import _CoreSingleExecuteParams
index 4093d3e0e79112b9b54767299b2ab28dd3d087a5..8e4526d22a896bfde8aacf4580d7c079edc05a7e 100644 (file)
@@ -27,7 +27,6 @@ from .. import exc
 from ..util.typing import Literal
 
 if typing.TYPE_CHECKING:
-    from .base import Connection
     from .interfaces import _CoreMultiExecuteParams
     from .interfaces import _CoreSingleExecuteParams
     from .interfaces import _DBAPIAnyExecuteParams
index 58792675299da65c0828c83cb75a00e8e04084bd..b9867142475c55b8be802f38349ce25b29f53d65 100644 (file)
@@ -32,17 +32,25 @@ if typing.TYPE_CHECKING or not HAS_CYEXTENSION:
 else:
     from sqlalchemy.cyextension.processors import (
         DecimalResultProcessor,
-    )  # noqa
-    from sqlalchemy.cyextension.processors import (
+    )
+    from sqlalchemy.cyextension.processors import (  # noqa: F401
         int_to_boolean as int_to_boolean,
     )
-    from sqlalchemy.cyextension.processors import str_to_date as str_to_date
-    from sqlalchemy.cyextension.processors import (
+    from sqlalchemy.cyextension.processors import (  # noqa: F401,E501
+        str_to_date as str_to_date,
+    )
+    from sqlalchemy.cyextension.processors import (  # noqa: F401
         str_to_datetime as str_to_datetime,
     )
-    from sqlalchemy.cyextension.processors import str_to_time as str_to_time
-    from sqlalchemy.cyextension.processors import to_float as to_float
-    from sqlalchemy.cyextension.processors import to_str as to_str
+    from sqlalchemy.cyextension.processors import (  # noqa: F401,E501
+        str_to_time as str_to_time,
+    )
+    from sqlalchemy.cyextension.processors import (  # noqa: F401,E501
+        to_float as to_float,
+    )
+    from sqlalchemy.cyextension.processors import (  # noqa: F401,E501
+        to_str as to_str,
+    )
 
     def to_decimal_processor_factory(target_class, scale):
         # Note that the scale argument is not taken into account for integer
index 55d36a1d5bd6a448e074764367b7e8960d46d952..b29027eb5e53d0cb0825526b059273ca104db67f 100644 (file)
@@ -49,7 +49,6 @@ else:
     from sqlalchemy.cyextension.resultproxy import tuplegetter as tuplegetter
 
 if typing.TYPE_CHECKING:
-    from .row import RowMapping
     from ..sql.schema import Column
     from ..sql.type_api import _ResultProcessorType
 
index 45f6bf20bf3fcd51c3da7beb11903a0e186f743f..990c4cea5f292776ec12b26ddad8de129f411c52 100644 (file)
@@ -22,10 +22,10 @@ if typing.TYPE_CHECKING or not HAS_CYEXTENSION:
     from ._py_util import _distill_params_20 as _distill_params_20
     from ._py_util import _distill_raw_params as _distill_raw_params
 else:
-    from sqlalchemy.cyextension.util import (
+    from sqlalchemy.cyextension.util import (  # noqa: F401
         _distill_params_20 as _distill_params_20,
     )
-    from sqlalchemy.cyextension.util import (
+    from sqlalchemy.cyextension.util import (  # noqa: F401
         _distill_raw_params as _distill_raw_params,
     )
 
index 95549ada69f9a9ac48de14c5e17c65bfd04a0a9f..6d07d843c9043a853ad43a14b9126e7211938b09 100644 (file)
@@ -36,8 +36,6 @@ from ...util.concurrency import greenlet_spawn
 from ...util.typing import Protocol
 
 if TYPE_CHECKING:
-    from ...engine import Connection
-    from ...engine import Engine
     from ...engine.cursor import CursorResult
     from ...engine.interfaces import _CoreAnyExecuteParams
     from ...engine.interfaces import _CoreSingleExecuteParams
index aa3bdc86df8109a75031b51e966b364fbf34fc09..c72854680eaa65e6817b8dcbe9895e9731ccf5e2 100644 (file)
@@ -10,6 +10,6 @@ this module is legacy as 2.0 APIs are now standard.
 
 """
 
-from ..engine import Connection as Connection
-from ..engine import create_engine as create_engine
-from ..engine import Engine as Engine
+from ..engine import Connection as Connection  # noqa: F401
+from ..engine import create_engine as create_engine  # noqa: F401
+from ..engine import Engine as Engine  # noqa: F401
index 3d093d367c47e61b64e3968ba0888c5cc28c02c8..c9c54c1b08dea9192976f072b1e0c600faabec43 100644 (file)
@@ -39,16 +39,15 @@ from typing import Union
 from . import exc as orm_exc
 from . import path_registry
 from .base import _MappedAttribute as _MappedAttribute
-from .base import EXT_CONTINUE as EXT_CONTINUE
-from .base import EXT_SKIP as EXT_SKIP
-from .base import EXT_STOP as EXT_STOP
-from .base import InspectionAttr as InspectionAttr
-from .base import InspectionAttrExtensionType as InspectionAttrExtensionType
+from .base import EXT_CONTINUE as EXT_CONTINUE  # noqa: F401
+from .base import EXT_SKIP as EXT_SKIP  # noqa: F401
+from .base import EXT_STOP as EXT_STOP  # noqa: F401
+from .base import InspectionAttr as InspectionAttr  # noqa: F401
 from .base import InspectionAttrInfo as InspectionAttrInfo
-from .base import MANYTOMANY as MANYTOMANY
-from .base import MANYTOONE as MANYTOONE
-from .base import NotExtension as NotExtension
-from .base import ONETOMANY as ONETOMANY
+from .base import MANYTOMANY as MANYTOMANY  # noqa: F401
+from .base import MANYTOONE as MANYTOONE  # noqa: F401
+from .base import NotExtension as NotExtension  # noqa: F401
+from .base import ONETOMANY as ONETOMANY  # noqa: F401
 from .base import SQLORMOperations
 from .. import ColumnElement
 from .. import inspection
index 61966d692e4400196d2c481eca17a60e2c6c78ec..75887367e72fad0001867813e253246cb54980ea 100644 (file)
@@ -54,14 +54,12 @@ from ..sql.selectable import SelectState
 if TYPE_CHECKING:
     from ._typing import _IdentityKeyType
     from .base import LoaderCallableStatus
-    from .context import FromStatement
     from .interfaces import ORMOption
     from .mapper import Mapper
     from .session import Session
     from .state import InstanceState
     from ..engine.interfaces import _ExecuteOptions
     from ..sql import Select
-    from ..sql.selectable import ForUpdateArg
 
 _T = TypeVar("_T", bound=Any)
 _O = TypeVar("_O", bound=object)
index c83ed7c15514c9327bce92ccf1a66cd53b77e018..337a7178b0dec7d8914129e1490f74a87731fdc2 100644 (file)
@@ -110,7 +110,6 @@ if TYPE_CHECKING:
     from ..sql.elements import ColumnElement
     from ..sql.elements import KeyedColumnElement
     from ..sql.schema import Column
-    from ..sql.schema import Table
     from ..sql.selectable import FromClause
     from ..sql.util import ColumnAdapter
     from ..util import OrderedSet
index 5bd302b21d10dd0907456a7116fc2c80fd13bd53..a60a167ac81fce0c1d270c0606df7c16a0ba97ad 100644 (file)
@@ -87,7 +87,6 @@ if TYPE_CHECKING:
     from ._typing import _EntityType
     from .session import Session
     from ..engine.result import ScalarResult
-    from ..engine.row import Row
     from ..sql._typing import _ColumnExpressionArgument
     from ..sql._typing import _ColumnsClauseArgument
     from ..sql._typing import _MAYBE_ENTITY
@@ -1329,7 +1328,7 @@ class Query(
     @overload
     def with_entities(
         self, _entity: _EntityType[_O], **kwargs: Any
-    ) -> ScalarInstanceQuery[_O]:
+    ) -> Query[_O]:
         ...
 
     @overload
index 514ad7023ee175db23c519d706bba47b6083c9fd..8273775ae1e651ad49996979eeed7a4f9f4636cc 100644 (file)
@@ -486,7 +486,7 @@ class Relationship(
 
         def and_(
             self, *criteria: _ColumnExpressionArgument[bool]
-        ) -> interfaces.PropComparator[bool]:
+        ) -> PropComparator[bool]:
             """Add AND criteria.
 
             See :meth:`.PropComparator.and_` for an example.
@@ -1610,11 +1610,9 @@ class Relationship(
 
         return _resolver(self.parent.class_, self)
 
-    @util.preload_module("sqlalchemy.orm.mapper")
     def _check_conflicts(self):
         """Test that this relationship is legal, warn about
         inheritance conflicts."""
-        mapperlib = util.preloaded.orm_mapper
         if self.parent.non_primary and not class_mapper(
             self.parent.class_, configure=False
         ).has_property(self.key):
index 6570e3bace1e1a7b1d8170c0dfdcd0e5a0710986..b5491248b81e8ffde45c82c7b0140b237f73cec1 100644 (file)
@@ -90,8 +90,6 @@ if typing.TYPE_CHECKING:
     from ._typing import _EntityType
     from ._typing import _IdentityKeyType
     from ._typing import _InstanceDict
-    from ._typing import _O
-    from .context import FromStatement
     from .interfaces import ORMOption
     from .interfaces import UserDefinedOption
     from .mapper import Mapper
@@ -122,8 +120,6 @@ if typing.TYPE_CHECKING:
     from ..sql.base import Executable
     from ..sql.elements import ClauseElement
     from ..sql.roles import TypedColumnsClauseRole
-    from ..sql.schema import Table
-    from ..sql.selectable import Select
     from ..sql.selectable import TypedReturnsRows
 
 _T = TypeVar("_T", bound=Any)
index 49ee701b442c911f5b14edd531b5eeaa89a979cb..cb8b1f4aad9b66b1e74271ff4a93ef116e5f4eb4 100644 (file)
@@ -53,7 +53,6 @@ if TYPE_CHECKING:
     from ._typing import _LoaderCallable
     from .attributes import AttributeImpl
     from .attributes import History
-    from .base import LoaderCallableStatus
     from .base import PassiveFlag
     from .collections import _AdaptedCollectionProtocol
     from .identity import IdentityMap
index b095e3f7aedd2a786b1be7e780c0a1c4bf62145b..4da0b777376b65997ed355ee92c0f2e22a548b64 100644 (file)
@@ -36,24 +36,23 @@ from ._typing import insp_is_aliased_class
 from ._typing import insp_is_mapper
 from ._typing import prop_is_relationship
 from .base import _class_to_mapper as _class_to_mapper
-from .base import _never_set as _never_set
-from .base import _none_set as _none_set
-from .base import attribute_str as attribute_str
+from .base import _never_set as _never_set  # noqa: F401
+from .base import _none_set as _none_set  # noqa: F401
+from .base import attribute_str as attribute_str  # noqa: F401
 from .base import class_mapper as class_mapper
 from .base import InspectionAttr as InspectionAttr
-from .base import instance_str as instance_str
+from .base import instance_str as instance_str  # noqa: F401
 from .base import object_mapper as object_mapper
-from .base import object_state as object_state
+from .base import object_state as object_state  # noqa: F401
 from .base import opt_manager_of_class
-from .base import state_attribute_str as state_attribute_str
-from .base import state_class_str as state_class_str
-from .base import state_str as state_str
+from .base import state_attribute_str as state_attribute_str  # noqa: F401
+from .base import state_class_str as state_class_str  # noqa: F401
+from .base import state_str as state_str  # noqa: F401
 from .interfaces import CriteriaOption
 from .interfaces import MapperProperty as MapperProperty
 from .interfaces import ORMColumnsClauseRole
 from .interfaces import ORMEntityColumnsClauseRole
 from .interfaces import ORMFromClauseRole
-from .interfaces import PropComparator as PropComparator
 from .path_registry import PathRegistry as PathRegistry
 from .. import event
 from .. import exc as sa_exc
index 0eaeae66ed357d276b11fd8835af97242cbca60e..8aa8f12cc341051d6866bdf308cbf80087230174 100644 (file)
@@ -51,7 +51,6 @@ if typing.TYPE_CHECKING:
     from ._typing import _ColumnExpressionOrLiteralArgument
     from ._typing import _TypeEngineArgument
     from .elements import BinaryExpression
-    from .functions import FunctionElement
     from .selectable import FromClause
     from .type_api import TypeEngine
 
index f89e8f578d8d7c87eaa753054f9172d4e1ac74a6..ea824d6229dfec1e84b75580fa69b23e57614e6b 100644 (file)
@@ -34,7 +34,6 @@ from .selectable import TableSample
 from .selectable import Values
 
 if TYPE_CHECKING:
-    from ._typing import _ColumnsClauseArgument
     from ._typing import _FromClauseArgument
     from ._typing import _OnClauseArgument
     from ._typing import _SelectStatementForCompoundArgument
index 6a5785043d77b03058c2979fc560cfcefed9a511..b0cb3cbf826ccdd7a10ac333b1a98337f1e71411 100644 (file)
@@ -48,7 +48,6 @@ if TYPE_CHECKING:
     from .dml import ValuesBase
     from .elements import ColumnElement
     from .schema import _SQLExprDefault
-    from .selectable import TableClause
 
 REQUIRED = util.symbol(
     "REQUIRED",
index e0f162fc8698b6fbba623731e15b5e87d8512298..f063cf78169e9c7847b30e52d1685b866184f22f 100644 (file)
@@ -83,7 +83,6 @@ if TYPE_CHECKING:
     from ._typing import _TypedColumnClauseArgument as _TCCA  # noqa
     from .base import ReadOnlyColumnCollection
     from .compiler import SQLCompiler
-    from .elements import ColumnElement
     from .elements import KeyedColumnElement
     from .selectable import _ColumnsClauseElement
     from .selectable import _SelectIterable
index 608da7104442c74fca7c0fc09b1174abb4393ddb..3e82a9a6acf92475bb61e5b50bc45a6054c45ec5 100644 (file)
@@ -47,7 +47,6 @@ from ..util.typing import Protocol
 from ..util.typing import Self
 
 if TYPE_CHECKING:
-    from .cache_key import CacheConst
     from .elements import BindParameter
     from .elements import ClauseElement
     from .roles import SQLRole
index 27456d2be4ffed00c1c0d1abbcfb1dbf242199fe..4729799525fb9526c5c80ee308aadb305b3f8a3e 100644 (file)
@@ -86,7 +86,6 @@ if typing.TYPE_CHECKING:
     from ._typing import _InfoType
     from ._typing import _TextCoercedExpressionArgument
     from ._typing import _TypeEngineArgument
-    from .base import DedupeColumnCollection
     from .base import ReadOnlyColumnCollection
     from .compiler import DDLCompiler
     from .elements import BindParameter
index dab25965b39b9ef59eb6f30ffd33feb1e79166fe..d0b0f147615435f959e6a602da52cb9bf2084e8c 100644 (file)
@@ -5030,13 +5030,6 @@ class Select(
         :func:`_sql.select` function.
 
         """
-        things = [
-            coercions.expect(
-                roles.ColumnsClauseRole, ent, apply_propagate_attrs=self
-            )
-            for ent in entities
-        ]
-
         self._raw_columns = [
             coercions.expect(
                 roles.ColumnsClauseRole, ent, apply_propagate_attrs=self
index d7f5f8f9a8f79749ce4c75cb3f74f7ef091436e0..b9847d406b50e26b39dc367a4225e64a5867c1e0 100644 (file)
@@ -45,13 +45,13 @@ if typing.TYPE_CHECKING:
     from .elements import ColumnElement
     from .operators import OperatorType
     from .sqltypes import _resolve_value_to_type as _resolve_value_to_type
-    from .sqltypes import BOOLEANTYPE as BOOLEANTYPE
-    from .sqltypes import INDEXABLE as INDEXABLE
-    from .sqltypes import INTEGERTYPE as INTEGERTYPE
-    from .sqltypes import MATCHTYPE as MATCHTYPE
+    from .sqltypes import BOOLEANTYPE as BOOLEANTYPE  # noqa: F401
+    from .sqltypes import INDEXABLE as INDEXABLE  # noqa: F401
+    from .sqltypes import INTEGERTYPE as INTEGERTYPE  # noqa: F401
+    from .sqltypes import MATCHTYPE as MATCHTYPE  # noqa: F401
     from .sqltypes import NULLTYPE as NULLTYPE
-    from .sqltypes import STRINGTYPE as STRINGTYPE
-    from .sqltypes import TABLEVALUE as TABLEVALUE
+    from .sqltypes import STRINGTYPE as STRINGTYPE  # noqa: F401
+    from .sqltypes import TABLEVALUE as TABLEVALUE  # noqa: F401
     from ..engine.interfaces import Dialect
 
 
index 2655adbdc93e221b27569f2e48d8d07f482f3126..262689128d7719ac6e5f358361f1089a52ba4c97 100644 (file)
@@ -36,13 +36,13 @@ from . import operators
 from . import roles
 from . import visitors
 from ._typing import is_text_clause
-from .annotation import _deep_annotate as _deep_annotate
-from .annotation import _deep_deannotate as _deep_deannotate
-from .annotation import _shallow_annotate as _shallow_annotate
+from .annotation import _deep_annotate as _deep_annotate  # noqa: F401
+from .annotation import _deep_deannotate as _deep_deannotate  # noqa: F401
+from .annotation import _shallow_annotate as _shallow_annotate  # noqa: F401
 from .base import _expand_cloned
 from .base import _from_objects
-from .cache_key import HasCacheKey as HasCacheKey
-from .ddl import sort_tables as sort_tables
+from .cache_key import HasCacheKey as HasCacheKey  # noqa: F401
+from .ddl import sort_tables as sort_tables  # noqa: F401
 from .elements import _find_columns as _find_columns
 from .elements import _label_reference
 from .elements import _textual_label_reference
index 88586d834ada2655e864b5294690f03058dbe46d..217e2d2ab41212c211ccec221fb39ea337062512 100644 (file)
@@ -46,8 +46,12 @@ if typing.TYPE_CHECKING or not HAS_CYEXTENSION:
     from ._py_util import prefix_anon_map as prefix_anon_map
     from ._py_util import cache_anon_map as anon_map
 else:
-    from sqlalchemy.cyextension.util import prefix_anon_map as prefix_anon_map
-    from sqlalchemy.cyextension.util import cache_anon_map as anon_map
+    from sqlalchemy.cyextension.util import (  # noqa: F401,E501
+        prefix_anon_map as prefix_anon_map,
+    )
+    from sqlalchemy.cyextension.util import (  # noqa: F401,E501
+        cache_anon_map as anon_map,
+    )
 
 
 __all__ = [
index 7bbe9ec199ce43d6c03e07728a898fb2db6d50a9..cd65f80f0ee955f4fe7b932720ae74e83004eabd 100644 (file)
@@ -47,23 +47,23 @@ if not typing.TYPE_CHECKING and not have_greenlet:
             else ""
         )
 
-    def is_exit_exception(e):
+    def is_exit_exception(e):  # noqa: F811
         return not isinstance(e, Exception)
 
-    def await_only(thing):  # type: ignore
+    def await_only(thing):  # type: ignore  # noqa: F811
         _not_implemented()
 
-    def await_fallback(thing):  # type: ignore
+    def await_fallback(thing):  # type: ignore  # noqa: F811
         return thing
 
-    def greenlet_spawn(fn, *args, **kw):  # type: ignore
+    def greenlet_spawn(fn, *args, **kw):  # type: ignore  # noqa: F811
         _not_implemented()
 
-    def AsyncAdaptedLock(*args, **kw):  # type: ignore
+    def AsyncAdaptedLock(*args, **kw):  # type: ignore  # noqa: F811
         _not_implemented()
 
-    def _util_async_run(fn, *arg, **kw):  # type: ignore
+    def _util_async_run(fn, *arg, **kw):  # type: ignore  # noqa: F811
         return fn(*arg, **kw)
 
-    def _util_async_run_coroutine_function(fn, *arg, **kw):  # type: ignore
+    def _util_async_run_coroutine_function(fn, *arg, **kw):  # type: ignore  # noqa: F811,E501
         _not_implemented()
index a95f5ab93cf14dc0f0775359aa387240d6975cd1..ebcae28a7a37b88b4b25e1524057777d33fc0c36 100644 (file)
@@ -17,7 +17,7 @@ from typing import Type
 from typing import TypeVar
 from typing import Union
 
-from typing_extensions import NotRequired as NotRequired
+from typing_extensions import NotRequired as NotRequired  # noqa: F401
 
 from . import compat
 
@@ -41,13 +41,13 @@ if compat.py310:
     from typing import TypeGuard as TypeGuard
     from typing import TypeAlias as TypeAlias
 else:
-    from typing_extensions import TypeGuard as TypeGuard
-    from typing_extensions import TypeAlias as TypeAlias
+    from typing_extensions import TypeGuard as TypeGuard  # noqa: F401
+    from typing_extensions import TypeAlias as TypeAlias  # noqa: F401
 
 if typing.TYPE_CHECKING or compat.py38:
     from typing import SupportsIndex as SupportsIndex
 else:
-    from typing_extensions import SupportsIndex as SupportsIndex
+    from typing_extensions import SupportsIndex as SupportsIndex  # noqa: F401
 
 if typing.TYPE_CHECKING or compat.py310:
     from typing import Annotated as Annotated
index 0c72e32c7b206e3d2d7c17462f755822f5e5e98f..95f0c2f8e4f597106b441b48138598e949f7bea9 100644 (file)
@@ -19,7 +19,6 @@ from sqlalchemy.testing import AssertsCompiledSQL
 from sqlalchemy.testing import engines
 from sqlalchemy.testing import eq_
 from sqlalchemy.testing import fixtures
-from sqlalchemy.testing import mock
 from sqlalchemy.testing.schema import Column
 from sqlalchemy.testing.schema import Table
 
index bd9ac0e3d637be91c31ff60a2f4d75799c7e212e..feb2f47307c341c2681b6b979e4a940197efacf1 100644 (file)
@@ -52,7 +52,6 @@ from sqlalchemy.testing import is_
 from sqlalchemy.testing import is_false
 from sqlalchemy.testing import is_not
 from sqlalchemy.testing import is_true
-from sqlalchemy.testing import mock
 from sqlalchemy.testing.assertsql import CompiledSQL
 from sqlalchemy.testing.schema import Column
 from sqlalchemy.testing.schema import Table
index 234c4da1d58f652a48305945d034597ca9dbdb6b..fb988c985194b19b0c0c14e86b11faaf62669260 100644 (file)
@@ -68,7 +68,7 @@ def t_select_3() -> None:
     # for aliased() to return some namespace of User that's not User.
     # AsAliased superclass type was tested for this but it had its own
     # awkwardnesses that aren't really worth it
-    x = ua(id=1, name="foo")
+    ua(id=1, name="foo")
 
     # EXPECTED_TYPE: Type[User]
     reveal_type(ua)
index 9ddd2f40e25fd7e0bcb3aa112f302bff0bcbe0cc..2c9cc3b21bc2b63f7c1c8c9a953a7c256281593d 100644 (file)
@@ -621,7 +621,7 @@ class RelationshipLHSTest(fixtures.TestBase, testing.AssertsCompiledSQL):
             __sa_dataclass_metadata_key__ = "sa"
 
             id: Mapped[int] = mapped_column(primary_key=True)
-            bs: List["B"] = dataclasses.field(
+            bs: List["B"] = dataclasses.field(  # noqa: F821
                 default_factory=list, metadata={"sa": relationship()}
             )
 
@@ -642,7 +642,9 @@ class RelationshipLHSTest(fixtures.TestBase, testing.AssertsCompiledSQL):
 
             id: Mapped[int] = mapped_column(primary_key=True)
             data: Mapped[str] = mapped_column()
-            bs: Mapped[List["B"]] = relationship(back_populates="a")
+            bs: Mapped[List["B"]] = relationship(  # noqa: F821
+                back_populates="a"
+            )
 
         class B(decl_base):
             __tablename__ = "b"
@@ -717,10 +719,18 @@ class RelationshipLHSTest(fixtures.TestBase, testing.AssertsCompiledSQL):
 
             id: Mapped[int] = mapped_column(primary_key=True)
             data: Mapped[str] = mapped_column()
-            bs_list: Mapped[List["B"]] = relationship(viewonly=True)
-            bs_set: Mapped[Set["B"]] = relationship(viewonly=True)
-            bs_list_warg: Mapped[List["B"]] = relationship("B", viewonly=True)
-            bs_set_warg: Mapped[Set["B"]] = relationship("B", viewonly=True)
+            bs_list: Mapped[List["B"]] = relationship(  # noqa: F821
+                viewonly=True
+            )
+            bs_set: Mapped[Set["B"]] = relationship(  # noqa: F821
+                viewonly=True
+            )
+            bs_list_warg: Mapped[List["B"]] = relationship(  # noqa: F821
+                "B", viewonly=True
+            )
+            bs_set_warg: Mapped[Set["B"]] = relationship(  # noqa: F821
+                "B", viewonly=True
+            )
 
         class B(decl_base):
             __tablename__ = "b"
@@ -748,7 +758,7 @@ class RelationshipLHSTest(fixtures.TestBase, testing.AssertsCompiledSQL):
 
             id: Mapped[int] = mapped_column(primary_key=True)
             data: Mapped[str] = mapped_column()
-            bs: Mapped[Dict[str, "B"]] = relationship()
+            bs: Mapped[Dict[str, "B"]] = relationship()  # noqa: F821
 
         class B(decl_base):
             __tablename__ = "b"
@@ -771,7 +781,9 @@ class RelationshipLHSTest(fixtures.TestBase, testing.AssertsCompiledSQL):
             id: Mapped[int] = mapped_column(primary_key=True)
             data: Mapped[str] = mapped_column()
 
-            bs: Mapped[MappedCollection[str, "B"]] = relationship(
+            bs: Mapped[
+                MappedCollection[str, "B"]  # noqa: F821
+            ] = relationship(
                 collection_class=attribute_mapped_collection("name")
             )
 
@@ -1040,7 +1052,7 @@ class AllYourFavoriteHitsTest(fixtures.TestBase, testing.AssertsCompiledSQL):
 
             name: Mapped[str50]
 
-            employees: Mapped[Set["Person"]] = relationship()
+            employees: Mapped[Set["Person"]] = relationship()  # noqa: F821
 
         class Person(decl_base):
             __tablename__ = "person"
index b50cbc2bae316627bb22e54cd90b8d065d3942cb..852058a5ee8584d3e81eab4293313d63ee25625a 100644 (file)
@@ -402,7 +402,9 @@ class PolymorphicOnNotLocalTest(fixtures.MappedTest):
         t1t2_join = select(t1.c.x).select_from(t1.join(t2)).alias()
 
         def go():
-            t1t2_join_2 = select(t1.c.q).select_from(t1.join(t2)).alias()
+            t1t2_join_2 = (  # noqa: F841
+                select(t1.c.q).select_from(t1.join(t2)).alias()
+            )
             self.mapper_registry.map_imperatively(
                 Parent,
                 t2,
index b1e1bca7c34cafd71ac4e1ee561156879271988d..e3732bef50b85166126ee7107a61927cd97d942c 100644 (file)
@@ -211,7 +211,7 @@ class OnlyReturnTuplesTest(QueryTest):
         assert isinstance(row, collections_abc.Sequence)
         assert isinstance(row._mapping, collections_abc.Mapping)
 
-    def test_multiple_entity_true(self):
+    def test_multiple_entity_true_tuples(self):
         User = self.classes.User
         query = fixture_session().query(User.id, User).tuples()
         is_false(query.is_single_entity)
@@ -6402,7 +6402,7 @@ class ParentTest(QueryTest, AssertsCompiledSQL):
         found_during_type_annotation
 
         """
-        User, Address = self.classes.User, self.classes.Address
+        User = self.classes.User
 
         sess = fixture_session()
         u1 = sess.get(User, 7)
index 3742aa174cc44766714a08ffc12407fe66297035..0fa51e04c160649f7a2584caaa6896f6eae06128 100644 (file)
@@ -512,19 +512,19 @@ class DefaultRoundTripTest(fixtures.TablesTest):
             r"DefaultGenerator object is deprecated; please use "
             r"the .scalar\(\) method."
         ):
-            x = connection.execute(t.c.col1.default)
+            connection.execute(t.c.col1.default)
         with expect_deprecated(
             r"Using the .execute\(\) method to invoke a "
             r"DefaultGenerator object is deprecated; please use "
             r"the .scalar\(\) method."
         ):
-            y = connection.execute(t.c.col2.default)
+            connection.execute(t.c.col2.default)
         with expect_deprecated(
             r"Using the .execute\(\) method to invoke a "
             r"DefaultGenerator object is deprecated; please use "
             r"the .scalar\(\) method."
         ):
-            z = connection.execute(t.c.col3.default)
+            connection.execute(t.c.col3.default)
 
     def test_standalone_default_scalar(self, connection):
         t = self.tables.default_test
index 186b93c54f3ef7549d86444cfa502cd187287c4c..6f068159e0f9ba805aa5d26cbe471f08822dc458 100644 (file)
@@ -454,7 +454,6 @@ class MultiElementExprTest(fixtures.TestBase, testing.AssertsCompiledSQL):
                 expr = op(expr, column(f"d{i}"))
 
         opstring = compiler.OPERATORS[op]
-        exprs = opstring.join(f"d{i}" for i in range(num))
 
         if negate:
             negate_op = {
diff --git a/tox.ini b/tox.ini
index 1b392150579a8fbe00e0ade2eef6d50a4036979d..fb14a9554560cc8db2c749aa5d0b68761ddb27c3 100644 (file)
--- a/tox.ini
+++ b/tox.ini
@@ -166,7 +166,7 @@ deps=
       flake8
       flake8-import-order
       flake8-builtins
-      flake8-future-annotations
+      flake8-future-annotations>=0.0.5
       flake8-docstrings>=1.6.0
       flake8-rst-docstrings
       # flake8-rst-docstrings dependency, leaving it here