§
    rŠtj…"  ã                   óJ  — d Z ddlZddlZddlZddlmZ ddlmZ ddlZddl	Z	ddl
mZ ddlmZ ddd	d
œZdZdZdZdZdZdZd„ Zd„ Zd„ Zd„ Zej                             deeg¦  «        d„ ¦   «         Zej                             dedfedfedfedfg¦  «        d„ ¦   «         ZdS )zCTests for the minimum dependencies in README.rst and pyproject.tomlé    N)Údefaultdict)ÚPath)Údependent_packages)Úparse_version)z1.3.0Úinstall)z1.10.0zbuild, install)z3.0.1Úmaintenance)ÚjoblibÚscipyz
conda-lockzô
[project]
dependencies = ["joblib>=1.3.0", "scipy>=1.10.0"]
[project.optional-dependencies]
build = ["scipy>=1.10.0"]
install = ["joblib>=1.3.0", "scipy>=1.10.0"]
maintenance = ["conda-lock==3.0.1"]
[build-system]
requires = ["scipy>=1.10.0"]
a  
[project]
dependencies = ["joblib>=1.3.0,<2.0", "scipy>=1.10.0"]
[project.optional-dependencies]
build = ["scipy>=1.10.0,<1.19.0"]
install = ["joblib>=1.3.0,<2.0", "scipy>=1.10.0"]
maintenance = ["conda-lock==3.0.1"]
[build-system]
requires = ["scipy>=1.10.0,<1.19.0"]
zÑ
[project]
dependencies = ["scipy<1.10.0"]
[project.optional-dependencies]
build = ["scipy>=1.10.0"]
install = ["scipy>=1.10.0"]
maintenance = ["conda-lock==3.0.1"]
[build-system]
requires = ["scipy>=1.10.0"]
zÒ
[project]
dependencies = ["scipy>=1.10.0"]
[project.optional-dependencies]
build = ["scipy>=1.10.0"]
install = ["scipy>=1.10.0"]
maintenance = ["conda-lock==3.0.1"]
[build-system]
requires = ["scipy>=1.10.0"]
a$  
[project]
dependencies = ["joblib>=1.3.0", "scipy>=1.10.0"]
[project.optional-dependencies]
build = ["scipy>=1.10.0", "package_not_in_min_dependencies_py_file>=4.2"]
install = ["joblib>=1.3.0", "scipy>=1.10.0"]
maintenance = ["conda-lock==3.0.1"]
[build-system]
requires = ["scipy>=1.10.0"]
zõ
[project]
dependencies = ["joblib>=1.42.0", "scipy>=1.10.0"]
[project.optional-dependencies]
build = ["scipy>=1.10.0"]
install = ["joblib>=1.3.0", "scipy>=1.10.0"]
maintenance = ["conda-lock==3.0.1"]
[build-system]
requires = ["scipy>=1.10.0"]
c                  óœ  — t          j        d¦  «        } t          t          j        ¦  «        j        j        }|dz  }t          j                             |¦  «        st          j
        d¦  «         |                     d¦  «        5 }|D ]ª}|                      |¦  «        }|sŒ|                     d¦  «        |                     d¦  «        }}|                     ¦   «         }|t          v rIt!          |¦  «        }t!          t          |         d         ¦  «        }|› d|› d	|› �}	||k    s
J |	¦   «         ‚Œ«	 d d d ¦  «         d S # 1 swxY w Y   d S )
NzE\.\. \|([A-Za-z-]+)MinVersion\| replace::( [0-9]+\.[0-9]+(\.[0-9]+)?)z
README.rstz%The README.rst file is not available.Úré   é   r   zK has inconsistent minimum versions in README.rst and _min_dependencies.py: ú != )ÚreÚcompiler   ÚsklearnÚ__file__ÚparentÚosÚpathÚexistsÚpytestÚskipÚopenÚmatchÚgroupÚlowerr   r   )
ÚpatternÚreadme_pathÚreadme_fileÚfÚlineÚmatchedÚpackageÚversionÚmin_versionÚmessages
             úh/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/sklearn/tests/test_min_dependencies_readme.pyÚtest_min_dependencies_readmer)   Z   s¹  € õ
 Œjð	(ñô €Gõ •wÔ'Ñ(Ô(Ô/Ô6€KØ Ñ,€KåŒ7�>Š>˜+Ñ&Ô&ð =õ 	ŒÐ;Ñ<Ô<Ð<à	×	Ò	˜#Ñ	Ô	ð 7 !Øð 	7ð 	7ˆDØ—m’m DÑ)Ô)ˆGàð Øà&Ÿ}š}¨QÑ/Ô/°·²¸qÑ1AÔ1A�WˆGØ—m’m‘o”oˆGàÕ,Ð,Ð,Ý'¨Ñ0Ô0�Ý+Õ,>¸wÔ,GÈÔ,JÑKÔK�ð ð Ið IØ.5ðIð IØ;FðIð Ið ð  +Ò-Ð-Ð-¨wÑ-Ô-Ð-øð#	7ð7ð 7ð 7ñ 7ô 7ð 7ð 7ð 7ð 7ð 7ð 7ð 7øøøð 7ð 7ð 7ð 7ð 7ð 7s   ÂB.EÅEÅEc                 óú   — t          t          ¦  «        }|                      ¦   «         D ];\  }\  }}|                     d¦  «        D ]}||                              |¦  «         ŒŒ<dddœ}|D ]}d|› �}|||<   Œ||fS )Nz, Úbuildr   )úbuild-system.requireszproject.dependencieszproject.optional-dependencies.)r   ÚlistÚitemsÚsplitÚappend)	ÚdependenciesÚ0min_dependencies_tag_to_packages_without_versionr$   r&   ÚtagsÚtÚ)pyproject_section_to_min_dependencies_tagÚtagÚsections	            r(   Ú#extract_packages_and_pyproject_tagsr8   ƒ   sÌ   € Ý7BÅ4Ñ7HÔ7HÐ4Ø(4×(:Ò(:Ñ(<Ô(<ð Pð PÑ$ˆÑ$�+˜tØ—’˜DÑ!Ô!ð 	Pð 	PˆAØ<¸QÔ?×FÒFÀwÑOÔOÐOÐOð	Pð ")Ø )ð1ð 1Ð-ð @ð Að AˆØ8°3Ð8Ð8ˆØ=@Ð1°'Ñ:Ð:ð 	9Ø1ðð ó    c                 ó¾  — t          |¦  «        \  }}|                     ¦   «         D �]4\  }}|dk    rdgng }||         }|                     d¦  «        }| }	|D ]
}
|	|
         }	Œi }d}|	D ]]}t          j        ||¦  «        }|€t          |› d|›d�¦  «        ‚|                     d¦  «        |                     d¦  «        }}|||<   Œ^d	|› d
�}t          |¦  «        t          |¦  «        k    s
J |¦   «         ‚|                     ¦   «         D ]N\  }}t          |¦  «        }t          ||         d         ¦  «        }||v rŒ4|› d|› d|› �}||k    s
J |¦   «         ‚ŒO�Œ6d S )Nr,   Únumpyú.z([\w-]+)\s*[>=]=\s*([\d\w.]+)z does not match expected regex z7. Only >= and == are supported for version requirementsr   r   zPackages in z! differ from _min_dependencies.pyr   zO has inconsistent minimum versions in pyproject.toml and _min_dependencies.py: r   )	r8   r.   r/   r   ÚsearchÚNotImplementedErrorr   Úsortedr   )Úpyproject_tomlÚmin_dependenciesÚpackagesÚpyproject_tagsÚpyproject_sectionÚmin_dependencies_tagÚskip_version_check_forÚexpected_packagesÚpyproject_section_keysÚinfoÚkeyÚpyproject_build_min_versionsr   Úrequirementr   r$   r%   ÚmsgÚexpected_min_versionr'   s                       r(   Úcheck_pyproject_sectionsrO   —   s  € ÝBÐCSÑTÔTÑ€Hˆnà3A×3GÒ3GÑ3IÔ3Ið -<ñ -<Ñ/ÐÐ/ð
 +Ð.EÒEÐEˆWˆIˆIÈ2ð 	ð %Ð%9Ô:Ðà!2×!8Ò!8¸Ñ!=Ô!=ÐØˆà)ð 	ð 	ˆCØ˜”9ˆDˆDà')Ð$à2ˆØð 
	<ð 
	<ˆKÝ”I˜g {Ñ3Ô3ˆEØˆ}Ý)Ø"ð Lð LÀ7ð Lð Lð Lñô ð ð
  %Ÿ{š{¨1™~œ~¨u¯{ª{¸1©~¬~�WˆGà4;Ð(¨Ñ1Ð1àQÐ.ÐQÐQÐQˆåÐ2Ñ3Ô3µvÐ>OÑ7PÔ7PÒPÐPÐPÐRUÑPÔPÐPà <× BÒ BÑ DÔ Dð 
	<ð 
	<ÑˆG�WÝ# GÑ,Ô,ˆGÝ#0Ð1AÀ'Ô1JÈ1Ô1MÑ#NÔ#NÐ ØÐ0Ð0Ð0Øð ð Nð NØ*1ðNð NØ7KðNð Nð ð Ð2Ò2Ð2Ð2°GÑ2Ô2Ð2Ð2ñ
	<ðG-<ð -<r9   c                  óR  — t          t          j        ¦  «        j        j        } | dz  }|                     ¦   «         st          j        d¦  «         |                     d¦  «        5 }t          j	        |¦  «        }ddd¦  «         n# 1 swxY w Y   t          |t          ¦  «         dS )zFCheck versions in pyproject.toml is consistent with _min_dependencies.zpyproject.tomlz pyproject.toml is not available.ÚrbN)r   r   r   r   r   r   r   r   ÚtomllibÚloadrO   r   )Úroot_directoryÚpyproject_toml_pathr!   r@   s       r(   Ú$test_min_dependencies_pyproject_tomlrV   Ê   sÙ   € õ �'Ô*Ñ+Ô+Ô2Ô9€NØ(Ð+;Ñ;Ðà×%Ò%Ñ'Ô'ð 8õ 	ŒÐ6Ñ7Ô7Ð7à	×	!Ò	! $Ñ	'Ô	'ð )¨1Ý œ a™œˆð)ð )ð )ñ )ô )ð )ð )ð )ð )ð )ð )øøøð )ð )ð )ð )õ ˜^Õ-?Ñ@Ô@Ð@Ð@Ð@s   Á&BÂBÂBÚexample_pyprojectc                 óX   — t          j        | ¦  «        }t          |t          ¦  «         dS )z-Test the version check for matching packages.N)rR   ÚloadsrO   ÚTOY_MIN_DEPENDENCIES_PY_INFO)rW   r@   s     r(   Ú%test_check_matching_pyproject_sectionr[   Û   s+   € õ ”]Ð#4Ñ5Ô5€Nå˜^Õ-IÑJÔJÐJÐJÐJr9   z)example_non_matching_pyproject, error_msgzZ.* does not match expected regex .*. Only >= and == are supported for version requirementsz/Packages in .* differ from _min_dependencies.pyzY.* has inconsistent minimum versions in pyproject.toml and _min_dependencies.py: .* != .*c                 óÀ   — t          j        | ¦  «        }t          j        t          |¬¦  «        5  t          |t          ¦  «         ddd¦  «         dS # 1 swxY w Y   dS )z>Test the version check for non-matching packages and versions.)r   N)rR   rY   r   ÚraisesÚ	ExceptionrO   rZ   )Úexample_non_matching_pyprojectÚ	error_msgr@   s      r(   Ú)test_check_non_matching_pyproject_sectionra   ê   s²   € õ8 ”]Ð#AÑBÔB€Nå	Œ•y¨	Ð	2Ñ	2Ô	2ð Oð OÝ  Õ1MÑNÔNÐNðOð Oð Oñ Oô Oð Oð Oð Oð Oð Oð Oð Oøøøð Oð Oð Oð Oð Oð Os   °AÁAÁA)Ú__doc__r   r   rR   Úcollectionsr   Úpathlibr   r   r   Úsklearn._min_dependenciesr   Úsklearn.utils.fixesr   rZ   ÚTOY_MATCHING_PYPROJECT_SECTIONSÚ0TOY_MATCHING_PYPROJECT_SECTIONS_WITH_UPPER_BOUNDÚ#TOY_WRONG_SYMBOL_PYPROJECT_SECTIONSÚ&TOY_MISSING_PACKAGE_PYPROJECT_SECTIONSÚ)TOY_ADDITIONAL_PACKAGE_PYPROJECT_SECTIONSÚ+TOY_NON_MATCHING_VERSION_PYPROJECT_SECTIONSr)   r8   rO   rV   ÚmarkÚparametrizer[   ra   © r9   r(   ú<module>rp      sÊ  ðØ IÐ Ià 	€	€	€	Ø 	€	€	€	Ø €€€Ø #Ð #Ð #Ð #Ð #Ð #Ø Ð Ð Ð Ð Ð à €€€à €€€Ø 8Ð 8Ð 8Ð 8Ð 8Ð 8Ø -Ð -Ð -Ð -Ð -Ð -ð
 #Ø)Ø*ð ð  Ð ð	#Ð ð	4Ð 0ð	'Ð #ð	*Ð &ð	-Ð )ð	/Ð +ð&7ð &7ð &7ðRð ð ð(0<ð 0<ð 0<ðfAð Að Að" „×ÒØà'Ø8ðñô ðKð Kñô ðKð „×ÒØ/ð 0ðDð	
ð 3Ø=ð	
ð
 6Ø=ð	
ð
 8ð.ð	
ðñô ð.Oð Oñ/ô ð.Oð Oð Or9   