File size: 1,494 Bytes
a3682cf
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
# Lazy imports — modules are loaded on first access, not at package load time.
# This prevents a hard crash when xgboost's native library is momentarily absent.

__all__ = [
    "TemporalModel",
    "TGNWrapper",
    "TGATWrapper",
    "DyRepWrapper",
    "JODIEWrapper",
    "OracleMotifWrapper",
    "SequenceGRUWrapper",
    "StaticGNNWrapper",
    "XGBoostWrapper",
]


def __getattr__(name):
    if name == "TemporalModel":
        from models.base import TemporalModel
        return TemporalModel
    if name == "TGNWrapper":
        from models.tgn_wrapper import TGNWrapper
        return TGNWrapper
    if name == "TGATWrapper":
        from models.tgat import TGATWrapper
        return TGATWrapper
    if name == "DyRepWrapper":
        from models.dyrep import DyRepWrapper
        return DyRepWrapper
    if name == "JODIEWrapper":
        from models.jodie import JODIEWrapper
        return JODIEWrapper
    if name == "OracleMotifWrapper":
        from models.oracle_motif import OracleMotifWrapper
        return OracleMotifWrapper
    if name == "SequenceGRUWrapper":
        from models.sequence_gru import SequenceGRUWrapper
        return SequenceGRUWrapper
    if name == "StaticGNNWrapper":
        from models.static_gnn import StaticGNNWrapper
        return StaticGNNWrapper
    if name == "XGBoostWrapper":
        from models.xgboost_model import XGBoostWrapper
        return XGBoostWrapper
    raise AttributeError(f"module 'models' has no attribute {name!r}")