1# Licensed under the LGPL: https://www.gnu.org/licenses/old-licenses/lgpl-2.1.en.html
2# For details: https://github.com/pylint-dev/astroid/blob/main/LICENSE
3# Copyright (c) https://github.com/pylint-dev/astroid/blob/main/CONTRIBUTORS.txt
4
5from astroid.brain.helpers import register_module_extender
6from astroid.builder import parse
7from astroid.manager import AstroidManager
8
9
10def _session_transform():
11 return parse(
12 """
13 from sqlalchemy.orm.session import Session
14
15 class sessionmaker:
16 def __init__(
17 self,
18 bind=None,
19 class_=Session,
20 autoflush=True,
21 autocommit=False,
22 expire_on_commit=True,
23 info=None,
24 **kw
25 ):
26 return
27
28 def __call__(self, **local_kw):
29 return Session()
30
31 def configure(self, **new_kw):
32 return
33
34 return Session()
35 """
36 )
37
38
39def register(manager: AstroidManager) -> None:
40 register_module_extender(manager, "sqlalchemy.orm.session", _session_transform)