SILENT KILLERPanel

Current Path: > > opt > > alt > python313 > lib > > python3.13 > > site-packages > > setuptools >


Operation   : Linux premium131.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64
Software     : Apache
Server IP    : 162.0.232.56 | Your IP: 216.73.216.111
Domains      : 1034 Domain(s)
Permission   : [ 0755 ]

Files and Folders in: //opt//alt/python313/lib//python3.13//site-packages//setuptools/

NameTypeSizeLast ModifiedActions
__pycache__ Directory - -
_distutils Directory - -
_vendor Directory - -
command Directory - -
config Directory - -
extern Directory - -
__init__.py File 9214 bytes December 01 2024 12:53:24.
_core_metadata.py File 8921 bytes December 01 2024 12:53:24.
_entry_points.py File 2235 bytes December 01 2024 12:53:24.
_imp.py File 2433 bytes December 01 2024 12:53:24.
_importlib.py File 1468 bytes December 01 2024 12:53:24.
_itertools.py File 675 bytes December 01 2024 12:53:24.
_normalization.py File 4214 bytes December 01 2024 12:53:24.
_path.py File 1056 bytes December 01 2024 12:53:24.
_reqs.py File 1120 bytes December 01 2024 12:53:24.
archive_util.py File 7331 bytes December 01 2024 12:53:24.
build_meta.py File 18670 bytes December 01 2024 12:53:24.
dep_util.py File 659 bytes December 01 2024 12:53:24.
depends.py File 5582 bytes December 01 2024 12:53:24.
discovery.py File 21147 bytes December 01 2024 12:53:24.
dist.py File 37205 bytes December 01 2024 12:53:24.
errors.py File 2669 bytes December 01 2024 12:53:24.
extension.py File 5591 bytes December 01 2024 12:53:24.
glob.py File 4868 bytes December 01 2024 12:53:24.
installer.py File 4989 bytes December 01 2024 12:53:24.
launch.py File 812 bytes December 01 2024 12:53:24.
logging.py File 1239 bytes December 01 2024 12:53:24.
modified.py File 190 bytes December 01 2024 12:53:24.
monkey.py File 4783 bytes December 01 2024 12:53:24.
msvc.py File 47422 bytes December 01 2024 12:53:24.
namespaces.py File 3073 bytes December 01 2024 12:53:24.
package_index.py File 38345 bytes December 01 2024 12:53:24.
py312compat.py File 330 bytes December 01 2024 12:53:24.
sandbox.py File 14349 bytes December 01 2024 12:53:24.
script (dev).tmpl File 218 bytes December 01 2024 12:53:24.
script.tmpl File 138 bytes December 01 2024 12:53:24.
unicode_utils.py File 941 bytes December 01 2024 12:53:24.
version.py File 161 bytes December 01 2024 12:53:24.
warnings.py File 3697 bytes December 01 2024 12:53:24.
wheel.py File 8628 bytes December 01 2024 12:53:24.
windows_support.py File 720 bytes December 01 2024 12:53:24.

Reading File: //opt//alt/python313/lib//python3.13//site-packages//setuptools//_entry_points.py

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 as ex:
        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))

SILENT KILLER Tool