
    'YHhe                          d Z ddlmZmZ ddZy)a  Parallel utility function using joblib

copied from https://github.com/mne-tools/mne-python

Author: Alexandre Gramfort <gramfort@nmr.mgh.harvard.edu>
License: Simplified BSD

changes for statsmodels (Josef Perktold)
- try import from joblib directly, (does not import all of sklearn)

    )ModuleUnavailableWarningmodule_unavailable_docc                    	 	 ddl m}m}  |||      } ||       }|dk(  r	 ddl}|j                         }|||fS # t        $ r ddlm}m} Y Dw xY w# t        t        f$ r2 ddl}|j                  t        j                  d      t               d}Y \w xY w# t        $ r: ddl}|j                  t        j                  d      t               d}| }t        }Y w xY w)	a  Return parallel instance with delayed function

    Util function to use joblib only if available

    Parameters
    ----------
    func : callable
        A function
    n_jobs : int
        Number of jobs to run in parallel
    verbose : int
        Verbosity level

    Returns
    -------
    parallel : instance of joblib.Parallel or list
        The parallel object
    my_func : callable
        func if not parallel or delayed(func)
    n_jobs : int
        Number of jobs >= 0

    Examples
    --------
    >>> from math import sqrt
    >>> from statsmodels.tools.parallel import parallel_func
    >>> parallel, p_func, n_jobs = parallel_func(sqrt, n_jobs=-1, verbose=0)
    >>> print(n_jobs)
    >>> parallel(p_func(i**2) for i in range(10))
    r   )Paralleldelayed)verboseNmultiprocessing   joblib)r   r   r   ImportErrorsklearn.externals.joblibr
   	cpu_countNotImplementedErrorwarningswarnr   formatr   list)	funcn_jobsr   r   r   parallelmy_funcr
   r   s	            S/var/www/html/planif/env/lib/python3.12/site-packages/statsmodels/tools/parallel.pyparallel_funcr      s    >	C0 FG4$-R<&(224 Wf$$/  	CBB	C  !45 4;;<MN68	  ,33H=.	0sJ   < B A AB AB >BB BB A CCN)   )__doc__statsmodels.tools.sm_exceptionsr   r   r        r   <module>r       s   
E9%r   