
    Q/Ph2                        d Z ddlmZ ddlmZ ddlmZmZmZm	Z	m
Z
mZ ddlZddlmZmZmZmZ deded	efd
Z G d de          Z G d de          Z G d de          Z G d de          Z G d de          Z G d de          Z G d de          Z G d de          Z G d de          Z G d de          Z G d d e          Z G d! d"e          Z G d# d$e          Z  G d% d&e          Z! G d' d(e          Z" G d) d*e          Z# G d+ d,e          Z$ G d- d.e          Z% G d/ d0e          Z& G d1 d2e          Z' G d3 d4e          Z( G d5 d6e          Z) G d7 d8e          Z* G d9 d:e          Z+ G d; d<e          Z, G d= d>e          Z- G d? d@e          Z. G dA dBe          Z/ G dC dDe          Z0 G dE dFe          Z1 G dG dHe          Z2 G dI dJe2          Z3 G dK dL          Z4dS )MzConfiguration for the package.    )Enum)Path)AnyDictListOptionalTupleUnionN)	BaseModelBaseSettingsFieldPrivateAttrdict1dict2returnc                     |                                  D ]J\  }}t          |t                    r'|                    |i           }t	          ||           A||vr|||<   K|S )z
    Recursive merge dictionaries.

    :param dict1: Base dictionary to merge.
    :param dict2: Dictionary to merge on top of base dictionary.
    :return: Merged dictionary
    )items
isinstancedict
setdefault_merge_dictionaries)r   r   keyval
dict2_nodes        V/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/ydata_profiling/config.pyr   r   
   ss     KKMM ! !Sc4   	!))#r22JZ0000% c
L    c                   h    e Zd ZU dZdZeed<   dZeed<   dZeed<   dZ	eed<   dZ
eed<   dZeed<   d	S )
DatasetzMetadata of the dataset descriptioncreatorauthorcopyright_holdercopyright_yearurlN)__name__
__module____qualname____doc__r    str__annotations__r!   r"   r#   r$   r%    r   r   r   r      st         !!KGSFCcNCCMMMMMr   r   c                   X    e Zd ZU g dZee         ed<   dZeed<   dZ	eed<   dZ
eed<   d	S )
NumVars)皙?g      ?      ?g      ?gffffff?	quantiles   skewness_threshold   low_categorical_threshold+?chi_squared_thresholdN)r&   r'   r(   r1   r   floatr+   r3   intr5   r7   r,   r   r   r.   r.   (   s_         :::ItE{:::    %&s&&&#(5(((((r   r.   c                   H    e Zd ZU dZeed<   dZeed<   dZeed<   dZeed<   dS )TextVarsTlengthwords
charactersFredactN)	r&   r'   r(   r<   boolr+   r=   r>   r?   r,   r   r   r;   r;   0   sR         FDE4JFDr   r;   c                       e Zd ZU dZeed<   dZeed<   dZeed<   dZe	ed<   dZ
eed<   dZeed	<   d
Ze	ed<   dZeed<   dZeed<   dZeed<   dZe	ed<   g Zee         ed<   dZeed<   dZeed<   dS )CatVarsTr<   r>   r=   2   cardinality_thresholdr0   percentage_cat_thresholdimbalance_thresholdr4   n_obsr6   r7   Fcoerce_str_to_dater?   histogram_largest
stop_wordsdirty_categoriesg333333?dirty_categories_thresholdN)r&   r'   r(   r<   r@   r+   r>   r=   rD   r9   rE   r8   rF   rG   r7   rH   r?   rI   rJ   r   r*   rK   rL   r,   r   r   rB   rB   7   s         FDJE4!#3###&)e)))!$$$$E3NNN#(5((($$$$FDsJS	"d"""(,,,,,,r   rB   c            	       \    e Zd ZU dZeed<   dZeed<   dddddddddZe	e
ef         ed<   d	S )
BoolVars   rG   r0   rF   TF)tfyesnoyntruefalsemappingsN)r&   r'   r(   rG   r9   r+   rF   r8   rX   r   r*   r@   r,   r   r   rN   rN   K   ss         E3NNN!$$$$ 	! 	!Hd39o 	 	 	 	 	r   rN   c                       e Zd ZU dZeed<   dS )FileVarsFactiveNr&   r'   r(   r[   r@   r+   r,   r   r   rZ   rZ   \   "         FDr   rZ   c                       e Zd ZU dZeed<   dS )PathVarsFr[   Nr\   r,   r   r   r_   r_   `   r]   r   r_   c                   :    e Zd ZU dZeed<   dZeed<   dZeed<   dS )	ImageVarsFr[   TexifhashN)r&   r'   r(   r[   r@   r+   rb   rc   r,   r   r   ra   ra   d   sB         FDD$D$r   ra   c                       e Zd ZU dZeed<   dS )UrlVarsFr[   Nr\   r,   r   r   re   re   j   r]   r   re   c                       e Zd ZU dZeed<   dZee         ed<   dZ	e
ed<   g dZee         ed<   d	Ze
ed
<   dZeed<   dZee         ed<   dZee         ed<   dS )TimeseriesVarsFr[   Nsortbygffffff?autocorrelation)               lagsr/   significanced   pacf_acf_lagAICautolagmaxlag)r&   r'   r(   r[   r@   r+   rh   r   r*   ri   r8   ro   r   r9   rp   rr   rt   ru   r,   r   r   rg   rg   n   s         FD FHSM    OU   (((D$s)(((L%L#"GXc]""" FHSM     r   rg   c                      e Zd ZU  e            Zeed<    e            Zeed<    e            Z	eed<    e
            Ze
ed<    e            Zeed<    e            Zeed<    e            Zeed<    e            Zeed<    e            Zeed	<   d
S )
Univariatenumtextcatimager@   pathfiler%   
timeseriesN)r&   r'   r(   r.   rx   r+   r;   ry   rB   rz   ra   r{   rN   r@   r_   r|   rZ   r}   re   r%   rg   r~   r,   r   r   rw   rw   y   s         799CXZZD(799C y{{E9"""XZZD(XZZD(XZZD(799C!/!1!1J11111r   rw   c                   ,    e Zd ZU dZeed<   dZeed<   dS )MissingPlotTforce_labelsRdBucmapN)r&   r'   r(   r   r@   r+   r   r*   r,   r   r   r   r      s2         L$D#r   r   c                       e Zd ZdZdZdS )	ImageTypesvgpngN)r&   r'   r(   r   r   r,   r   r   r   r      s        
C
CCCr   r   c                   ,    e Zd ZU dZeed<   dZeed<   dS )CorrelationPlotr   r   z#000000badN)r&   r'   r(   r   r*   r+   r   r,   r   r   r   r      s2         D#Cr   r   c                   H    e Zd ZU dZeed<   dZeed<   dZeed<   dZ	eed<   d	S )
	HistogramrC   bins   max_binsTx_axis_labelsFdensityN)
r&   r'   r(   r   r9   r+   r   r   r@   r   r,   r   r   r   r      sO         D#NNNHcM4GTr   r   c                   `    e Zd ZU dZeed<   dZeed<   dZe	ed<   dZ
eee                  ed<   dS )	CatFrequencyPlotTshowbartype
   
max_uniqueNcolors)r&   r'   r(   r   r@   r+   r   r*   r   r9   r   r   r   r,   r   r   r   r      s_         D$D# J
 #'FHT#Y&&&&&r   r   c                       e Zd ZU  e            Zeed<   ej        Zeed<    e	            Z
e	ed<   dZeed<    e            Zeed<   dZeed<    e            Zeed	<   d
Zeeeef                  ed<   d
S )Plotmissingimage_formatcorrelationi   dpi	histogrami  scatter_thresholdcat_freqN	font_path)r&   r'   r(   r   r   r+   r   r   r   r   r   r   r9   r   r   r   r   r   r   r   r
   r   r*   r,   r   r   r   r      s         &;==G[((('mL)+++#2?#4#4K444CNNN$9;;Iy&&&!s!!!!1!1!3!3H333,0IxdCi()00000r   r   c                       e Zd ZdZdZdZdZdS )ThemeunitedflatlycosmosimplexN)r&   r'   r(   r   r   r   r   r,   r   r   r   r      s"        FFEGGGr   r   c                       e Zd ZU edefd            Zg dZee         ed<   dZ	eed<   dZ
ee         ed<    ed	g          Zee         ed
<   dS )Styler   c                     | j         d         S )Nr   )primary_colors)selfs    r   primary_colorzStyle.primary_color   s     "1%%r   )z#0d6efdz#dc3545z#198754r   r   logoNtheme__labels)r&   r'   r(   propertyr*   r   r   r   r+   r   r   r   r   r   r   r,   r   r   r   r      s         &s & & & X&
 !B A ANDIAAA D#NNN "E8E?!!! %cU++GT#Y+++++r   r   c                       e Zd ZU  e            Zeed<   dZeed<   dZeed<   dZ	eed<   dZ
eed<   dZee         ed<   dZee         ed	<   d
Zeed<   dS )HtmlstyleTnavbar_showminify_htmluse_local_assetsinlineNassets_prefixassets_pathF
full_width)r&   r'   r(   r   r   r+   r   r@   r   r   r   r   r   r*   r   r   r,   r   r   r   r      s         577E5 K K "d!!! FD $(M8C=''' "&K#%%%Jr   r   c                   ,    e Zd ZU dZeed<   dZeed<   dS )
Duplicatesr   headz# duplicatesr   N)r&   r'   r(   r   r9   r+   r   r*   r,   r   r   r   r      s/         D#NNNCr   r   c                       e Zd ZU dZeed<    ed          Zeed<    ed          Z	e
ed<    ed          Zeed	<    ed          Ze
ed
<   dS )Correlationr   r   T)default	calculater   warn_high_correlationsr0   	thresholdn_binsN)r&   r'   r(   r   r*   r+   r   r   r@   r   r9   r   r8   r   r,   r   r   r   r      s         CMMMeD)))It)))"'%"3"3"3C333uS)))Iu)))%###FC#####r   r   c                   v    e Zd ZU  ed          Zeed<    ed          Zeed<    ed          Zeed<   dS )Correlationspearson)r   spearmanautoN)r&   r'   r(   r   r   r+   r   r   r,   r   r   r   r      si         &;9555G[555'KJ777Hk777#///D+/////r   r   c                   8    e Zd ZU dZeed<   g Zee         ed<   dS )InteractionsT
continuoustargetsN)	r&   r'   r(   r   r@   r+   r   r   r*   r,   r   r   r   r      s6         JGT#Yr   r   c                   :    e Zd ZU dZeed<   dZeed<   dZeed<   dS )Samplesr   r   tailr   randomN)r&   r'   r(   r   r9   r+   r   r   r,   r   r   r   r     s7         D#NNND#NNNFCOOOOOr   r   c                       e Zd ZU i Zeed<   dS )	VariablesdescriptionsN)r&   r'   r(   r   r   r+   r,   r   r   r   r     s"         L$r   r   c                       e Zd ZdZdZdS )IframeAttributesrcsrcdocN)r&   r'   r(   r   r   r,   r   r   r   r     s        
CFFFr   r   c                   D    e Zd ZU dZeed<   dZeed<   ej        Z	eed<   dS )Iframe800pxheightz100%width	attributeN)
r&   r'   r(   r   r*   r+   r   r   r   r   r,   r   r   r   r     sE         FCE3!0!7I77777r   r   c                   2    e Zd ZU dZ e            Zeed<   dS )NotebookzWhen in a Jupyter notebookiframeN)r&   r'   r(   r)   r   r   r+   r,   r   r   r   r     s.         $$VXXFFr   r   c                       e Zd ZU dZeed<   dS )Report   	precisionN)r&   r'   r(   r   r9   r+   r,   r   r   r   r      s"         Isr   r   c            	       .   e Zd ZU  G d d          ZdZeed<    e            Zeed<    e	            Z
e	ed<   dZeed<   dZeed	<   d
Zeed<   dZeed<    e            Zeed<   dZee         ed<   ddddZeeef         ed<   dZeed<    edd           edd           edd           edd           edd           edd          dZeeef         ed<    e            Zeed<   dZeed<   dZeed <    e            Zeed!<    e             Z!e ed"<    e"            Z#e"ed#<   dZ$eed$<   d%Z%eed&<   d%Z&eed'<   d%Z'eed(<    e(            Z)e(ed)<    e*            Z+e*ed*<    e,            Z-e,ed+<   d,e.d-d fd.Z/e0d/e1e2ef         d-d fd0            Z3dS )1Settingsc                       e Zd ZdZdS )Settings.Configprofile_N)r&   r'   r(   
env_prefixr,   r   r   Configr   '  s        


r   r   zYData Profiling Reporttitledataset	variablesTinfer_dtypesshow_variable_descriptionr   	pool_sizeprogress_barvarsNsortr   matrixheatmapmissing_diagramscorrelation_tabler   r   r   r   Fr   phi_kcramerskendall)r   r   r   r   r  r  correlationsinteractionsrq   (categorical_maximum_correlation_distinctmemory_deepplot
duplicatessamplesreject_variablesr   n_obs_uniquen_freq_table_maxn_extreme_obsreporthtmlnotebookupdatesr   c                     t          |                                 |          }|                     |                     |                    S )N)update)r   r   	parse_objcopy)r   r  r  s      r   r  zSettings.updatef  s9    $TYY[['::~~diivi66777r   config_filec                     t          |           5 }t          j        |          }ddd           n# 1 swxY w Y   t                              |          S )zCreate a Settings object from a yaml file.

        Args:
            config_file: yaml file path
        Returns:
            Settings
        N)openyaml	safe_loadr   r  )r  rQ   datas      r   	from_filezSettings.from_filej  s     + 	%!>!$$D	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% !!$'''s   155)4r&   r'   r(   r   r   r*   r+   r   r   r   r   r   r@   r   r   r9   r   rw   r   r   r   r   r   r   r   r  r   r  r  r  r   r  r   r  r   r	  r
  r  r  r  r   r  r   r  r   r  r   r  staticmethodr
   r   r  r,   r   r   r   r   %  s&                        *E3)))wyyGW   $9;;Iy&&&L$ '+t*** Is L$ "z||D*### D(3- ) )d39o    #t""" $777KJ%@@@;9>>>E:::;9>>>;9>>>, ,L$sK'(    ".L,///47,c777KD$'Z\\J
)))wyyGW   !d!!! L#cM3 VXXFFD$!Hh###8d 8z 8 8 8 8 (uT3Y/ (J ( ( ( \( ( (r   r   c                   D   e Zd ZU dZ e            Zeed<   dej        _        dZ	e
ed<    edd           ed	d          d
Zeeef         ed<   dZe
ed<    e            Zeed<   de_        dddddZeee
f         ed<    e            Zeed<   de_        de_        dS )SparkSettingsz
    Setting class with the standard report configuration for Spark DataFrames
    All the supported analysis are set to true
    r   r   Fr   r   Tr   r   )r   r   r  r   r  )r   r   
dendrogramr   r   r	  N)r&   r'   r(   r)   rw   r   r+   rx   r5   r   r@   r   r  r   r*   r   r   r  r   r   r   r	  r   r   r,   r   r   r  r  y  s$         
 "z||D*###)*DH&L$  KJ$???;9===, ,L$sK'(   
 #t"""!-L,///#L 	) )d39o    wyyGW   GLGNNNr   r  c                   d   e Zd ZU ddddiddiddddej        dd	iiddej        d
d	iidddddiddiddiddidddddddZeee	f         e
d<   dddddddddddddig ddddddddiddiddiddiddiddidddZededefd            Zed#d ed!edeeef         fd"            ZdS )$r   Nr?   T)rz   ry   )r	  r  r   r  r   z#2c3e50)r   r   z#d34615)r>   r=   r[   )rz   r%   r|   r}   r{   r   )r   r  r  r  r  )	sensitiveflatly_themeunited_themeexplorative
arg_groupsr   )r!   r"   r    r#   r$   r%   r   )r   r   r   r   F)r   r   r   r   )r   r   r   r  r   r  )r   r	  r  r  r   r  r   r   r   c                 h    t           j        |          }t                               |d          \  }}|S )NF)split)r   r&  
shorthands)r   kwargsshorthand_argsr   s       r   get_arg_groupszConfig.get_arg_groups  s2    "3'"--fE-BBr   r*  r(  c                     i }|s| }t          |                                           D ]/\  }}|(|t          j        v rt          j        |         ||<   |r| |= 0|r|| fS |i fS )N)listr   r   _shorthands)r*  r(  r+  r   values        r   r)  zConfig.shorthands  s     	$#Nv||~~.. 	$ 	$JC}(:!:!:&,&8&=s# $s 	&!6))!2%%r   )T)r&   r'   r(   r   r   r   r&  r   r*   r   r+   r/  r  r   r,  r@   r	   r)  r,   r   r   r   r     s
         %t,x6FGG
 
 "\%. 
 "\%. 
 '+T:: $'!4(!4("D)   "
 
-#" #"JS#X # # #N  " 
 
 qA66qk$&e<<
 
 !%(#U+$e,#U+!5)#U+
 
 "3 K8 C D    \
 & &4 & &dDj8I & & & \& & &r   r   )5r)   enumr   pathlibr   typingr   r   r   r   r	   r
   r  pydantic.v1r   r   r   r   r   r   r   r.   r;   rB   rN   rZ   r_   ra   re   rg   rw   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r   r,   r   r   <module>r5     s;   $ $             : : : : : : : : : : : : : : : :  C C C C C C C C C C C Ct D T    &    i   ) ) ) ) )i ) ) )    y   - - - - -i - - -(    y   "    y       y       	       i   ! ! ! ! !Y ! ! !	2 	2 	2 	2 	2 	2 	2 	2    )          
    i   
    	   ' ' ' ' 'y ' ' '1 1 1 1 19 1 1 1    D   , , , , ,I , , ,(    9   2       
$ $ $ $ $) $ $ $0 0 0 0 09 0 0 0    9       i       	       d   
8 8 8 8 8Y 8 8 8    y       Y   
Q( Q( Q( Q( Q(| Q( Q( Q(h    H   BV& V& V& V& V& V& V& V& V& V&r   