Testing Rich Pretty Printer and Panel Rendering Capabilities in Textualize/rich
This stress test suite evaluates the Rich library’s Pretty printer and Panel rendering capabilities under varying width conditions. It systematically tests the formatting and display of complex nested data structures, including lists, dictionaries, tuples, and sets, while measuring performance.
Test Coverage Overview
Implementation Analysis
Technical Details
Best Practices Demonstrated
textualize/rich
tools/stress_test_pretty.py
from rich.console import Console
from rich.panel import Panel
from rich.pretty import Pretty
from rich._timer import timer
DATA = {
"foo": [1, 2, 3, (), {}, (1, 2, 3), {4, 5, 6, (7, 8, 9)}, "Hello, World"],
"bar": [None, (False, True)] * 2,
"Dune": {
"names": {
"Paul Atreides",
"Vladimir Harkonnen",
"Thufir Hawat",
"Duncan Idaho",
}
},
}
console = Console()
with timer("Stress test"):
for w in range(130):
console.print(Panel(Pretty(DATA, indent_guides=True), width=w))