File size: 2,029 Bytes
74b8b2a
 
 
 
 
 
 
 
 
 
 
2c1249c
 
 
 
 
 
74b8b2a
 
 
 
 
 
 
 
2c1249c
 
 
 
74b8b2a
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
47
48
49
50
"""ESMFold2 public classes, imported lazily to keep optional extras isolated."""

from __future__ import annotations

from importlib import import_module
from typing import TYPE_CHECKING, Any

if TYPE_CHECKING:
    from .configuration_esmfold2 import ESMFold2Config as ESMFold2Config
    from .modeling_esmfold2 import ESMFold2Model as ESMFold2Model
    from .modeling_esmfold2 import ESMFold2Output as ESMFold2Output
    from .modeling_esmfold2_classification import (
        ESMFold2ExperimentalForSequenceClassification as ESMFold2ExperimentalForSequenceClassification,
        ESMFold2ExperimentalForTokenClassification as ESMFold2ExperimentalForTokenClassification,
        ESMFold2ForSequenceClassification as ESMFold2ForSequenceClassification,
        ESMFold2ForTokenClassification as ESMFold2ForTokenClassification,
    )
    from .modeling_esmfold2_experimental import (
        ESMFold2ExperimentalModel as ESMFold2ExperimentalModel,
    )
    from .reproducibility import seed_context as seed_context

_EXPORT_MODULES = {
    "ESMFold2Config": ".configuration_esmfold2",
    "ESMFold2ExperimentalModel": ".modeling_esmfold2_experimental",
    "ESMFold2ExperimentalForSequenceClassification": ".modeling_esmfold2_classification",
    "ESMFold2ExperimentalForTokenClassification": ".modeling_esmfold2_classification",
    "ESMFold2ForSequenceClassification": ".modeling_esmfold2_classification",
    "ESMFold2ForTokenClassification": ".modeling_esmfold2_classification",
    "ESMFold2Model": ".modeling_esmfold2",
    "ESMFold2Output": ".modeling_esmfold2",
    "seed_context": ".reproducibility",
}


def __getattr__(name: str) -> Any:
    module_name = _EXPORT_MODULES.get(name)
    if module_name is None:
        raise AttributeError(f"module {__name__!r} has no attribute {name!r}")
    value = getattr(import_module(module_name, __name__), name)
    globals()[name] = value
    return value


def __dir__() -> list[str]:
    return sorted(set(globals()) | set(_EXPORT_MODULES))


__all__ = list(_EXPORT_MODULES)