SILENT KILLERPanel

Current Path: > > opt > cloudlinux > venv > lib64 > python3.11 > > site-packages > pip > _vendor > rich


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/cloudlinux/venv/lib64/python3.11//site-packages/pip/_vendor/rich

NameTypeSizeLast ModifiedActions
__pycache__ Directory - -
__init__.py File 6090 bytes April 17 2025 13:10:58.
__main__.py File 8477 bytes April 17 2025 13:10:58.
_cell_widths.py File 10209 bytes April 17 2025 13:10:58.
_emoji_codes.py File 140235 bytes April 17 2025 13:10:58.
_emoji_replace.py File 1064 bytes April 17 2025 13:10:58.
_export_format.py File 2128 bytes April 17 2025 13:10:58.
_extension.py File 265 bytes April 17 2025 13:10:58.
_fileno.py File 799 bytes April 17 2025 13:10:58.
_inspect.py File 9655 bytes April 17 2025 13:10:58.
_log_render.py File 3225 bytes April 17 2025 13:10:58.
_loop.py File 1236 bytes April 17 2025 13:10:58.
_null_file.py File 1394 bytes April 17 2025 13:10:58.
_palettes.py File 7063 bytes April 17 2025 13:10:58.
_pick.py File 423 bytes April 17 2025 13:10:58.
_ratio.py File 5471 bytes April 17 2025 13:10:58.
_spinners.py File 19919 bytes April 17 2025 13:10:58.
_stack.py File 351 bytes April 17 2025 13:10:58.
_timer.py File 417 bytes April 17 2025 13:10:58.
_win32_console.py File 22755 bytes April 17 2025 13:10:58.
_windows.py File 1925 bytes April 17 2025 13:10:58.
_windows_renderer.py File 2783 bytes April 17 2025 13:10:58.
_wrap.py File 3404 bytes April 17 2025 13:10:58.
abc.py File 890 bytes April 17 2025 13:10:58.
align.py File 10469 bytes April 17 2025 13:10:58.
ansi.py File 6921 bytes April 17 2025 13:10:58.
bar.py File 3263 bytes April 17 2025 13:10:58.
box.py File 10831 bytes April 17 2025 13:10:58.
cells.py File 5130 bytes April 17 2025 13:10:58.
color.py File 18211 bytes April 17 2025 13:10:58.
color_triplet.py File 1054 bytes April 17 2025 13:10:58.
columns.py File 7131 bytes April 17 2025 13:10:58.
console.py File 100156 bytes April 17 2025 13:10:58.
constrain.py File 1288 bytes April 17 2025 13:10:58.
containers.py File 5502 bytes April 17 2025 13:10:58.
control.py File 6630 bytes April 17 2025 13:10:58.
default_styles.py File 8159 bytes April 17 2025 13:10:58.
diagnose.py File 972 bytes April 17 2025 13:10:58.
emoji.py File 2501 bytes April 17 2025 13:10:58.
errors.py File 642 bytes April 17 2025 13:10:58.
file_proxy.py File 1683 bytes April 17 2025 13:10:58.
filesize.py File 2484 bytes April 17 2025 13:10:58.
highlighter.py File 9586 bytes April 17 2025 13:10:58.
json.py File 5031 bytes April 17 2025 13:10:58.
jupyter.py File 3252 bytes April 17 2025 13:10:58.
layout.py File 14004 bytes April 17 2025 13:10:58.
live.py File 14270 bytes April 17 2025 13:10:58.
live_render.py File 3666 bytes April 17 2025 13:10:58.
logging.py File 12458 bytes April 17 2025 13:10:58.
markup.py File 8451 bytes April 17 2025 13:10:58.
measure.py File 5305 bytes April 17 2025 13:10:58.
padding.py File 4908 bytes April 17 2025 13:10:58.
pager.py File 828 bytes April 17 2025 13:10:58.
palette.py File 3396 bytes April 17 2025 13:10:58.
panel.py File 11235 bytes April 17 2025 13:10:58.
pretty.py File 36391 bytes April 17 2025 13:10:58.
progress.py File 60357 bytes April 17 2025 13:10:58.
progress_bar.py File 8162 bytes April 17 2025 13:10:58.
prompt.py File 12447 bytes April 17 2025 13:10:58.
protocol.py File 1391 bytes April 17 2025 13:10:58.
py.typed File 0 bytes April 17 2025 13:10:58.
region.py File 166 bytes April 17 2025 13:10:58.
repr.py File 4431 bytes April 17 2025 13:10:58.
rule.py File 4602 bytes April 17 2025 13:10:58.
scope.py File 2843 bytes April 17 2025 13:10:58.
screen.py File 1591 bytes April 17 2025 13:10:58.
segment.py File 24743 bytes April 17 2025 13:10:58.
spinner.py File 4364 bytes April 17 2025 13:10:58.
status.py File 4424 bytes April 17 2025 13:10:58.
style.py File 27067 bytes April 17 2025 13:10:58.
styled.py File 1258 bytes April 17 2025 13:10:58.
syntax.py File 35763 bytes April 17 2025 13:10:58.
table.py File 40103 bytes April 17 2025 13:10:58.
terminal_theme.py File 3370 bytes April 17 2025 13:10:58.
text.py File 47552 bytes April 17 2025 13:10:58.
theme.py File 3771 bytes April 17 2025 13:10:58.
themes.py File 102 bytes April 17 2025 13:10:58.
traceback.py File 31797 bytes April 17 2025 13:10:58.
tree.py File 9451 bytes April 17 2025 13:10:58.

Reading File: //opt/cloudlinux/venv/lib64/python3.11//site-packages/pip/_vendor/rich/jupyter.py

from typing import TYPE_CHECKING, Any, Dict, Iterable, List, Sequence

if TYPE_CHECKING:
    from pip._vendor.rich.console import ConsoleRenderable

from . import get_console
from .segment import Segment
from .terminal_theme import DEFAULT_TERMINAL_THEME

if TYPE_CHECKING:
    from pip._vendor.rich.console import ConsoleRenderable

JUPYTER_HTML_FORMAT = """\
<pre style="white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace">{code}</pre>
"""


class JupyterRenderable:
    """A shim to write html to Jupyter notebook."""

    def __init__(self, html: str, text: str) -> None:
        self.html = html
        self.text = text

    def _repr_mimebundle_(
        self, include: Sequence[str], exclude: Sequence[str], **kwargs: Any
    ) -> Dict[str, str]:
        data = {"text/plain": self.text, "text/html": self.html}
        if include:
            data = {k: v for (k, v) in data.items() if k in include}
        if exclude:
            data = {k: v for (k, v) in data.items() if k not in exclude}
        return data


class JupyterMixin:
    """Add to an Rich renderable to make it render in Jupyter notebook."""

    __slots__ = ()

    def _repr_mimebundle_(
        self: "ConsoleRenderable",
        include: Sequence[str],
        exclude: Sequence[str],
        **kwargs: Any,
    ) -> Dict[str, str]:
        console = get_console()
        segments = list(console.render(self, console.options))
        html = _render_segments(segments)
        text = console._render_buffer(segments)
        data = {"text/plain": text, "text/html": html}
        if include:
            data = {k: v for (k, v) in data.items() if k in include}
        if exclude:
            data = {k: v for (k, v) in data.items() if k not in exclude}
        return data


def _render_segments(segments: Iterable[Segment]) -> str:
    def escape(text: str) -> str:
        """Escape html."""
        return text.replace("&", "&amp;").replace("<", "&lt;").replace(">", "&gt;")

    fragments: List[str] = []
    append_fragment = fragments.append
    theme = DEFAULT_TERMINAL_THEME
    for text, style, control in Segment.simplify(segments):
        if control:
            continue
        text = escape(text)
        if style:
            rule = style.get_html_style(theme)
            text = f'<span style="{rule}">{text}</span>' if rule else text
            if style.link:
                text = f'<a href="{style.link}" target="_blank">{text}</a>'
        append_fragment(text)

    code = "".join(fragments)
    html = JUPYTER_HTML_FORMAT.format(code=code)

    return html


def display(segments: Iterable[Segment], text: str) -> None:
    """Render segments to Jupyter."""
    html = _render_segments(segments)
    jupyter_renderable = JupyterRenderable(html, text)
    try:
        from IPython.display import display as ipython_display

        ipython_display(jupyter_renderable)
    except ModuleNotFoundError:
        # Handle the case where the Console has force_jupyter=True,
        # but IPython is not installed.
        pass


def print(*args: Any, **kwargs: Any) -> None:
    """Proxy for Console print."""
    console = get_console()
    return console.print(*args, **kwargs)

SILENT KILLER Tool