File size: 946 Bytes
eec71cb
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
"""DAIOE Explorer core package.

This package is what the app imports. The public surface area is intentionally small:
- `config` for UI options and defaults
- `run_pipeline`/`run_weighting` for pipeline execution
- `fetch_taxonomy_dataframe` for raw SCB weights
"""

from __future__ import annotations

from typing import TYPE_CHECKING

from . import config
from .scb_fetch import Taxonomy, fetch_taxonomy_dataframe

if TYPE_CHECKING:  # pragma: no cover
    from .pipeline import run_pipeline, run_weighting

__all__ = [
    "Taxonomy",
    "config",
    "fetch_taxonomy_dataframe",
    "run_pipeline",
    "run_weighting",
]


def __getattr__(name: str):  # pragma: no cover
    if name in {"run_pipeline", "run_weighting"}:
        from .pipeline import run_pipeline, run_weighting

        return {"run_pipeline": run_pipeline, "run_weighting": run_weighting}[name]
    raise AttributeError(f"module {__name__!r} has no attribute {name!r}")