a  zeP@sddlZddlZddlZddlmZmZmZmZm Z m Z m Z ddl m Z ddlmZddlmZddlmZddlmZddlmZmZdd lmZd d lmZmZmZm Z erdd lm!Z!e"e#Z$Gd dde Z%GdddeZ&GdddeZ'dS)N) TYPE_CHECKING CollectionIterableIteratorList NamedTupleOptional) pkg_resources) Requirement)canonicalize_name)parse)misc) get_installer get_metadata)$pkg_resources_distribution_for_wheel)BaseDistributionBaseEntryPointBaseEnvironmentDistributionVersion)NormalizedNamec@s&eZdZUeed<eed<eed<dS) EntryPointnamevaluegroupN)__name__ __module__ __qualname__str__annotations__r r f/opt/bitninja-python-dojo/embedded/lib/python3.9/site-packages/pip/_internal/metadata/pkg_resources.pyrs rc@s0eZdZejddddZeeeddddZe e edd d Z e e edd d Z e d dddZ e edddZe edddZe edddZe edddZe edddZe edddZeedddZeeddd Ze ejjdd!d"Zd'eeeed$d%d&Z dS)( DistributionN)distreturncCs ||_dSN)_distselfr#r r r!__init__&szDistribution.__init__)pathrr$cCsBtj|dd}t|||}Wdn1s00Y||S)NT) allowZip64)zipfileZipFiler)clsr*rzfr#r r r! from_wheel)s*zDistribution.from_wheelr$cCs|jjSr%)r&locationr(r r r!r2/szDistribution.locationcCs|jjSr%)r&egg_infor3r r r!info_directory3szDistribution.info_directoryrcCs t|jjSr%)r r& project_namer3r r r!canonical_name7szDistribution.canonical_namecCs t|jjSr%) parse_versionr&versionr3r r r!r9;szDistribution.versioncCs t|jSr%)rr&r3r r r! installer?szDistribution.installercCs t|jSr%)r dist_is_editabler&r3r r r!editableCszDistribution.editablecCs t|jSr%)r dist_is_localr&r3r r r!localGszDistribution.localcCs t|jSr%)r dist_in_usersiter&r3r r r! in_usersiteKszDistribution.in_usersitecCs t|jSr%)r dist_in_site_packagesr&r3r r r!in_site_packagesOszDistribution.in_site_packagesrr$cCs |j|st||j|Sr%)r& has_metadataFileNotFoundErrorr)r(rr r r! read_textSs zDistribution.read_textccsZ|jD]F\}}|D]4\}}t|d\}}}t|||dVqqdS)N=)rrr)r& get_entry_mapitemsr partitionrstrip)r(rentriesr entry_point_rr r r!iter_entry_pointsXszDistribution.iter_entry_pointscCs t|jSr%)rr&r3r r r!metadata^szDistribution.metadatar )extrasr$cCs"|rt||jj}|j|Sr%) frozenset intersectionr&rQrequires)r(rQr r r!iter_dependenciesbszDistribution.iter_dependencies)r )!rrrr r"r) classmethodrr0propertyrr2r5r7rr9r:boolr<r>r@rBrFrrrOemailmessageMessagerPrr rUr r r r!r"%s4r"c@seZdZejddddZeedddZee e e edd d Z e e e d d d Ze e e d ddZee dddZdS) EnvironmentN)wsr$cCs ||_dSr%)_ws)r(r]r r r!r)iszEnvironment.__init__r1cCs |tjSr%)r working_set)r.r r r!defaultlszEnvironment.default)pathsr$cCs|t|Sr%)r WorkingSet)r.rar r r! from_pathspszEnvironment.from_pathsrCcCs,t|}|D]}|j|kr|SqdS)zFind a distribution matching the ``name`` in the environment. This searches from *all* distributions available in the environment, to match the behavior of ``pkg_resources.get_distribution()``. N)r iter_distributionsr7)r(rr7r#r r r!_search_distributionts    z Environment._search_distributioncCsD||}|r|Sz|j|Wntjy8YdS0||Sr%)rer^requirer DistributionNotFound)r(rr#r r r!get_distributions  zEnvironment.get_distributionccs|jD]}t|VqdSr%)r^r"r'r r r!_iter_distributionss zEnvironment._iter_distributions)rrrr rbr)rVrr`rrrrcrrerhrrir r r r!r\hs r\)( email.messagerYloggingr,typingrrrrrrr pip._vendorr Z"pip._vendor.packaging.requirementsr pip._vendor.packaging.utilsr Zpip._vendor.packaging.versionr r8Zpip._internal.utilsr pip._internal.utils.packagingrrpip._internal.utils.wheelrbaserrrrr getLoggerrloggerrr"r\r r r r!s"$        C