/opt/imh/python3.13/lib/python3.13/site-packages/pip/_vendor/rich
NameSizeModeActions
__pycache__/-0755rm
abc.py8900644editdlrm
align.py103680644editdlrm
ansi.py69060644editdlrm
bar.py32630644editdlrm
box.py108310644editdlrm
cells.py47800644editdlrm
color.py182230644editdlrm
color_triplet.py10540644editdlrm
columns.py71310644editdlrm
console.py991730644editdlrm
constrain.py12880644editdlrm
containers.py55020644editdlrm
control.py66300644editdlrm
default_styles.py80820644editdlrm
diagnose.py9720644editdlrm
emoji.py25010644editdlrm
errors.py6420644editdlrm
filesize.py25080644editdlrm
file_proxy.py16830644editdlrm
highlighter.py95850644editdlrm
json.py50310644editdlrm
jupyter.py32520644editdlrm
layout.py140040644editdlrm
live.py142710644editdlrm
live_render.py36660644editdlrm
logging.py119030644editdlrm
markup.py84510644editdlrm
measure.py53050644editdlrm
padding.py49700644editdlrm
pager.py8280644editdlrm
palette.py33960644editdlrm
panel.py107050644editdlrm
pretty.py358480644editdlrm
progress.py597150644editdlrm
progress_bar.py81640644editdlrm
prompt.py113040644editdlrm
protocol.py13910644editdlrm
py.typed00644editdlrm
region.py1660644editdlrm
repr.py44310644editdlrm
rule.py46020644editdlrm
scope.py28430644editdlrm
screen.py15910644editdlrm
segment.py242460644editdlrm
spinner.py43390644editdlrm
status.py44240644editdlrm
style.py270730644editdlrm
styled.py12580644editdlrm
syntax.py354750644editdlrm
table.py396800644editdlrm
terminal_theme.py33700644editdlrm
text.py473120644editdlrm
theme.py37770644editdlrm
themes.py1020644editdlrm
traceback.py296010644editdlrm
tree.py91670644editdlrm
_cell_widths.py102090644editdlrm
_emoji_codes.py1402350644editdlrm
_emoji_replace.py10640644editdlrm
_export_format.py21280644editdlrm
_extension.py2650644editdlrm
_fileno.py7990644editdlrm
_inspect.py96950644editdlrm
_log_render.py32250644editdlrm
_loop.py12360644editdlrm
_null_file.py13870644editdlrm
_palettes.py70630644editdlrm
_pick.py4230644editdlrm
_ratio.py54710644editdlrm
_spinners.py199190644editdlrm
_stack.py3510644editdlrm
_timer.py4170644editdlrm
_win32_console.py228200644editdlrm
_windows.py19250644editdlrm
_windows_renderer.py27830644editdlrm
_wrap.py34040644editdlrm
__init__.py60900644editdlrm
__main__.py84770644editdlrm
Edit: /opt/imh/python3.13/lib/python3.13/site-packages/pip/_vendor/rich/status.py (4424B)
from types import TracebackType from typing import Optional, Type from .console import Console, RenderableType from .jupyter import JupyterMixin from .live import Live from .spinner import Spinner from .style import StyleType class Status(JupyterMixin): """Displays a status indicator with a 'spinner' animation. Args: status (RenderableType): A status renderable (str or Text typically). console (Console, optional): Console instance to use, or None for global console. Defaults to None. spinner (str, optional): Name of spinner animation (see python -m rich.spinner). Defaults to "dots". spinner_style (StyleType, optional): Style of spinner. Defaults to "status.spinner". speed (float, optional): Speed factor for spinner animation. Defaults to 1.0. refresh_per_second (float, optional): Number of refreshes per second. Defaults to 12.5. """ def __init__( self, status: RenderableType, *, console: Optional[Console] = None, spinner: str = "dots", spinner_style: StyleType = "status.spinner", speed: float = 1.0, refresh_per_second: float = 12.5, ): self.status = status self.spinner_style = spinner_style self.speed = speed self._spinner = Spinner(spinner, text=status, style=spinner_style, speed=speed) self._live = Live( self.renderable, console=console, refresh_per_second=refresh_per_second, transient=True, ) @property def renderable(self) -> Spinner: return self._spinner @property def console(self) -> "Console": """Get the Console used by the Status objects.""" return self._live.console def update( self, status: Optional[RenderableType] = None, *, spinner: Optional[str] = None, spinner_style: Optional[StyleType] = None, speed: Optional[float] = None, ) -> None: """Update status. Args: status (Optional[RenderableType], optional): New status renderable or None for no change. Defaults to None. spinner (Optional[str], optional): New spinner or None for no change. Defaults to None. spinner_style (Optional[StyleType], optional): New spinner style or None for no change. Defaults to None. speed (Optional[float], optional): Speed factor for spinner animation or None for no change. Defaults to None. """ if status is not None: self.status = status if spinner_style is not None: self.spinner_style = spinner_style if speed is not None: self.speed = speed if spinner is not None: self._spinner = Spinner( spinner, text=self.status, style=self.spinner_style, speed=self.speed ) self._live.update(self.renderable, refresh=True) else: self._spinner.update( text=self.status, style=self.spinner_style, speed=self.speed ) def start(self) -> None: """Start the status animation.""" self._live.start() def stop(self) -> None: """Stop the spinner animation.""" self._live.stop() def __rich__(self) -> RenderableType: return self.renderable def __enter__(self) -> "Status": self.start() return self def __exit__( self, exc_type: Optional[Type[BaseException]], exc_val: Optional[BaseException], exc_tb: Optional[TracebackType], ) -> None: self.stop() if __name__ == "__main__": # pragma: no cover from time import sleep from .console import Console console = Console() with console.status("[magenta]Covid detector booting up") as status: sleep(3) console.log("Importing advanced AI") sleep(3) console.log("Advanced Covid AI Ready") sleep(3) status.update(status="[bold blue] Scanning for Covid", spinner="earth") sleep(3) console.log("Found 10,000,000,000 copies of Covid32.exe") sleep(3) status.update( status="[bold red]Moving Covid32.exe to Trash", spinner="bouncingBall", spinner_style="yellow", ) sleep(5) console.print("[bold green]Covid deleted successfully")