1# sqlalchemy/pool/__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
9"""Connection pooling for DB-API connections.
10
11Provides a number of connection pool implementations for a variety of
12usage scenarios and thread behavior requirements imposed by the
13application, DB-API or database itself.
14
15Also provides a DB-API 2.0 connection proxying mechanism allowing
16regular DB-API connect() methods to be transparently managed by a
17SQLAlchemy connection pool.
18"""
19
20from .base import _ConnectionFairy # noqa
21from .base import _ConnectionRecord # noqa
22from .base import _finalize_fairy # noqa
23from .base import _refs # noqa
24from .base import Pool
25from .base import reset_commit
26from .base import reset_none
27from .base import reset_rollback
28from .dbapi_proxy import clear_managers
29from .dbapi_proxy import manage
30from .impl import AssertionPool
31from .impl import NullPool
32from .impl import QueuePool
33from .impl import SingletonThreadPool
34from .impl import StaticPool
35
36
37__all__ = [
38 "Pool",
39 "reset_commit",
40 "reset_none",
41 "reset_rollback",
42 "clear_managers",
43 "manage",
44 "AssertionPool",
45 "NullPool",
46 "QueuePool",
47 "SingletonThreadPool",
48 "StaticPool",
49]
50
51# as these are likely to be used in various test suites, debugging
52# setups, keep them in the sqlalchemy.pool namespace