Adding a __render__ method that returns a rich renderable to any python class makes it display this output if printed with rich. This also includes being nested inside a rich Layout.

import rich
from rich.panel import Panel

class ShowMe: def rich(self): return Panel("hello", border_style="gold1")

if name == "main": rich.print(ShowMe())

results of printing ShowMe with rich