diff --git a/src/scientific_plots/__init__.py b/src/scientific_plots/__init__.py index 896a8d8e0935bd320279b15c4e0fa20dbf094a5b..0ef0f56d4f7c93743265ad9470e9fc393422fcb6 100644 --- a/src/scientific_plots/__init__.py +++ b/src/scientific_plots/__init__.py @@ -5,4 +5,4 @@ useful across several different projects and repositories. It also contains stub-files with several data-type annotations for scipy and matplot-lib functions.""" -__version__ = "1.8.3" +__version__ = "1.8.4" diff --git a/src/scientific_plots/plot_settings.py b/src/scientific_plots/plot_settings.py index 89a5e64d556b29fe77faf1fa2bb0db71ab32d53c..5d20654f2c1638d9b2ebcddf4dfcdc1065c12168 100644 --- a/src/scientific_plots/plot_settings.py +++ b/src/scientific_plots/plot_settings.py @@ -536,7 +536,6 @@ def apply_styles(plot_function: Optional[PlotFunction] = None, *, _plot_function(*args, **kwargs) if PREVIEW: - # don't create the styled plots return errors = (OSError, FileNotFoundError, ThreeDPlotException, diff --git a/src/scipy-stubs/interpolate.pyi b/src/scipy-stubs/interpolate.pyi index f68c40c79281ded38897a7346e29b8a560b634c0..3484840d05e67f259311e411521869758573e8d6 100644 --- a/src/scipy-stubs/interpolate.pyi +++ b/src/scipy-stubs/interpolate.pyi @@ -93,3 +93,10 @@ class CubicSpline: def integrate(self, a: float, b: float, extrapolate: Optional[Union[str, bool]] = None) -> float: ... + + +def griddata( + points: Matrix, values: Union[Vector, float, complex], + xi: Union[Matrix, tuple[Vector, ...]], method: str = "linear", + fill_value: float = float("nan"), rescale: bool = False + ) -> Matrix: ... diff --git a/src/scipy-stubs/signal/__init__.pyi b/src/scipy-stubs/signal/__init__.pyi index 348b837b06baf089c8faf22e647539ef8766cd87..6cbdb7346fdb107d2742351110b4f0848119899e 100644 --- a/src/scipy-stubs/signal/__init__.pyi +++ b/src/scipy-stubs/signal/__init__.pyi @@ -25,8 +25,10 @@ def periodogram( detrend: bool = False) -> Tuple[Vector, Vector]: ... -Single = Union[Vector, list[float]] -Double = Union[tuple[Vector, Vector], tuple[list[float], list[float]]] +Single = Union[Vector, list[float], tuple[float, ...]] +Double = Union[ + tuple[Vector, Vector], tuple[list[float], list[float]], + tuple[tuple[float, ...], tuple[float, ...]]] @overload @@ -45,13 +47,15 @@ def savgol_filter( def sosfilt( - sos: Single, x: Single, axis: int = -1, zi: Optional[Single] = None, + sos: Single, x: Union[Single, Matrix], + axis: int = -1, zi: Optional[Single] = None, padtype: Optional[str] = "odd", padlen: Optional[int] = None)\ -> Vector: ... def sosfiltfilt( - sos: Single, x: Single, axis: int = -1, zi: Optional[Single] = None, + sos: Single, x: Union[Single, Matrix], + axis: int = -1, zi: Optional[Single] = None, padtype: Optional[str] = "odd", padlen: Optional[int] = None)\ -> Vector: ... diff --git a/src/skimage-stubs/filters.pyi b/src/skimage-stubs/filters.pyi new file mode 100644 index 0000000000000000000000000000000000000000..31a5e8bff056cfe3ef5e18d1188606ec5bb4ed3e --- /dev/null +++ b/src/skimage-stubs/filters.pyi @@ -0,0 +1,22 @@ +#!/usr/bin/env python3 +""" +Typing stubs for skimage.filters. +""" +from typing import Optional, Union, Any +from scientific_plots.types_ import Matrix + + +def butterworth( + image: Matrix, + cutoff_frequency_ratio: float, + order: int = 4, + high_pass: bool = False, + squared_butterworth: bool = False, + npad: Optional[int] = None) -> Matrix: ... + + +def sosfreqz(sos: Any, + worN: Optional[Union[int, Vector]] = 512, + whole: bool = False, + fs: Optional[float] = None)\ + -> tuple[Vector, Vector]: ... diff --git a/src/sklearn-stubs/ensemble.pyi b/src/sklearn-stubs/ensemble.pyi new file mode 100644 index 0000000000000000000000000000000000000000..3df757c844b5f668be76a2e41228cf8128f64ba1 --- /dev/null +++ b/src/sklearn-stubs/ensemble.pyi @@ -0,0 +1,65 @@ +#!/usr/bin/env python3 +""" +Typing stubs for sklearn.ensemble. +""" +from __future__ import annotations + +from typing import Optional, Union, List, Tuple, Dict, TypeVar +from scientific_plots.types_ import Matrix, Vector as Vector_ + +from vector_type import Vector # Assuming Vector is defined in vector_type module + +Vector = TypeVar("Vector", bound=Union[Vector_, Matrix]) + + +class IsolationForest: + def __init__(self, + n_estimators: int = 100, + max_samples: Union[int, float, str] = 'auto', + contamination: Union[float, str] = 'auto', + max_features: float = 1.0, + bootstrap: bool = False, + n_jobs: Optional[int] = None, + behaviour: str = 'deprecated', + random_state: Optional[Union[int, np.random.RandomState]] = None, + verbose: int = 0, + warm_start: bool = False) -> None: ... + + def fit(self, + X: Vector, + y: Optional[Vector] = None, + sample_weight: Optional[Vector] = None) -> 'IsolationForest': ... + + def predict(self, X: Vector) -> Vector: ... + + def fit_predict(self, + X: Vector, + y: Optional[Vector] = None, + sample_weight: Optional[Vector] = None) -> Vector: ... + + def decision_function(self, X: Vector) -> Vector: ... + + def score_samples(self, X: Vector) -> Vector: ... + + def get_params(self, + deep: bool = True) -> Dict[str, + Union[int, float, str, bool, None]]: ... + + def set_params(self, **params) -> IsolationForest: ... + + # Additional methods for compatibility with BaseEstimator and OutlierMixin + def __getstate__(self) -> dict: ... + def __setstate__(self, state: dict) -> None: ... + + # Properties + @property + def estimators_(self) -> List: ... + + @property + def estimators_samples_(self) -> List: ... + + @property + def max_samples_(self) -> int: ... + + @property + def offset_(self) -> float: ...