o
    5d                     @   s  d dl Z d dlZd dlZd dlZd dlmZmZmZmZm	Z	 d dl
mZ ddlmZmZmZmZmZ er;d dlmZ neZg dZdefd	d
ZG dd deZejdddefddZdefddZdeee  defddZdedefddZdededefddZdS )    N)TYPE_CHECKINGListOptionalTypecast)	strtobool   )BaseDistributionBaseEnvironmentFilesystemWheelMemoryWheelWheel)Protocol)	r	   r
   r   r   r   get_default_environmentget_environmentget_wheel_distributionselect_backendreturnc                  C   sf   t tt tttjd W  d   S 1 sw   Y  tj	dk r&dS ddl
} tt| jddS )a  Whether to use the ``importlib.metadata`` or ``pkg_resources`` backend.

    By default, pip uses ``importlib.metadata`` on Python 3.11+, and
    ``pkg_resourcess`` otherwise. This can be overridden by a couple of ways:

    * If environment variable ``_PIP_USE_IMPORTLIB_METADATA`` is set, it
      dictates whether ``importlib.metadata`` is used, regardless of Python
      version.
    * On Python 3.11+, Python distributors can patch ``importlib.metadata``
      to add a global constant ``_PIP_USE_IMPORTLIB_METADATA = False``. This
      makes pip use ``pkg_resources`` (unless the user set the aforementioned
      environment variable to *True*).
    _PIP_USE_IMPORTLIB_METADATAN)      Fr   T)
contextlibsuppressKeyError
ValueErrorboolr   osenvironsysversion_infoimportlib.metadatagetattrmetadata	importlib r%   vC:\Users\jesus\OneDrive\Desktop\erpjis_fastapi\backend\jisbackend\Lib\site-packages\pip/_internal/metadata/__init__.py_should_use_importlib_metadata   s    
r'   c                   @   s&   e Zd ZU ee ed< ee ed< dS )BackendDistributionEnvironmentN)__name__
__module____qualname__r   r	   __annotations__r
   r%   r%   r%   r&   r(   4   s   
 r(   )maxsizec                  C   s2   t  rddlm}  tt| S ddlm} tt|S )Nr   r#   )pkg_resources)r'    r$   r   r(   r0   )r$   r0   r%   r%   r&   r   9   s
   

r   c                   C   s   t  j S )a	  Get the default representation for the current environment.

    This returns an Environment instance from the chosen backend. The default
    Environment instance should be built from ``sys.path`` and may use caching
    to share instance state accorss calls.
    )r   r*   defaultr%   r%   r%   r&   r   D   s   r   pathsc                 C      t  j| S )a'  Get a representation of the environment specified by ``paths``.

    This returns an Environment instance from the chosen backend based on the
    given import paths. The backend must build a fresh instance representing
    the state of installed distributions when this function is called.
    )r   r*   
from_paths)r3   r%   r%   r&   r   N   s   r   	directoryc                 C   r4   )zGet the distribution metadata representation in the specified directory.

    This returns a Distribution instance from the chosen backend based on
    the given on-disk ``.dist-info`` directory.
    )r   r)   from_directory)r6   r%   r%   r&   get_directory_distributionX   s   r8   wheelcanonical_namec                 C   s   t  j| |S )a  Get the representation of the specified wheel's distribution metadata.

    This returns a Distribution instance from the chosen backend based on
    the given wheel's ``.dist-info`` directory.

    :param canonical_name: Normalized project name of the given wheel.
    )r   r)   
from_wheel)r9   r:   r%   r%   r&   r   a   s   r   )r   	functoolsr   r   typingr   r   r   r   r   pip._internal.utils.miscr   baser	   r
   r   r   r   r   object__all__r   r'   r(   	lru_cacher   r   strr   r8   r   r%   r%   r%   r&   <module>   s&    



	