HEX
Server: nginx/1.24.0
System: Linux webserver 6.8.0-85-generic #85-Ubuntu SMP PREEMPT_DYNAMIC Thu Sep 18 15:26:59 UTC 2025 x86_64
User: wpuser (1002)
PHP: 8.3.6
Disabled: NONE
Upload Files
File: //lib/python3/dist-packages/pip/_internal/operations/__pycache__/check.cpython-312.pyc
�

��h�����dZddlZddlmZmZmZmZmZmZm	Z	ddl
mZddlm
Z
ddlmZmZddlmZddlmZdd	lmZdd
lmZddlmZddlmZej:e�ZGd
�de�Z eee fZ!e	eefZ"e	eeefZ#eeee"fZ$eeee#fZ%e	e$e%fZ&e	e!e&fZ'de	e!e(ffd�Z)	dde!deee*ge(fde&fd�Z+deede'fd�Z,deede!deefd�Z-deede!deefd�Z.de!ddfd�Z/y)z'Validation of dependencies of packages
�N)�Callable�Dict�List�
NamedTuple�Optional�Set�Tuple)�Requirement)�LegacySpecifier)�NormalizedName�canonicalize_name)�
LegacyVersion)�)make_distribution_for_install_requirement)�get_default_environment)�DistributionVersion)�InstallRequirement)�
deprecatedc�(�eZdZUeed<eeed<y)�PackageDetails�version�dependenciesN)�__name__�
__module__�__qualname__r�__annotations__rr
���@/usr/lib/python3/dist-packages/pip/_internal/operations/check.pyrrs��
 � ��{�#�#rr�returnc�>�i}d}t�}|jdd��D]A}|j}	t|j	��}t|j|�||<�C||fS#ttf$r#}tjd||�d}Yd}~�ud}~wwxYw)z3Converts a list of distributions into a PackageSet.Fr)�
local_only�skipz%Error parsing requirements for %s: %sTN)r�iter_installed_distributions�canonical_name�list�iter_dependenciesrr�OSError�
ValueError�logger�warning)�package_set�problems�env�dist�namer�es       r�!create_package_set_from_installedr1%s����K��H�
!�
#�C��0�0�E��0�K����"�"��	��� 6� 6� 8�9�L� .�t�|�|�\� J�K���	��� � ��	��$�	��N�N�B�D�!�L��H��	�s�2A*�*B�9B�Br+�
should_ignorec�H�t|�i}i}|j�D]�\}}t�}t�}|r	||�r�%|jD]�}t	|j
�}	|	|vrAd}
|j�|jjddi�}
|
r|j|	|f��]||	j}|jj|d��r��|j|	||f���|rt|t��||<|s��t|t��||<��||fS)z�Check if a package set is consistent

    If should_ignore is passed, it should be a callable that takes a
    package name and returns a boolean.
    T�extra�)�prereleases)�key)�#warn_legacy_versions_and_specifiers�items�setrr
r/�marker�evaluate�addr�	specifier�contains�sorted�str)r+r2�missing�conflicting�package_name�package_detail�missing_deps�conflicting_deps�reqr/�missedrs            r�check_package_setrJ6s3��(��4��G��K�(3�(9�(9�(;�J�$��n�%(�U��-0�U���]�<�8��!�.�.�	;�C�$�S�X�X�.�D��;�&����:�:�)� �Z�Z�0�0�'�2��?�F�� �$�$�d�C�[�1��"�$�'�/�/�G��=�=�)�)�'�t�)�D� �$�$�d�G�S�%9�:�	;�"�$*�<�S�$A�G�L�!��(.�/?�S�(I�K��%�9J�<�K��r�
to_installc�r��t�\}}t||�}t||��|t|�fd���fS)zeFor checking if the dependency graph would be consistent after     installing given requirements
    c���|�vS�Nr)r/�	whitelists �r�<lambda>z)check_install_conflicts.<locals>.<lambda>ts���D�	�4I�r)r2)r1�_simulate_installation_of�_create_whitelistrJ)rKr+�_�would_be_installedrOs    @r�check_install_conflictsrUesJ���
7�8�N�K��2�:�{�K��"�"4�k�B�I�	���'I�	
��rc��t�}|D]j}t|�}|j�}|j}t	|j
t
|j���||<|j|��l|S)z=Computes the version of packages after installing to_install.)	r:r�get_metadata_distributionr$rrr%r&r=)rKr+�	installed�inst_req�
abstract_distr.r/s       rrQrQysv��
��I����A�(�K�
��6�6�8���"�"��*�4�<�<��d�>T�>T�>V�9W�X��D���
�
�d��
��rrTc��t|�}|D]E}||vr�||jD],}t|j�|vs�|j	|��E�G|SrN)r:rr
r/r=)rTr+�packages_affectedrDrHs     rrRrR�sp���.�/��#����,�,���|�,�9�9�	�C� ����*�.?�?�!�%�%�l�3��	�	��rc
�V�|j�D]�\}}t|jt�r#t	|�d|j�d�d|�d�dd��|j
D]E}t
d�|jD��s� t	|�d|j�d	|�d
�d|�d�dd���G��y)N� z# has a non-standard version number.z!to upgrade to a newer version of z^ or contact the author to suggest that they release a version with a conforming version numberi/z24.1)�reason�replacement�issue�gone_inc3�<K�|]}t|t����y�wrN)�
isinstancer)�.0�specs  r�	<genexpr>z6warn_legacy_versions_and_specifiers.<locals>.<genexpr>�s����O��:�d�O�4�O�s�z) has a non-standard dependency specifier �.ze or contact the author to suggest that they release a version with a conforming dependency specifiers)r9rdrrrr�anyr>)r+�project_name�package_details�deps    rr8r8�s���)4�):�):�)<��%��o��o�-�-�}�=��#�n�A�o�&=�&=�%>�?9�:�8��~�FI�J���
�#�/�/�	�C��O����O�O��'�.��/�*A�*A�)B�CC�CF�%�q�J�<�L�>�JT�U� �"��	�rrN)0�__doc__�logging�typingrrrrrrr	�"pip._vendor.packaging.requirementsr
� pip._vendor.packaging.specifiersr�pip._vendor.packaging.utilsrr
�pip._vendor.packaging.versionr�pip._internal.distributionsr�pip._internal.metadatar�pip._internal.metadata.baser�pip._internal.req.req_installr�pip._internal.utils.deprecationr�	getLoggerrr)r�
PackageSet�Missing�Conflicting�MissingDict�ConflictingDict�CheckResult�ConflictDetails�boolr1rArJrUrQrRr8rrr�<module>r�s�����I�I�I�:�<�I�7�Q�:�;�<�6�	��	�	�8�	$��$�Z�$��.�.�0�
1�
�
���+�
,���N�$7��D�E���>�4��=�0�1���~�t�K�'8�8�9���K��0�1���
�K�/�0��!�5��T�1A�+B�!�$OS�, ��, �,4�X�s�e�T�k�5J�,K�, ��, �^��-?�(@��_��(��'�(��7A������&��N�+��:D������"�Z��D�r