1# util/__init__.py
2# Copyright (C) 2005-2021 the SQLAlchemy authors and contributors
3# <see AUTHORS file>
4#
5# This module is part of SQLAlchemy and is released under
6# the MIT License: http://www.opensource.org/licenses/mit-license.php
7
8
9from collections import defaultdict # noqa
10from contextlib import contextmanager # noqa
11from functools import partial # noqa
12from functools import update_wrapper # noqa
13
14from ._collections import coerce_generator_arg # noqa
15from ._collections import collections_abc # noqa
16from ._collections import column_dict # noqa
17from ._collections import column_set # noqa
18from ._collections import EMPTY_SET # noqa
19from ._collections import flatten_iterator # noqa
20from ._collections import has_dupes # noqa
21from ._collections import has_intersection # noqa
22from ._collections import IdentitySet # noqa
23from ._collections import ImmutableContainer # noqa
24from ._collections import immutabledict # noqa
25from ._collections import ImmutableProperties # noqa
26from ._collections import KeyedTuple # noqa
27from ._collections import lightweight_named_tuple # noqa
28from ._collections import LRUCache # noqa
29from ._collections import ordered_column_set # noqa
30from ._collections import OrderedDict # noqa
31from ._collections import OrderedIdentitySet # noqa
32from ._collections import OrderedProperties # noqa
33from ._collections import OrderedSet # noqa
34from ._collections import PopulateDict # noqa
35from ._collections import Properties # noqa
36from ._collections import ScopedRegistry # noqa
37from ._collections import ThreadLocalRegistry # noqa
38from ._collections import to_column_set # noqa
39from ._collections import to_list # noqa
40from ._collections import to_set # noqa
41from ._collections import unique_list # noqa
42from ._collections import UniqueAppender # noqa
43from ._collections import update_copy # noqa
44from ._collections import WeakPopulateDict # noqa
45from ._collections import WeakSequence # noqa
46from ._preloaded import dependencies # noqa
47from .compat import arm # noqa
48from .compat import b # noqa
49from .compat import b64decode # noqa
50from .compat import b64encode # noqa
51from .compat import binary_type # noqa
52from .compat import byte_buffer # noqa
53from .compat import callable # noqa
54from .compat import cmp # noqa
55from .compat import cpython # noqa
56from .compat import decode_backslashreplace # noqa
57from .compat import dottedgetter # noqa
58from .compat import inspect_getfullargspec # noqa
59from .compat import int_types # noqa
60from .compat import iterbytes # noqa
61from .compat import itertools_filter # noqa
62from .compat import itertools_filterfalse # noqa
63from .compat import jython # noqa
64from .compat import namedtuple # noqa
65from .compat import nested # noqa
66from .compat import next # noqa
67from .compat import osx # noqa
68from .compat import parse_qsl # noqa
69from .compat import pickle # noqa
70from .compat import print_ # noqa
71from .compat import py2k # noqa
72from .compat import py33 # noqa
73from .compat import py36 # noqa
74from .compat import py3k # noqa
75from .compat import pypy # noqa
76from .compat import quote_plus # noqa
77from .compat import raise_ # noqa
78from .compat import raise_from_cause # noqa
79from .compat import reduce # noqa
80from .compat import reraise # noqa
81from .compat import safe_kwarg # noqa
82from .compat import string_types # noqa
83from .compat import StringIO # noqa
84from .compat import text_type # noqa
85from .compat import threading # noqa
86from .compat import timezone # noqa
87from .compat import u # noqa
88from .compat import ue # noqa
89from .compat import unquote # noqa
90from .compat import unquote_plus # noqa
91from .compat import win32 # noqa
92from .compat import with_metaclass # noqa
93from .compat import zip_longest # noqa
94from .deprecations import deprecated # noqa
95from .deprecations import deprecated_cls # noqa
96from .deprecations import deprecated_params # noqa
97from .deprecations import inject_docstring_text # noqa
98from .deprecations import pending_deprecation # noqa
99from .deprecations import warn_deprecated # noqa
100from .deprecations import warn_pending_deprecation # noqa
101from .langhelpers import add_parameter_text # noqa
102from .langhelpers import as_interface # noqa
103from .langhelpers import asbool # noqa
104from .langhelpers import asint # noqa
105from .langhelpers import assert_arg_type # noqa
106from .langhelpers import attrsetter # noqa
107from .langhelpers import bool_or_str # noqa
108from .langhelpers import chop_traceback # noqa
109from .langhelpers import class_hierarchy # noqa
110from .langhelpers import classproperty # noqa
111from .langhelpers import clsname_as_plain_name # noqa
112from .langhelpers import coerce_kw_type # noqa
113from .langhelpers import constructor_copy # noqa
114from .langhelpers import counter # noqa
115from .langhelpers import decode_slice # noqa
116from .langhelpers import decorator # noqa
117from .langhelpers import dictlike_iteritems # noqa
118from .langhelpers import duck_type_collection # noqa
119from .langhelpers import ellipses_string # noqa
120from .langhelpers import EnsureKWArgType # noqa
121from .langhelpers import format_argspec_init # noqa
122from .langhelpers import format_argspec_plus # noqa
123from .langhelpers import generic_repr # noqa
124from .langhelpers import get_callable_argspec # noqa
125from .langhelpers import get_cls_kwargs # noqa
126from .langhelpers import get_func_kwargs # noqa
127from .langhelpers import getargspec_init # noqa
128from .langhelpers import group_expirable_memoized_property # noqa
129from .langhelpers import hybridmethod # noqa
130from .langhelpers import hybridproperty # noqa
131from .langhelpers import iterate_attributes # noqa
132from .langhelpers import map_bits # noqa
133from .langhelpers import md5_hex # noqa
134from .langhelpers import memoized_instancemethod # noqa
135from .langhelpers import memoized_property # noqa
136from .langhelpers import MemoizedSlots # noqa
137from .langhelpers import methods_equivalent # noqa
138from .langhelpers import monkeypatch_proxied_specials # noqa
139from .langhelpers import NoneType # noqa
140from .langhelpers import only_once # noqa
141from .langhelpers import PluginLoader # noqa
142from .langhelpers import portable_instancemethod # noqa
143from .langhelpers import quoted_token_parser # noqa
144from .langhelpers import safe_reraise # noqa
145from .langhelpers import set_creation_order # noqa
146from .langhelpers import symbol # noqa
147from .langhelpers import unbound_method_to_callable # noqa
148from .langhelpers import warn # noqa
149from .langhelpers import warn_exception # noqa
150from .langhelpers import warn_limited # noqa
151from .langhelpers import wrap_callable # noqa
152
153
154# things that used to be not always available,
155# but are now as of current support Python versions