Viewing file: tabulate.py (1.66 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
from collections.abc import Mapping from typing import Any, Optional import warnings
from pip._vendor.rich.console import JustifyMethod
from . import box from .highlighter import ReprHighlighter from .pretty import Pretty from .table import Table
def tabulate_mapping( mapping: "Mapping[Any, Any]", title: Optional[str] = None, caption: Optional[str] = None, title_justify: Optional[JustifyMethod] = None, caption_justify: Optional[JustifyMethod] = None, ) -> Table: """Generate a simple table from a mapping.
Args: mapping (Mapping): A mapping object (e.g. a dict); title (str, optional): Optional title to be displayed over the table. caption (str, optional): Optional caption to be displayed below the table. title_justify (str, optional): Justify method for title. Defaults to None. caption_justify (str, optional): Justify method for caption. Defaults to None.
Returns: Table: A table instance which may be rendered by the Console. """ warnings.warn("tabulate_mapping will be deprecated in Rich v11", DeprecationWarning) table = Table( show_header=False, title=title, caption=caption, box=box.ROUNDED, border_style="blue", ) table.title = title table.caption = caption if title_justify is not None: table.title_justify = title_justify if caption_justify is not None: table.caption_justify = caption_justify highlighter = ReprHighlighter() for key, value in mapping.items(): table.add_row( Pretty(key, highlighter=highlighter), Pretty(value, highlighter=highlighter) ) return table
|