summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/engine/__init__.py
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2022-01-24 17:04:27 -0500
committerMike Bayer <mike_mp@zzzcomputing.com>2022-02-13 14:23:04 -0500
commite545298e35ea9f126054b337e4b5ba01988b29f7 (patch)
treee64aea159111d5921ff01f08b1c4efb667249dfe /lib/sqlalchemy/engine/__init__.py
parentf1da1623b800cd4de3b71fd1b2ad5ccfde286780 (diff)
downloadsqlalchemy-e545298e35ea9f126054b337e4b5ba01988b29f7.tar.gz
establish mypy / typing approach for v2.0
large patch to get ORM / typing efforts started. this is to support adding new test cases to mypy, support dropping sqlalchemy2-stubs entirely from the test suite, validate major ORM typing reorganization to eliminate the need for the mypy plugin. * New declarative approach which uses annotation introspection, fixes: #7535 * Mapped[] is now at the base of all ORM constructs that find themselves in classes, to support direct typing without plugins * Mypy plugin updated for new typing structures * Mypy test suite broken out into "plugin" tests vs. "plain" tests, and enhanced to better support test structures where we assert that various objects are introspected by the type checker as we expect. as we go forward with typing, we will add new use cases to "plain" where we can assert that types are introspected as we expect. * For typing support, users will be much more exposed to the class names of things. Add these all to "sqlalchemy" import space. * Column(ForeignKey()) no longer needs to be `@declared_attr` if the FK refers to a remote table * composite() attributes mapped to a dataclass no longer need to implement a `__composite_values__()` method * with_variant() accepts multiple dialect names Change-Id: I22797c0be73a8fbbd2d6f5e0c0b7258b17fe145d Fixes: #7535 Fixes: #7551 References: #6810
Diffstat (limited to 'lib/sqlalchemy/engine/__init__.py')
-rw-r--r--lib/sqlalchemy/engine/__init__.py84
1 files changed, 42 insertions, 42 deletions
diff --git a/lib/sqlalchemy/engine/__init__.py b/lib/sqlalchemy/engine/__init__.py
index e934f9f89..c6bc4b6aa 100644
--- a/lib/sqlalchemy/engine/__init__.py
+++ b/lib/sqlalchemy/engine/__init__.py
@@ -15,45 +15,45 @@ constructor ``create_engine()``.
"""
-from . import events
-from . import util
-from .base import Connection
-from .base import Engine
-from .base import NestedTransaction
-from .base import RootTransaction
-from .base import Transaction
-from .base import TwoPhaseTransaction
-from .create import create_engine
-from .create import engine_from_config
-from .cursor import BaseCursorResult
-from .cursor import BufferedColumnResultProxy
-from .cursor import BufferedColumnRow
-from .cursor import BufferedRowResultProxy
-from .cursor import CursorResult
-from .cursor import FullyBufferedResultProxy
-from .cursor import ResultProxy
-from .interfaces import AdaptedConnection
-from .interfaces import BindTyping
-from .interfaces import Compiled
-from .interfaces import CreateEnginePlugin
-from .interfaces import Dialect
-from .interfaces import ExceptionContext
-from .interfaces import ExecutionContext
-from .interfaces import TypeCompiler
-from .mock import create_mock_engine
-from .reflection import Inspector
-from .result import ChunkedIteratorResult
-from .result import FrozenResult
-from .result import IteratorResult
-from .result import MappingResult
-from .result import MergedResult
-from .result import Result
-from .result import result_tuple
-from .result import ScalarResult
-from .row import BaseRow
-from .row import Row
-from .row import RowMapping
-from .url import make_url
-from .url import URL
-from .util import connection_memoize
-from ..sql import ddl
+from . import events as events
+from . import util as util
+from .base import Connection as Connection
+from .base import Engine as Engine
+from .base import NestedTransaction as NestedTransaction
+from .base import RootTransaction as RootTransaction
+from .base import Transaction as Transaction
+from .base import TwoPhaseTransaction as TwoPhaseTransaction
+from .create import create_engine as create_engine
+from .create import engine_from_config as engine_from_config
+from .cursor import BaseCursorResult as BaseCursorResult
+from .cursor import BufferedColumnResultProxy as BufferedColumnResultProxy
+from .cursor import BufferedColumnRow as BufferedColumnRow
+from .cursor import BufferedRowResultProxy as BufferedRowResultProxy
+from .cursor import CursorResult as CursorResult
+from .cursor import FullyBufferedResultProxy as FullyBufferedResultProxy
+from .cursor import ResultProxy as ResultProxy
+from .interfaces import AdaptedConnection as AdaptedConnection
+from .interfaces import BindTyping as BindTyping
+from .interfaces import Compiled as Compiled
+from .interfaces import CreateEnginePlugin as CreateEnginePlugin
+from .interfaces import Dialect as Dialect
+from .interfaces import ExceptionContext as ExceptionContext
+from .interfaces import ExecutionContext as ExecutionContext
+from .interfaces import TypeCompiler as TypeCompiler
+from .mock import create_mock_engine as create_mock_engine
+from .reflection import Inspector as Inspector
+from .result import ChunkedIteratorResult as ChunkedIteratorResult
+from .result import FrozenResult as FrozenResult
+from .result import IteratorResult as IteratorResult
+from .result import MappingResult as MappingResult
+from .result import MergedResult as MergedResult
+from .result import Result as Result
+from .result import result_tuple as result_tuple
+from .result import ScalarResult as ScalarResult
+from .row import BaseRow as BaseRow
+from .row import Row as Row
+from .row import RowMapping as RowMapping
+from .url import make_url as make_url
+from .url import URL as URL
+from .util import connection_memoize as connection_memoize
+from ..sql import ddl as ddl