`L iFddlZddlZddlmZdgZGddZdZdZy)N) signature deprecatedc0eZdZdZddZdZdZdZdZy) raDecorator to mark a function or class as deprecated. Issue a warning when the function is called/the class is instantiated and adds a warning to the docstring. The optional extra argument will be appended to the deprecation message and the docstring. Note: to use this with the default value for extra, put in an empty of parentheses: Examples -------- >>> from sklearn.utils import deprecated >>> deprecated() >>> @deprecated() ... def some_function(): pass Parameters ---------- extra : str, default='' To be added to the deprecation messages. c||_y)N)extra)selfrs _/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/sklearn/utils/deprecation.py__init__zdeprecated.__init__&s  ct|tr|j|St|tr|j |S|j |S)zPCall method Parameters ---------- obj : object ) isinstancetype_decorate_classproperty_decorate_property _decorate_fun)robjs r __call__zdeprecated.__call__)sM c4 '', , X &**3/ /%%c* *r cd|jz|jrd|jzz |jt|}fd}||_d|_|_||_|S)NzClass %s is deprecated; %sctjttjurtj |S|g|i|SN)category)warningswarn FutureWarningobject__new__)clsargskwargsmsgnews r wrappedz+deprecated._decorate_class..wrappedFsA MM# 6fnn$~~c**s,T,V, ,r r)__name__rrrdeprecated_original __signature__)rrsigr$r"r#s @@r rzdeprecated._decorate_class>sh&5 :: 6DJJ& &Ckkn - $&)# r cdjz|jrd|jzz tjfd}|_|S)zDecorate function funzFunction %s is deprecatedrcJtjt|i|Sr)rrr)r r!funr"s r r$z)deprecated._decorate_fun..wrapped]s! MM# 6'' 'r )r%r functoolswraps __wrapped__)rr+r$r"s ` @r rzdeprecated._decorate_funVsW*CLL8 :: 6DJJ& &C   (  ( "r c|jttjjfd}|S)Nc^tjtj|i|Sr)rrrfget)r r!r"props r r$z.deprecated._decorate_property..wrappedks) MM# 6499d-f- -r )rrr,r-r1)rr2r$r"s ` @r rzdeprecated._decorate_propertyhs:jj   # . $  .r N)) r% __module__ __qualname____doc__r rrrrr r rr s 4+*0$ r c t|dg}|g}ddj|Dcgc])}t|jts|j+c}v}|Scc}w)z>Helper to check if func is wrapped by our deprecated decorator __closure__rr3)getattrjoinr cell_contentsstr)funcclosuresc is_deprecateds r _is_deprecatedrBts]t]B/H BGG"*OQj#.NO%M  Ps A A ch|dk7r)tjdt| td|S|y|S)zCHelper to deprecate force_all_finite in favor of ensure_all_finite.rzX'force_all_finite' was renamed to 'ensure_all_finite' in 1.6 and will be removed in 1.8.zb'force_all_finite' and 'ensure_all_finite' cannot be used together. Pass `ensure_all_finite` only.T)rrr ValueError)force_all_finiteensure_all_finites r _deprecate_force_all_finiterGsO<'     (1     r )r,rinspectr__all__rrBrGr7r r rJs. .ffRr