/opt/cloudlinux/venv/lib/python3.11/site-packages/setuptools
NameSizeModeActions
command/-0755rm
compat/-0755rm
config/-0755rm
extern/-0755rm
_distutils/-0755rm
_vendor/-0755rm
__pycache__/-0755rm
archive_util.py73310644editdlrm
build_meta.py190850644editdlrm
cli-32.exe117760644editdlrm
cli-64.exe143360644editdlrm
cli-arm64.exe138240644editdlrm
cli.exe117760644editdlrm
depends.py55510644editdlrm
discovery.py211240644editdlrm
dist.py379330644editdlrm
errors.py26690644editdlrm
extension.py57940644editdlrm
glob.py48520644editdlrm
gui-32.exe117760644editdlrm
gui-64.exe143360644editdlrm
gui-arm64.exe138240644editdlrm
gui.exe117760644editdlrm
installer.py49690644editdlrm
launch.py8120644editdlrm
logging.py12390644editdlrm
modified.py1900644editdlrm
monkey.py43330644editdlrm
msvc.py475320644editdlrm
namespaces.py31280644editdlrm
package_index.py390810644editdlrm
sandbox.py147300644editdlrm
script (dev).tmpl2180644editdlrm
script.tmpl1380644editdlrm
unicode_utils.py31810644editdlrm
version.py1610644editdlrm
warnings.py36990644editdlrm
wheel.py86820644editdlrm
windows_support.py7200644editdlrm
_core_metadata.py98260644editdlrm
_entry_points.py23330644editdlrm
_imp.py24430644editdlrm
_importlib.py14540644editdlrm
_itertools.py6750644editdlrm
_normalization.py45670644editdlrm
_path.py11780644editdlrm
_reqs.py11120644editdlrm
__init__.py89500644editdlrm
Edit: /opt/cloudlinux/venv/lib/python3.11/site-packages/setuptools/_entry_points.py (2333B)
import functools import operator import itertools from .errors import OptionError from .extern.jaraco.text import yield_lines from .extern.jaraco.functools import pass_none from ._importlib import metadata from ._itertools import ensure_unique from .extern.more_itertools import consume def ensure_valid(ep): """ Exercise one of the dynamic properties to trigger the pattern match. """ try: ep.extras except (AttributeError, AssertionError) as ex: # Why both? See https://github.com/python/importlib_metadata/issues/488 msg = ( f"Problems to parse {ep}.\nPlease ensure entry-point follows the spec: " "https://packaging.python.org/en/latest/specifications/entry-points/" ) raise OptionError(msg) from ex def load_group(value, group): """ Given a value of an entry point or series of entry points, return each as an EntryPoint. """ # normalize to a single sequence of lines lines = yield_lines(value) text = f'[{group}]\n' + '\n'.join(lines) return metadata.EntryPoints._from_text(text) def by_group_and_name(ep): return ep.group, ep.name def validate(eps: metadata.EntryPoints): """ Ensure entry points are unique by group and name and validate each. """ consume(map(ensure_valid, ensure_unique(eps, key=by_group_and_name))) return eps @functools.singledispatch def load(eps): """ Given a Distribution.entry_points, produce EntryPoints. """ groups = itertools.chain.from_iterable( load_group(value, group) for group, value in eps.items() ) return validate(metadata.EntryPoints(groups)) @load.register(str) def _(eps): r""" >>> ep, = load('[console_scripts]\nfoo=bar') >>> ep.group 'console_scripts' >>> ep.name 'foo' >>> ep.value 'bar' """ return validate(metadata.EntryPoints(metadata.EntryPoints._from_text(eps))) load.register(type(None), lambda x: x) @pass_none def render(eps: metadata.EntryPoints): by_group = operator.attrgetter('group') groups = itertools.groupby(sorted(eps, key=by_group), by_group) return '\n'.join(f'[{group}]\n{render_items(items)}\n' for group, items in groups) def render_items(eps): return '\n'.join(f'{ep.name} = {ep.value}' for ep in sorted(eps))