from typing import Optional
from typing import Tuple
from typing import TYPE_CHECKING
+from typing import TypedDict
from typing import Union
from . import array as _array
from ...types import TEXT
from ...types import UUID as UUID
from ...types import VARCHAR
-from ...util.typing import TypedDict
IDX_USING = re.compile(r"^(?:btree|hash|gist|gin|[\w_]+)$", re.I)
from typing import Callable
from typing import cast
from typing import Dict
+from typing import Final
from typing import List
from typing import Mapping
from typing import MutableMapping
from ..sql.compiler import InsertmanyvaluesSentinelOpts
from ..sql.compiler import SQLCompiler
from ..sql.elements import quoted_name
-from ..util.typing import Final
from ..util.typing import Literal
if typing.TYPE_CHECKING:
from typing import Mapping
from typing import MutableMapping
from typing import Optional
+from typing import Protocol
from typing import Sequence
from typing import Set
from typing import Tuple
from typing import Type
from typing import TYPE_CHECKING
+from typing import TypedDict
from typing import TypeVar
from typing import Union
from ..util.concurrency import await_only
from ..util.typing import Literal
from ..util.typing import NotRequired
-from ..util.typing import Protocol
-from ..util.typing import TypedDict
if TYPE_CHECKING:
from .base import Connection
from typing import Callable
from typing import Collection
from typing import Dict
+from typing import final
from typing import Generator
from typing import Iterable
from typing import List
from ..sql.type_api import TypeEngine
from ..sql.visitors import InternalTraversal
from ..util import topological
-from ..util.typing import final
if TYPE_CHECKING:
from .interfaces import Dialect
from typing import Any
from typing import Callable
from typing import Optional
+from typing import Protocol
from typing import TypeVar
from .. import exc
from .. import util
from ..util._has_cy import HAS_CYEXTENSION
-from ..util.typing import Protocol
if typing.TYPE_CHECKING or not HAS_CYEXTENSION:
from ._py_util import _distill_params_20 as _distill_params_20
from typing import MutableSequence
from typing import NoReturn
from typing import Optional
+from typing import Protocol
from typing import Sequence
from typing import Set
from typing import Tuple
from .. import exc
from .. import util
from ..util.concurrency import AsyncAdaptedLock
-from ..util.typing import Protocol
_T = TypeVar("_T", bound=Any)
from typing import NoReturn
from typing import Optional
from typing import overload
+from typing import Protocol
from typing import Set
+from typing import SupportsIndex
from typing import Tuple
from typing import Type
from typing import TypeVar
from ..sql import or_
from ..sql.base import _NoArg
from ..util.typing import Literal
-from ..util.typing import Protocol
from ..util.typing import Self
-from ..util.typing import SupportsIndex
from ..util.typing import SupportsKeysAndGetItem
if typing.TYPE_CHECKING:
from typing import NoReturn
from typing import Optional
from typing import overload
+from typing import Protocol
from typing import Set
from typing import Tuple
from typing import Type
from ..schema import ForeignKeyConstraint
from ..sql import and_
from ..util import Properties
-from ..util.typing import Protocol
if TYPE_CHECKING:
from ..engine.base import Engine
from typing import Dict
from typing import Iterable
from typing import Optional
+from typing import Protocol
from typing import Tuple
from typing import Type
from typing import TYPE_CHECKING
from ..orm.session import _BindArguments
from ..orm.session import _PKIdentityArgument
from ..orm.session import Session
-from ..util.typing import Protocol
from ..util.typing import Self
if TYPE_CHECKING:
from typing import List
from typing import Optional
from typing import overload
+from typing import Protocol
from typing import Sequence
from typing import Tuple
from typing import Type
from ..util.typing import Concatenate
from ..util.typing import Literal
from ..util.typing import ParamSpec
-from ..util.typing import Protocol
from ..util.typing import Self
if TYPE_CHECKING:
from typing import Optional
from typing import overload
from typing import Set
+from typing import SupportsIndex
from typing import Tuple
from typing import TYPE_CHECKING
from typing import TypeVar
from ..sql.schema import Column
from ..sql.type_api import TypeEngine
from ..util import memoized_property
-from ..util.typing import SupportsIndex
from ..util.typing import TypeGuard
_KT = TypeVar("_KT") # Key type.
from typing import Generic
from typing import Optional
from typing import overload
+from typing import Protocol
from typing import Type
from typing import TypeVar
from typing import Union
from . import exc
from .util.typing import Literal
-from .util.typing import Protocol
_T = TypeVar("_T", bound=Any)
_TCov = TypeVar("_TCov", bound=Any, covariant=True)
from typing import Dict
from typing import Mapping
from typing import Optional
+from typing import Protocol
from typing import Tuple
from typing import Type
from typing import TYPE_CHECKING
)
from ..sql._typing import _HasClauseElement
from ..sql.elements import ColumnElement
-from ..util.typing import Protocol
from ..util.typing import TypeGuard
if TYPE_CHECKING:
from typing import List
from typing import NoReturn
from typing import Optional
+from typing import Protocol
from typing import Set
from typing import Tuple
from typing import Type
from .. import util
from ..sql.base import NO_ARG
from ..util.compat import inspect_getfullargspec
-from ..util.typing import Protocol
if typing.TYPE_CHECKING:
from .attributes import AttributeEventToken
collection as well as a specific value for
:paramref:`_orm.registry.type_annotation_map`::
- from typing_extensions import Annotated
+ from typing import Annotated
from sqlalchemy import BigInteger
from sqlalchemy import MetaData
from typing import NamedTuple
from typing import NoReturn
from typing import Optional
+from typing import Protocol
from typing import Sequence
from typing import Tuple
from typing import Type
from typing import TYPE_CHECKING
+from typing import TypedDict
from typing import TypeVar
from typing import Union
import weakref
from ..util.typing import _AnnotationScanType
from ..util.typing import is_fwd_ref
from ..util.typing import is_literal
-from ..util.typing import Protocol
-from ..util.typing import TypedDict
from ..util.typing import typing_get_args
if TYPE_CHECKING:
from typing import Iterable
from typing import List
from typing import Optional
+from typing import Protocol
from typing import Set
from typing import Tuple
from typing import Type
from ..event import EventTarget
from ..util import HasMemoized
from ..util.typing import Literal
-from ..util.typing import Protocol
if TYPE_CHECKING:
from ._typing import _RegistryType
from typing import Tuple
from typing import Type
from typing import TYPE_CHECKING
+from typing import TypedDict
from typing import TypeVar
from typing import Union
from ..sql.type_api import TypeEngine
from ..util import warn_deprecated
from ..util.typing import RODescriptorReference
-from ..util.typing import TypedDict
if typing.TYPE_CHECKING:
from ._typing import _EntityType
from typing import Iterator
from typing import Optional
from typing import overload
+from typing import Protocol
from typing import Sequence
from typing import Tuple
from typing import Type
from ..util import ThreadLocalRegistry
from ..util import warn
from ..util import warn_deprecated
-from ..util.typing import Protocol
if TYPE_CHECKING:
from ._typing import _EntityType
from typing import NoReturn
from typing import Optional
from typing import overload
+from typing import Protocol
from typing import Sequence
from typing import Set
from typing import Tuple
from ..sql.selectable import LABEL_STYLE_TABLENAME_PLUS_COL
from ..util import IdentitySet
from ..util.typing import Literal
-from ..util.typing import Protocol
if typing.TYPE_CHECKING:
from ._typing import _EntityType
from typing import Generic
from typing import Iterable
from typing import Optional
+from typing import Protocol
from typing import Set
from typing import Tuple
from typing import TYPE_CHECKING
from .. import inspection
from .. import util
from ..util.typing import Literal
-from ..util.typing import Protocol
if TYPE_CHECKING:
from ._typing import _IdentityKeyType
from typing import Callable
from typing import cast
from typing import Dict
+from typing import Final
from typing import Iterable
from typing import Optional
from typing import overload
from ..sql import traversals
from ..sql import visitors
from ..sql.base import _generative
-from ..util.typing import Final
from ..util.typing import Literal
from ..util.typing import Self
from typing import List
from typing import Match
from typing import Optional
+from typing import Protocol
from typing import Sequence
from typing import Tuple
from typing import Type
from ..util.typing import eval_name_only as _eval_name_only
from ..util.typing import is_origin_of_cls
from ..util.typing import Literal
-from ..util.typing import Protocol
from ..util.typing import typing_get_origin
if typing.TYPE_CHECKING:
from typing import Dict
from typing import List
from typing import Optional
+from typing import Protocol
from typing import Tuple
from typing import TYPE_CHECKING
from typing import Union
from .. import log
from .. import util
from ..util.typing import Literal
-from ..util.typing import Protocol
if TYPE_CHECKING:
from ..engine.interfaces import DBAPIConnection
from typing import NoReturn
from typing import Optional
from typing import overload
+from typing import Protocol
from typing import Set
from typing import Tuple
from typing import Type
from .. import util
from ..inspection import Inspectable
from ..util.typing import Literal
-from ..util.typing import Protocol
from ..util.typing import TypeAlias
if TYPE_CHECKING:
from typing import NoReturn
from typing import Optional
from typing import overload
+from typing import Protocol
from typing import Sequence
from typing import Set
from typing import Tuple
from .. import util
from ..util import HasMemoized as HasMemoized
from ..util import hybridmethod
-from ..util import typing as compat_typing
-from ..util.typing import Protocol
from ..util.typing import Self
from ..util.typing import TypeGuard
_SelfGenerativeType = TypeVar("_SelfGenerativeType", bound="_GenerativeType")
-class _GenerativeType(compat_typing.Protocol):
+class _GenerativeType(Protocol):
def _generate(self) -> Self:
...
from typing import MutableMapping
from typing import NamedTuple
from typing import Optional
+from typing import Protocol
from typing import Sequence
from typing import Tuple
from typing import Union
from ..inspection import inspect
from ..util import HasMemoized
from ..util.typing import Literal
-from ..util.typing import Protocol
if typing.TYPE_CHECKING:
from .elements import BindParameter
from typing import NoReturn
from typing import Optional
from typing import Pattern
+from typing import Protocol
from typing import Sequence
from typing import Set
from typing import Tuple
from typing import Type
from typing import TYPE_CHECKING
+from typing import TypedDict
from typing import Union
from . import base
from .. import util
from ..util import FastIntFlag
from ..util.typing import Literal
-from ..util.typing import Protocol
-from ..util.typing import TypedDict
if typing.TYPE_CHECKING:
from .annotation import _AnnotationDict
from typing import Iterable
from typing import List
from typing import Optional
+from typing import Protocol
from typing import Sequence as typing_Sequence
from typing import Tuple
from .. import exc
from .. import util
from ..util import topological
-from ..util.typing import Protocol
from ..util.typing import Self
if typing.TYPE_CHECKING:
from typing import Generic
from typing import Optional
from typing import overload
+from typing import Protocol
from typing import Set
from typing import Tuple
from typing import Type
from .. import exc
from .. import util
from ..util.typing import Literal
-from ..util.typing import Protocol
if typing.TYPE_CHECKING:
from ._typing import ColumnExpressionArgument
from typing import cast
from typing import Collection
from typing import Dict
+from typing import Final
from typing import Iterable
from typing import Iterator
from typing import List
from typing import NoReturn
from typing import Optional
from typing import overload
+from typing import Protocol
from typing import Sequence as _typing_Sequence
from typing import Set
from typing import Tuple
from typing import TYPE_CHECKING
+from typing import TypedDict
from typing import TypeVar
from typing import Union
from .. import inspection
from .. import util
from ..util import HasMemoized
-from ..util.typing import Final
from ..util.typing import Literal
-from ..util.typing import Protocol
from ..util.typing import Self
-from ..util.typing import TypedDict
from ..util.typing import TypeGuard
if typing.TYPE_CHECKING:
from typing import NoReturn
from typing import Optional
from typing import overload
+from typing import Protocol
from typing import Sequence
from typing import Set
from typing import Tuple
from .. import util
from ..util import HasMemoized_ro_memoized_attribute
from ..util.typing import Literal
-from ..util.typing import Protocol
from ..util.typing import Self
and_ = BooleanClauseList.and_
from typing import NewType
from typing import Optional
from typing import overload
+from typing import Protocol
from typing import Sequence
from typing import Tuple
from typing import Type
from typing import TYPE_CHECKING
+from typing import TypedDict
from typing import TypeVar
from typing import Union
from .visitors import Visitable
from .. import exc
from .. import util
-from ..util.typing import Protocol
from ..util.typing import Self
-from ..util.typing import TypedDict
from ..util.typing import TypeGuard
# these are back-assigned by sqltypes.
from typing import List
from typing import Optional
from typing import overload
+from typing import Protocol
from typing import Sequence
from typing import Tuple
from typing import TYPE_CHECKING
from .. import exc
from .. import util
from ..util.typing import Literal
-from ..util.typing import Protocol
if typing.TYPE_CHECKING:
from ._typing import _EquivalentColumnMap
from typing import Mapping
from typing import Optional
from typing import overload
+from typing import Protocol
from typing import Tuple
from typing import Type
from typing import TYPE_CHECKING
from ..util import langhelpers
from ..util._has_cy import HAS_CYEXTENSION
from ..util.typing import Literal
-from ..util.typing import Protocol
from ..util.typing import Self
if TYPE_CHECKING:
from typing import NoReturn
from typing import Optional
from typing import overload
+from typing import Protocol
from typing import Sequence
from typing import Set
from typing import Tuple
from ._has_cy import HAS_CYEXTENSION
from .typing import Literal
-from .typing import Protocol
if typing.TYPE_CHECKING or not HAS_CYEXTENSION:
from ._py_collections import immutabledict as immutabledict
import builtins
import re
import sys
-import typing
from typing import Any
from typing import Callable
from typing import cast
from typing import NoReturn
from typing import Optional
from typing import overload
+from typing import Protocol
from typing import Set
from typing import Tuple
from typing import Type
from . import compat
if True: # zimports removes the tailing comments
- from typing_extensions import Annotated as Annotated # 3.8
+ from typing_extensions import Annotated as Annotated # 3.9
from typing_extensions import Concatenate as Concatenate # 3.10
from typing_extensions import (
dataclass_transform as dataclass_transform, # 3.11,
)
- from typing_extensions import Final as Final # 3.8
- from typing_extensions import final as final # 3.8
from typing_extensions import get_args as get_args # 3.10
from typing_extensions import get_origin as get_origin # 3.10
- from typing_extensions import Literal as Literal # 3.8
+ from typing_extensions import (
+ Literal as Literal,
+ ) # 3.8 but has bugs before 3.10
from typing_extensions import NotRequired as NotRequired # 3.11
from typing_extensions import ParamSpec as ParamSpec # 3.10
- from typing_extensions import Protocol as Protocol # 3.8
- from typing_extensions import SupportsIndex as SupportsIndex # 3.8
from typing_extensions import TypeAlias as TypeAlias # 3.10
- from typing_extensions import TypedDict as TypedDict # 3.8
from typing_extensions import TypeGuard as TypeGuard # 3.10
from typing_extensions import Self as Self # 3.11