diff options
| author | Mike Bayer <mike_mp@zzzcomputing.com> | 2022-02-13 16:45:18 -0500 |
|---|---|---|
| committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2022-02-15 17:10:33 -0500 |
| commit | 5c6081ddb03447697f909a03572b6d6d79e61b71 (patch) | |
| tree | 8124ba2e9a496dcb6ac6ea92626804d261cc4c5d /lib/sqlalchemy/sql | |
| parent | 619abb52b6f1ee023db0f85fd96ba9f88c8efa7b (diff) | |
| download | sqlalchemy-5c6081ddb03447697f909a03572b6d6d79e61b71.tar.gz | |
pep-484 for sqlalchemy.event; use future annotations
__future__.annotations mode allows us to use non-string
annotations for argument and return types in most cases,
but more importantly it removes a large amount of runtime
overhead that would be spent in evaluating the annotations.
Change-Id: I2f5b6126fe0019713fc50001be3627b664019ede
References: #6810
Diffstat (limited to 'lib/sqlalchemy/sql')
29 files changed, 58 insertions, 0 deletions
diff --git a/lib/sqlalchemy/sql/_dml_constructors.py b/lib/sqlalchemy/sql/_dml_constructors.py index e62edf5e6..a8c24413f 100644 --- a/lib/sqlalchemy/sql/_dml_constructors.py +++ b/lib/sqlalchemy/sql/_dml_constructors.py @@ -5,6 +5,8 @@ # This module is part of SQLAlchemy and is released under # the MIT License: https://www.opensource.org/licenses/mit-license.php +from __future__ import annotations + from .dml import Delete from .dml import Insert from .dml import Update diff --git a/lib/sqlalchemy/sql/_elements_constructors.py b/lib/sqlalchemy/sql/_elements_constructors.py index a8c9372e0..4132ac679 100644 --- a/lib/sqlalchemy/sql/_elements_constructors.py +++ b/lib/sqlalchemy/sql/_elements_constructors.py @@ -5,6 +5,8 @@ # This module is part of SQLAlchemy and is released under # the MIT License: https://www.opensource.org/licenses/mit-license.php +from __future__ import annotations + import typing from typing import Any from typing import cast as _typing_cast diff --git a/lib/sqlalchemy/sql/_py_util.py b/lib/sqlalchemy/sql/_py_util.py index 594967a40..96e8f6b2c 100644 --- a/lib/sqlalchemy/sql/_py_util.py +++ b/lib/sqlalchemy/sql/_py_util.py @@ -5,6 +5,8 @@ # This module is part of SQLAlchemy and is released under # the MIT License: https://www.opensource.org/licenses/mit-license.php +from __future__ import annotations + from typing import Dict diff --git a/lib/sqlalchemy/sql/_selectable_constructors.py b/lib/sqlalchemy/sql/_selectable_constructors.py index d3cf207da..9043aa6d0 100644 --- a/lib/sqlalchemy/sql/_selectable_constructors.py +++ b/lib/sqlalchemy/sql/_selectable_constructors.py @@ -5,6 +5,8 @@ # This module is part of SQLAlchemy and is released under # the MIT License: https://www.opensource.org/licenses/mit-license.php +from __future__ import annotations + from typing import Any from typing import Union diff --git a/lib/sqlalchemy/sql/_typing.py b/lib/sqlalchemy/sql/_typing.py index 4d2dd2688..7d8b9ee5c 100644 --- a/lib/sqlalchemy/sql/_typing.py +++ b/lib/sqlalchemy/sql/_typing.py @@ -1,3 +1,5 @@ +from __future__ import annotations + from typing import Any from typing import Mapping from typing import Sequence diff --git a/lib/sqlalchemy/sql/annotation.py b/lib/sqlalchemy/sql/annotation.py index c879bfc2d..b76393ad6 100644 --- a/lib/sqlalchemy/sql/annotation.py +++ b/lib/sqlalchemy/sql/annotation.py @@ -11,6 +11,8 @@ associations. """ +from __future__ import annotations + from . import operators from .base import HasCacheKey from .traversals import anon_map diff --git a/lib/sqlalchemy/sql/base.py b/lib/sqlalchemy/sql/base.py index 5828f9369..3936ed9c6 100644 --- a/lib/sqlalchemy/sql/base.py +++ b/lib/sqlalchemy/sql/base.py @@ -10,6 +10,8 @@ """ +from __future__ import annotations + import collections.abc as collections_abc from functools import reduce import itertools diff --git a/lib/sqlalchemy/sql/cache_key.py b/lib/sqlalchemy/sql/cache_key.py index 42bd60353..49f1899d5 100644 --- a/lib/sqlalchemy/sql/cache_key.py +++ b/lib/sqlalchemy/sql/cache_key.py @@ -5,6 +5,8 @@ # This module is part of SQLAlchemy and is released under # the MIT License: https://www.opensource.org/licenses/mit-license.php +from __future__ import annotations + from collections import namedtuple import enum from itertools import zip_longest diff --git a/lib/sqlalchemy/sql/coercions.py b/lib/sqlalchemy/sql/coercions.py index d5a75a165..d616417ab 100644 --- a/lib/sqlalchemy/sql/coercions.py +++ b/lib/sqlalchemy/sql/coercions.py @@ -5,6 +5,8 @@ # This module is part of SQLAlchemy and is released under # the MIT License: https://www.opensource.org/licenses/mit-license.php +from __future__ import annotations + import collections.abc as collections_abc import numbers import re diff --git a/lib/sqlalchemy/sql/compiler.py b/lib/sqlalchemy/sql/compiler.py index bf78b4231..4a169f719 100644 --- a/lib/sqlalchemy/sql/compiler.py +++ b/lib/sqlalchemy/sql/compiler.py @@ -22,6 +22,8 @@ To generate user-defined SQL strings, see :doc:`/ext/compiler`. """ +from __future__ import annotations + import collections import collections.abc as collections_abc import contextlib diff --git a/lib/sqlalchemy/sql/crud.py b/lib/sqlalchemy/sql/crud.py index 4a0555bf4..4292aa916 100644 --- a/lib/sqlalchemy/sql/crud.py +++ b/lib/sqlalchemy/sql/crud.py @@ -9,6 +9,8 @@ within INSERT and UPDATE statements. """ +from __future__ import annotations + import functools import operator diff --git a/lib/sqlalchemy/sql/ddl.py b/lib/sqlalchemy/sql/ddl.py index f622023b0..7acb69beb 100644 --- a/lib/sqlalchemy/sql/ddl.py +++ b/lib/sqlalchemy/sql/ddl.py @@ -9,6 +9,8 @@ Provides the hierarchy of DDL-defining schema items as well as routines to invoke them for a create/drop call. """ +from __future__ import annotations + import typing from typing import Callable from typing import List diff --git a/lib/sqlalchemy/sql/default_comparator.py b/lib/sqlalchemy/sql/default_comparator.py index 1759e686e..001710d7b 100644 --- a/lib/sqlalchemy/sql/default_comparator.py +++ b/lib/sqlalchemy/sql/default_comparator.py @@ -8,6 +8,8 @@ """Default implementation of SQL comparison operations. """ +from __future__ import annotations + import typing from typing import Any from typing import Callable diff --git a/lib/sqlalchemy/sql/dml.py b/lib/sqlalchemy/sql/dml.py index 33dca66cd..5aded307b 100644 --- a/lib/sqlalchemy/sql/dml.py +++ b/lib/sqlalchemy/sql/dml.py @@ -9,6 +9,8 @@ Provide :class:`_expression.Insert`, :class:`_expression.Update` and :class:`_expression.Delete`. """ +from __future__ import annotations + import collections.abc as collections_abc import typing diff --git a/lib/sqlalchemy/sql/elements.py b/lib/sqlalchemy/sql/elements.py index d14521ba7..0c532a135 100644 --- a/lib/sqlalchemy/sql/elements.py +++ b/lib/sqlalchemy/sql/elements.py @@ -10,6 +10,8 @@ """ +from __future__ import annotations + import itertools import operator import re diff --git a/lib/sqlalchemy/sql/events.py b/lib/sqlalchemy/sql/events.py index c42578986..1a1fc4c41 100644 --- a/lib/sqlalchemy/sql/events.py +++ b/lib/sqlalchemy/sql/events.py @@ -5,6 +5,8 @@ # This module is part of SQLAlchemy and is released under # the MIT License: https://www.opensource.org/licenses/mit-license.php +from __future__ import annotations + from .base import SchemaEventTarget from .. import event diff --git a/lib/sqlalchemy/sql/expression.py b/lib/sqlalchemy/sql/expression.py index 22195cd7c..36ddbf309 100644 --- a/lib/sqlalchemy/sql/expression.py +++ b/lib/sqlalchemy/sql/expression.py @@ -11,6 +11,8 @@ """ +from __future__ import annotations + from ._dml_constructors import delete as delete from ._dml_constructors import insert as insert from ._dml_constructors import update as update diff --git a/lib/sqlalchemy/sql/functions.py b/lib/sqlalchemy/sql/functions.py index 2e6d64c55..eb3d17ee4 100644 --- a/lib/sqlalchemy/sql/functions.py +++ b/lib/sqlalchemy/sql/functions.py @@ -9,6 +9,8 @@ """ +from __future__ import annotations + from typing import Any from typing import TypeVar diff --git a/lib/sqlalchemy/sql/lambdas.py b/lib/sqlalchemy/sql/lambdas.py index ae7358870..9d011ef53 100644 --- a/lib/sqlalchemy/sql/lambdas.py +++ b/lib/sqlalchemy/sql/lambdas.py @@ -5,6 +5,8 @@ # This module is part of SQLAlchemy and is released under # the MIT License: https://www.opensource.org/licenses/mit-license.php +from __future__ import annotations + import collections.abc as collections_abc import inspect import itertools diff --git a/lib/sqlalchemy/sql/naming.py b/lib/sqlalchemy/sql/naming.py index 15a1566a6..9b6fcdbae 100644 --- a/lib/sqlalchemy/sql/naming.py +++ b/lib/sqlalchemy/sql/naming.py @@ -10,6 +10,8 @@ """ +from __future__ import annotations + import re from . import events # noqa diff --git a/lib/sqlalchemy/sql/operators.py b/lib/sqlalchemy/sql/operators.py index 255e77b7f..d4fa8042d 100644 --- a/lib/sqlalchemy/sql/operators.py +++ b/lib/sqlalchemy/sql/operators.py @@ -10,6 +10,8 @@ """Defines operators used in SQL expressions.""" +from __future__ import annotations + from operator import add as _uncast_add from operator import and_ as _uncast_and_ from operator import contains as _uncast_contains diff --git a/lib/sqlalchemy/sql/roles.py b/lib/sqlalchemy/sql/roles.py index b41ef7a5d..64bd4b951 100644 --- a/lib/sqlalchemy/sql/roles.py +++ b/lib/sqlalchemy/sql/roles.py @@ -4,6 +4,8 @@ # # This module is part of SQLAlchemy and is released under # the MIT License: https://www.opensource.org/licenses/mit-license.php +from __future__ import annotations + import typing from sqlalchemy.util.langhelpers import TypingOnly diff --git a/lib/sqlalchemy/sql/schema.py b/lib/sqlalchemy/sql/schema.py index 9387ae030..528691795 100644 --- a/lib/sqlalchemy/sql/schema.py +++ b/lib/sqlalchemy/sql/schema.py @@ -28,6 +28,8 @@ Since these objects are part of the SQL expression language, they are usable as components in SQL expressions. """ +from __future__ import annotations + import collections import typing from typing import Any diff --git a/lib/sqlalchemy/sql/selectable.py b/lib/sqlalchemy/sql/selectable.py index b0985f75d..7f6360edb 100644 --- a/lib/sqlalchemy/sql/selectable.py +++ b/lib/sqlalchemy/sql/selectable.py @@ -11,6 +11,8 @@ SQL tables and derived rowsets. """ +from __future__ import annotations + import collections from enum import Enum import itertools diff --git a/lib/sqlalchemy/sql/sqltypes.py b/lib/sqlalchemy/sql/sqltypes.py index 0ec771cb4..819f1dc9a 100644 --- a/lib/sqlalchemy/sql/sqltypes.py +++ b/lib/sqlalchemy/sql/sqltypes.py @@ -8,6 +8,8 @@ """SQL specific types. """ +from __future__ import annotations + import collections.abc as collections_abc import datetime as dt import decimal diff --git a/lib/sqlalchemy/sql/traversals.py b/lib/sqlalchemy/sql/traversals.py index 18fd1d4b8..4fa23d370 100644 --- a/lib/sqlalchemy/sql/traversals.py +++ b/lib/sqlalchemy/sql/traversals.py @@ -5,6 +5,8 @@ # This module is part of SQLAlchemy and is released under # the MIT License: https://www.opensource.org/licenses/mit-license.php +from __future__ import annotations + from collections import deque import collections.abc as collections_abc import itertools diff --git a/lib/sqlalchemy/sql/type_api.py b/lib/sqlalchemy/sql/type_api.py index 6b878dc70..f76b4e462 100644 --- a/lib/sqlalchemy/sql/type_api.py +++ b/lib/sqlalchemy/sql/type_api.py @@ -9,6 +9,8 @@ """ +from __future__ import annotations + import typing from typing import Any from typing import Callable diff --git a/lib/sqlalchemy/sql/util.py b/lib/sqlalchemy/sql/util.py index c0de1902f..e3e358cdb 100644 --- a/lib/sqlalchemy/sql/util.py +++ b/lib/sqlalchemy/sql/util.py @@ -8,6 +8,8 @@ """High level utilities which build upon other modules here. """ +from __future__ import annotations + from collections import deque from itertools import chain import typing diff --git a/lib/sqlalchemy/sql/visitors.py b/lib/sqlalchemy/sql/visitors.py index 640c07d61..523426d09 100644 --- a/lib/sqlalchemy/sql/visitors.py +++ b/lib/sqlalchemy/sql/visitors.py @@ -23,6 +23,8 @@ https://techspot.zzzeek.org/2008/01/23/expression-transformations/ . """ +from __future__ import annotations + from collections import deque import itertools import operator |
