# This file was generated by Nuitka

# Stubs included by default
from __future__ import annotations
from dataclasses import asdict, dataclass
from numpy.typing import NDArray
from pandas.core.frame import DataFrame
from pandas.core.series import Series
from scipy.stats import kurtosis, skew, spearmanr
from sklearn.feature_selection import mutual_info_regression
from statsmodels.tsa.stattools import adfuller
from typing import Any, Dict, List, Optional, Tuple, Union, types
from typing_extensions import Self
from dataclasses import dataclass
import builtins
import numpy
import pandas
import re
import sklearn

@dataclass
class EdaScoreBreakdown:
    def weighted_total(self: Self) -> float: ...

@dataclass
class EdaReport:
    def to_dict(self: Self) -> Dict[str, Any]: ...
    def to_markdown(self: Self) -> str: ...

class EDA:
    def __init__(self: Self) -> None: ...
    def __getattr__(self: Self, name: str) -> Any: ...
    def __dir__(self: Self) -> Any: ...
    def _compose_version(self: Self) -> str: ...
    def _is_public(self: Self, name: str) -> bool: ...
    def _dir_safe(self: Self, mod: Optional[types.ModuleType]) -> List[str]: ...
    def _union_attrs(self: Self) -> List[str]: ...
    def _is_categorical(self: Self, s: Series) -> bool: ...
    def _is_numeric(self: Self, s: Series) -> bool: ...
    def _safe_skew(self: Self, x: NDArray) -> Optional[float]: ...
    def _safe_kurtosis(self: Self, x: NDArray) -> Optional[float]: ...
    def _spearman_abs(self: Self, x: NDArray, y: NDArray) -> Optional[float]: ...
    def _pct(self: Self, x: float) -> float: ...
    def _iqr_outlier_share(self: Self, arr: NDArray) -> float: ...
    def _corr_proportion_strong(self: Self, corr: DataFrame, thr: float) -> float: ...
    def _canonical_time_lags(self: Self, freq: Optional[str]) -> List[int]: ...
    def _autocorr_at_lags(self: Self, series: 'pd.Series', lags: List[int]) -> Dict[int, float]: ...
    def _seasonality_strength(self: Self, ac_map: Dict[int, float]) -> float: ...
    def _correlation_ratio_num_cat(self: Self, y: Series, x_cat: Series) -> Optional[float]: ...
    def _leakage_hints_per_target(self: Self, df_X: DataFrame, y: Series) -> Tuple[float, List[str]]: ...
    def eda_report_and_score(self: Self, df: DataFrame) -> EdaReport: ...
    def eda(self: Self, df: DataFrame) -> EdaReport: ...
    def eda_md(self: Self, df: DataFrame) -> str: ...
    def eda_print(self: Self, df: DataFrame) -> None: ...


__name__ = ...



# Modules used internally, to allow implicit dependencies to be seen:
import typing
import dataclasses
import pandas
import pandas.core
import pandas.core.frame
import pandas.core.series
import numpy
import numpy.typing
import numpy.typing.NDArray
import sklearn
import builtins
import re
import scipy
import scipy.stats
import statsmodels
import statsmodels.tsa
import statsmodels.tsa.stattools
import sklearn.feature_selection
import sklearn.feature_selection.mutual_info_regression