Buckets:
MisterAI/LocalAI_Demo_backends / cpu-diffusers.upgrade-tmp /venv /lib /python3.10 /site-packages /rich /scope.py
| from collections.abc import Mapping | |
| from typing import TYPE_CHECKING, Any, Optional, Tuple | |
| from .highlighter import ReprHighlighter | |
| from .panel import Panel | |
| from .pretty import Pretty | |
| from .table import Table | |
| from .text import Text, TextType | |
| if TYPE_CHECKING: | |
| from .console import ConsoleRenderable, OverflowMethod | |
| def render_scope( | |
| scope: "Mapping[str, Any]", | |
| *, | |
| title: Optional[TextType] = None, | |
| sort_keys: bool = True, | |
| indent_guides: bool = False, | |
| max_length: Optional[int] = None, | |
| max_string: Optional[int] = None, | |
| max_depth: Optional[int] = None, | |
| overflow: Optional["OverflowMethod"] = None, | |
| ) -> "ConsoleRenderable": | |
| """Render python variables in a given scope. | |
| Args: | |
| scope (Mapping): A mapping containing variable names and values. | |
| title (str, optional): Optional title. Defaults to None. | |
| sort_keys (bool, optional): Enable sorting of items. Defaults to True. | |
| indent_guides (bool, optional): Enable indentation guides. Defaults to False. | |
| max_length (int, optional): Maximum length of containers before abbreviating, or None for no abbreviation. | |
| Defaults to None. | |
| max_string (int, optional): Maximum length of string before truncating, or None to disable. Defaults to None. | |
| max_depth (int, optional): Maximum depths of locals before truncating, or None to disable. Defaults to None. | |
| overflow (OverflowMethod, optional): How to handle overflowing locals, or None to disable. Defaults to None. | |
| Returns: | |
| ConsoleRenderable: A renderable object. | |
| """ | |
| highlighter = ReprHighlighter() | |
| items_table = Table.grid(padding=(0, 1), expand=False) | |
| items_table.add_column(justify="right") | |
| def sort_items(item: Tuple[str, Any]) -> Tuple[bool, str]: | |
| """Sort special variables first, then alphabetically.""" | |
| key, _ = item | |
| return (not key.startswith("__"), key.lower()) | |
| items = sorted(scope.items(), key=sort_items) if sort_keys else scope.items() | |
| for key, value in items: | |
| key_text = Text.assemble( | |
| (key, "scope.key.special" if key.startswith("__") else "scope.key"), | |
| (" =", "scope.equals"), | |
| ) | |
| items_table.add_row( | |
| key_text, | |
| Pretty( | |
| value, | |
| highlighter=highlighter, | |
| indent_guides=indent_guides, | |
| max_length=max_length, | |
| max_string=max_string, | |
| max_depth=max_depth, | |
| overflow=overflow, | |
| ), | |
| ) | |
| return Panel.fit( | |
| items_table, | |
| title=title, | |
| border_style="scope.border", | |
| padding=(0, 1), | |
| ) | |
| if __name__ == "__main__": # pragma: no cover | |
| from rich import print | |
| print() | |
| def test(foo: float, bar: float) -> None: | |
| list_of_things = [1, 2, 3, None, 4, True, False, "Hello World"] | |
| dict_of_things = { | |
| "version": "1.1", | |
| "method": "confirmFruitPurchase", | |
| "params": [["apple", "orange", "mangoes", "pomelo"], 1.123], | |
| "id": "194521489", | |
| } | |
| print(render_scope(locals(), title="[i]locals", sort_keys=False)) | |
| test(20.3423, 3.1427) | |
| print() | |
Xet Storage Details
- Size:
- 3.24 kB
- Xet hash:
- 0e5aa29b9580b819a1dcecc009237c79caf64be557c380c6cd38223f79a034d1
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.