
    Q3j                     x    d dl mZmZ e G d de             Ze G d dee             Ze G d dee             Zy)	    )Protocolruntime_checkablec                       e Zd ZdZd Zd Zy)_BaseCallbackz Protocol for the base callbacks.c                      y)aq  Method called at the beginning of the fit method of the estimator.

        For auto-propagated callbacks, this method is called only once, before running
        the fit method of the outermost estimator.

        Parameters
        ----------
        estimator : estimator instance
            The estimator calling this callback hook.

        context : `sklearn.callback.CallbackContext` instance
            Context of the corresponding task. This is usually the root context of the
            estimator but it can be an intermediate context if the estimator is a
            sub-estimator of a meta-estimator.
        N self	estimatorcontexts      C/DATA/.local/lib/python3.12/site-packages/sklearn/callback/_base.pysetupz_BaseCallback.setup           c                      y)an  Method called after finishing the fit method of the estimator.

        For auto-propagated callbacks, this method is called only once, after finishing
        the fit method of the outermost estimator.

        Parameters
        ----------
        estimator : estimator instance
            The estimator calling this callback hook.

        context : `sklearn.callback.CallbackContext` instance
            Context of the corresponding task. This is usually the root context of the
            estimator but it can be an intermediate context if the estimator is a
            sub-estimator of a meta-estimator.
        Nr   r	   s      r   teardownz_BaseCallback.teardown   r   r   N)__name__
__module____qualname____doc__r   r   r   r   r   r   r      s    *"r   r   c                   4    e Zd ZdZddddddZddddddZy)FitCallbackzMProtocol for the callbacks evaluated on tasks during the fit of an estimator.N)Xymetadatafitted_estimatorc                     y)a  Method called at the beginning of each fit task of the estimator.

        Parameters
        ----------
        estimator : estimator instance
            The estimator calling this callback hook.

        context : `sklearn.callback.CallbackContext` instance
            Context of the corresponding task.

        X : array-like
            The training data at this task.

        y : array-like
            The training target values at this task.

        metadata : dict
            Training metadata at this task, e.g. sample weights.

        fitted_estimator : estimator instance
            A new instance of the estimator that is ready to predict, transform, etc ...
            as if fit had stopped at the beginning of this task.
        Nr   r
   r   r   r   r   r   r   s          r   on_fit_task_beginzFitCallback.on_fit_task_begin2   r   r   c                     y)aj  Method called at the end of each fit task of the estimator.

        Parameters
        ----------
        estimator : estimator instance
            The estimator calling this callback hook.

        context : `sklearn.callback.CallbackContext` instance
            Context of the corresponding task.

        X : array-like
            The training data at this task.

        y : array-like
            The training target values at this task.

        metadata : dict
            Training metadata at this task, e.g. sample weights.

        fitted_estimator : estimator instance
            A new instance of the estimator that is ready to predict, transform, etc ...
            as if fit had stopped at the end of this task.

        Returns
        -------
        stop : bool
            Whether or not to stop the current level of iterations at this task.
        Nr   r   s          r   on_fit_task_endzFitCallback.on_fit_task_endT   r   r   )r   r   r   r   r   r!   r   r   r   r   r   .   s,    W 
 N 
%r   r   c                        e Zd ZdZed        Zy)AutoPropagatedCallbackzProtocol for the auto-propagated callbacks

    An auto-propagated callback is a callback that is meant to be set on a top-level
    estimator and that is automatically propagated to its sub-estimators (if any).
    c                      y)zThe maximum number of nested estimators at which the callback should be
        propagated.

        If set to None, the callback is propagated to sub-estimators at all nesting
        levels.
        Nr   )r
   s    r   max_propagation_depthz,AutoPropagatedCallback.max_propagation_depth   r   r   N)r   r   r   r   propertyr%   r   r   r   r#   r#   |   s      r   r#   N)typingr   r   r   r   r#   r   r   r   <module>r(      sd    / #H # #L J- J JZ ]H  r   