Source code for causalexplain

"""
CausalExplain: A Python package for causal discovery and inference.

This package provides tools for discovering and analyzing causal relationships
in data using various methods and algorithms.
"""

from importlib import import_module
from typing import TYPE_CHECKING, Any

from ._version import __version__

__all__ = [
    "common",
    "estimators",
    "explainability",
    "generators",
    "independence",
    "metrics",
    "models",
    "GraphDiscovery",
    "__version__",
]

if TYPE_CHECKING:
    from . import common, estimators, explainability, generators, independence, metrics, models
    from .causalexplainer import GraphDiscovery


[docs] def __getattr__(name: str) -> Any: """Load heavy subpackages lazily so basic package import stays lightweight.""" if name in { "common", "estimators", "explainability", "generators", "independence", "metrics", "models", }: module = import_module(f".{name}", __name__) globals()[name] = module return module if name == "GraphDiscovery": graph_discovery = import_module(".causalexplainer", __name__).GraphDiscovery globals()[name] = graph_discovery return graph_discovery raise AttributeError(f"module {__name__!r} has no attribute {name!r}")
[docs] def __dir__() -> list[str]: """Expose lazily available exports to interactive tooling.""" return sorted(set(globals()) | set(__all__))