From: Mike Bayer Date: Sat, 14 May 2022 15:13:50 +0000 (-0400) Subject: update for flake8-future-imports 0.0.5 X-Git-Tag: rel_2_0_0b1~315 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9f0db34563a05a7b9f6e09110d35ce0d0f36d3a9;p=thirdparty%2Fsqlalchemy%2Fsqlalchemy.git update for flake8-future-imports 0.0.5 a whole bunch of errors were apparently blocked by 0.0.4 being installed. Fixes: #8020 Change-Id: I22a0faeaabe03de501897893391946d677c2df7e --- diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 72995e509a..3da7408a20 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -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 diff --git a/lib/sqlalchemy/dialects/oracle/base.py b/lib/sqlalchemy/dialects/oracle/base.py index cdc3716fd9..55d5a4fb57 100644 --- a/lib/sqlalchemy/dialects/oracle/base.py +++ b/lib/sqlalchemy/dialects/oracle/base.py @@ -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 diff --git a/lib/sqlalchemy/engine/default.py b/lib/sqlalchemy/engine/default.py index 926ad20778..6094ad0fbb 100644 --- a/lib/sqlalchemy/engine/default.py +++ b/lib/sqlalchemy/engine/default.py @@ -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 diff --git a/lib/sqlalchemy/engine/events.py b/lib/sqlalchemy/engine/events.py index 4093d3e0e7..8e4526d22a 100644 --- a/lib/sqlalchemy/engine/events.py +++ b/lib/sqlalchemy/engine/events.py @@ -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 diff --git a/lib/sqlalchemy/engine/processors.py b/lib/sqlalchemy/engine/processors.py index 5879267529..b986714247 100644 --- a/lib/sqlalchemy/engine/processors.py +++ b/lib/sqlalchemy/engine/processors.py @@ -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 diff --git a/lib/sqlalchemy/engine/result.py b/lib/sqlalchemy/engine/result.py index 55d36a1d5b..b29027eb5e 100644 --- a/lib/sqlalchemy/engine/result.py +++ b/lib/sqlalchemy/engine/result.py @@ -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 diff --git a/lib/sqlalchemy/engine/util.py b/lib/sqlalchemy/engine/util.py index 45f6bf20bf..990c4cea5f 100644 --- a/lib/sqlalchemy/engine/util.py +++ b/lib/sqlalchemy/engine/util.py @@ -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, ) diff --git a/lib/sqlalchemy/ext/asyncio/engine.py b/lib/sqlalchemy/ext/asyncio/engine.py index 95549ada69..6d07d843c9 100644 --- a/lib/sqlalchemy/ext/asyncio/engine.py +++ b/lib/sqlalchemy/ext/asyncio/engine.py @@ -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 diff --git a/lib/sqlalchemy/future/engine.py b/lib/sqlalchemy/future/engine.py index aa3bdc86df..c72854680e 100644 --- a/lib/sqlalchemy/future/engine.py +++ b/lib/sqlalchemy/future/engine.py @@ -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 diff --git a/lib/sqlalchemy/orm/interfaces.py b/lib/sqlalchemy/orm/interfaces.py index 3d093d367c..c9c54c1b08 100644 --- a/lib/sqlalchemy/orm/interfaces.py +++ b/lib/sqlalchemy/orm/interfaces.py @@ -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 diff --git a/lib/sqlalchemy/orm/loading.py b/lib/sqlalchemy/orm/loading.py index 61966d692e..75887367e7 100644 --- a/lib/sqlalchemy/orm/loading.py +++ b/lib/sqlalchemy/orm/loading.py @@ -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) diff --git a/lib/sqlalchemy/orm/mapper.py b/lib/sqlalchemy/orm/mapper.py index c83ed7c155..337a7178b0 100644 --- a/lib/sqlalchemy/orm/mapper.py +++ b/lib/sqlalchemy/orm/mapper.py @@ -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 diff --git a/lib/sqlalchemy/orm/query.py b/lib/sqlalchemy/orm/query.py index 5bd302b21d..a60a167ac8 100644 --- a/lib/sqlalchemy/orm/query.py +++ b/lib/sqlalchemy/orm/query.py @@ -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 diff --git a/lib/sqlalchemy/orm/relationships.py b/lib/sqlalchemy/orm/relationships.py index 514ad7023e..8273775ae1 100644 --- a/lib/sqlalchemy/orm/relationships.py +++ b/lib/sqlalchemy/orm/relationships.py @@ -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): diff --git a/lib/sqlalchemy/orm/session.py b/lib/sqlalchemy/orm/session.py index 6570e3bace..b5491248b8 100644 --- a/lib/sqlalchemy/orm/session.py +++ b/lib/sqlalchemy/orm/session.py @@ -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) diff --git a/lib/sqlalchemy/orm/state.py b/lib/sqlalchemy/orm/state.py index 49ee701b44..cb8b1f4aad 100644 --- a/lib/sqlalchemy/orm/state.py +++ b/lib/sqlalchemy/orm/state.py @@ -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 diff --git a/lib/sqlalchemy/orm/util.py b/lib/sqlalchemy/orm/util.py index b095e3f7ae..4da0b77737 100644 --- a/lib/sqlalchemy/orm/util.py +++ b/lib/sqlalchemy/orm/util.py @@ -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 diff --git a/lib/sqlalchemy/sql/_elements_constructors.py b/lib/sqlalchemy/sql/_elements_constructors.py index 0eaeae66ed..8aa8f12cc3 100644 --- a/lib/sqlalchemy/sql/_elements_constructors.py +++ b/lib/sqlalchemy/sql/_elements_constructors.py @@ -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 diff --git a/lib/sqlalchemy/sql/_selectable_constructors.py b/lib/sqlalchemy/sql/_selectable_constructors.py index f89e8f578d..ea824d6229 100644 --- a/lib/sqlalchemy/sql/_selectable_constructors.py +++ b/lib/sqlalchemy/sql/_selectable_constructors.py @@ -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 diff --git a/lib/sqlalchemy/sql/crud.py b/lib/sqlalchemy/sql/crud.py index 6a5785043d..b0cb3cbf82 100644 --- a/lib/sqlalchemy/sql/crud.py +++ b/lib/sqlalchemy/sql/crud.py @@ -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", diff --git a/lib/sqlalchemy/sql/dml.py b/lib/sqlalchemy/sql/dml.py index e0f162fc86..f063cf7816 100644 --- a/lib/sqlalchemy/sql/dml.py +++ b/lib/sqlalchemy/sql/dml.py @@ -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 diff --git a/lib/sqlalchemy/sql/lambdas.py b/lib/sqlalchemy/sql/lambdas.py index 608da71044..3e82a9a6ac 100644 --- a/lib/sqlalchemy/sql/lambdas.py +++ b/lib/sqlalchemy/sql/lambdas.py @@ -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 diff --git a/lib/sqlalchemy/sql/schema.py b/lib/sqlalchemy/sql/schema.py index 27456d2be4..4729799525 100644 --- a/lib/sqlalchemy/sql/schema.py +++ b/lib/sqlalchemy/sql/schema.py @@ -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 diff --git a/lib/sqlalchemy/sql/selectable.py b/lib/sqlalchemy/sql/selectable.py index dab25965b3..d0b0f14761 100644 --- a/lib/sqlalchemy/sql/selectable.py +++ b/lib/sqlalchemy/sql/selectable.py @@ -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 diff --git a/lib/sqlalchemy/sql/type_api.py b/lib/sqlalchemy/sql/type_api.py index d7f5f8f9a8..b9847d406b 100644 --- a/lib/sqlalchemy/sql/type_api.py +++ b/lib/sqlalchemy/sql/type_api.py @@ -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 diff --git a/lib/sqlalchemy/sql/util.py b/lib/sqlalchemy/sql/util.py index 2655adbdc9..262689128d 100644 --- a/lib/sqlalchemy/sql/util.py +++ b/lib/sqlalchemy/sql/util.py @@ -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 diff --git a/lib/sqlalchemy/sql/visitors.py b/lib/sqlalchemy/sql/visitors.py index 88586d834a..217e2d2ab4 100644 --- a/lib/sqlalchemy/sql/visitors.py +++ b/lib/sqlalchemy/sql/visitors.py @@ -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__ = [ diff --git a/lib/sqlalchemy/util/concurrency.py b/lib/sqlalchemy/util/concurrency.py index 7bbe9ec199..cd65f80f0e 100644 --- a/lib/sqlalchemy/util/concurrency.py +++ b/lib/sqlalchemy/util/concurrency.py @@ -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() diff --git a/lib/sqlalchemy/util/typing.py b/lib/sqlalchemy/util/typing.py index a95f5ab93c..ebcae28a7a 100644 --- a/lib/sqlalchemy/util/typing.py +++ b/lib/sqlalchemy/util/typing.py @@ -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 diff --git a/test/engine/test_ddlevents.py b/test/engine/test_ddlevents.py index 0c72e32c7b..95f0c2f8e4 100644 --- a/test/engine/test_ddlevents.py +++ b/test/engine/test_ddlevents.py @@ -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 diff --git a/test/engine/test_execute.py b/test/engine/test_execute.py index bd9ac0e3d6..feb2f47307 100644 --- a/test/engine/test_execute.py +++ b/test/engine/test_execute.py @@ -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 diff --git a/test/ext/mypy/plain_files/typed_queries.py b/test/ext/mypy/plain_files/typed_queries.py index 234c4da1d5..fb988c9851 100644 --- a/test/ext/mypy/plain_files/typed_queries.py +++ b/test/ext/mypy/plain_files/typed_queries.py @@ -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) diff --git a/test/orm/declarative/test_typed_mapping.py b/test/orm/declarative/test_typed_mapping.py index 9ddd2f40e2..2c9cc3b21b 100644 --- a/test/orm/declarative/test_typed_mapping.py +++ b/test/orm/declarative/test_typed_mapping.py @@ -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" diff --git a/test/orm/inheritance/test_basic.py b/test/orm/inheritance/test_basic.py index b50cbc2bae..852058a5ee 100644 --- a/test/orm/inheritance/test_basic.py +++ b/test/orm/inheritance/test_basic.py @@ -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, diff --git a/test/orm/test_query.py b/test/orm/test_query.py index b1e1bca7c3..e3732bef50 100644 --- a/test/orm/test_query.py +++ b/test/orm/test_query.py @@ -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) diff --git a/test/sql/test_defaults.py b/test/sql/test_defaults.py index 3742aa174c..0fa51e04c1 100644 --- a/test/sql/test_defaults.py +++ b/test/sql/test_defaults.py @@ -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 diff --git a/test/sql/test_operators.py b/test/sql/test_operators.py index 186b93c54f..6f068159e0 100644 --- a/test/sql/test_operators.py +++ b/test/sql/test_operators.py @@ -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 1b39215057..fb14a95545 100644 --- 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