7ihddlZddlmZddlmZddlmZddlmZGddejZ y) N)Optional) PackageFinder)BaseDistribution)InstallRequirementc eZdZdZdeddffd Zejdee fdZ ejde fdZ ejded ed eddfd ZxZS) AbstractDistributionaA base class for handling installable artifacts. The requirements for anything installable are as follows: - we must be able to determine the requirement name (or we can't correctly handle the non-upgrade case). - for packages with setup requirements, we must also be able to determine their requirements without installing additional packages (for the same reason as run-time dependencies) - we must be able to create a Distribution object exposing the above metadata. - if we need to do work in the build tracker, we must be able to generate a unique string to identify the requirement in the build tracker. reqreturnNc0t|||_yN)super__init__r )selfr __class__s i/mnt/ssd/data/python-lab/ChefSystem/venv/lib/python3.12/site-packages/pip/_internal/distributions/base.pyrzAbstractDistribution.__init__s ct)zA string that uniquely identifies this requirement to the build tracker. If None, then this dist has no work to do in the build tracker, and ``.prepare_distribution_metadata()`` will not be called.NotImplementedErrorrs rbuild_tracker_idz%AbstractDistribution.build_tracker_id s "##rctr rrs rget_metadata_distributionz.AbstractDistribution.get_metadata_distribution(s !##rfinderbuild_isolationcheck_build_depsctr r)rrrrs rprepare_distribution_metadataz2AbstractDistribution.prepare_distribution_metadata,s "##r)__name__ __module__ __qualname____doc__rrabcabstractpropertyrstrrabstractmethodrrrboolr __classcell__)rs@rrr s$.4 $(3-$$ $+;$$ $$$ $  $$rr) metaclass) r#typingr"pip._internal.index.package_finderrpip._internal.metadata.baserpip._internal.reqrABCMetarrrr0s$ <80*$S[[*$r