Open
Description
- I've checked docs and closed issues for possible solutions.
- I can't find my issue in the FAQ.
Describe the bug
import rich.repr
import numpy as np
import rich
@rich.repr.auto
class A:
def __init__(self, arr=None) -> None:
self.arr = arr
if __name__ == "__main__":
a = A(arr=np.array([1, 2, 3]))
rich.print(a)
Traceback (most recent call last):
File "/home/kaho/rich_numpy/hello.py", line 14, in <module>
rich.print(a)
File "/home/kaho/rich_numpy/.venv/lib/python3.11/site-packages/rich/__init__.py", line 74, in print
return write_console.print(*objects, sep=sep, end=end)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/kaho/rich_numpy/.venv/lib/python3.11/site-packages/rich/console.py", line 1705, in print
extend(render(renderable, render_options))
File "/home/kaho/rich_numpy/.venv/lib/python3.11/site-packages/rich/console.py", line 1326, in render
for render_output in iter_render:
File "/home/kaho/rich_numpy/.venv/lib/python3.11/site-packages/rich/pretty.py", line 307, in __rich_console__
pretty_str = pretty_repr(
^^^^^^^^^^^^
File "/home/kaho/rich_numpy/.venv/lib/python3.11/site-packages/rich/pretty.py", line 909, in pretty_repr
node = traverse(
^^^^^^^^^
File "/home/kaho/rich_numpy/.venv/lib/python3.11/site-packages/rich/pretty.py", line 874, in traverse
node = _traverse(_object, root=True)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/kaho/rich_numpy/.venv/lib/python3.11/site-packages/rich/pretty.py", line 667, in _traverse
args = list(iter_rich_args(rich_repr_result))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/kaho/rich_numpy/.venv/lib/python3.11/site-packages/rich/pretty.py", line 638, in iter_rich_args
if default == child:
^^^^^^^^^^^^^^^^
ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
Platform
Click to expand
What platform (Win/Linux/Mac) are you running on? What terminal software are you using?
I may ask you to copy and paste the output of the following commands. It may save some time if you do it now.
If you're using Rich in a terminal:
❯ uv run -m rich.diagnose
╭───────────────────────── <class 'rich.console.Console'> ─────────────────────────╮
│ A high level console interface. │
│ │
│ ╭──────────────────────────────────────────────────────────────────────────────╮ │
│ │ <console width=190 ColorSystem.TRUECOLOR> │ │
│ ╰──────────────────────────────────────────────────────────────────────────────╯ │
│ │
│ color_system = 'truecolor' │
│ encoding = 'utf-8' │
│ file = <_io.TextIOWrapper name='<stdout>' mode='w' encoding='utf-8'> │
│ height = 43 │
│ is_alt_screen = False │
│ is_dumb_terminal = False │
│ is_interactive = True │
│ is_jupyter = False │
│ is_terminal = True │
│ legacy_windows = False │
│ no_color = False │
│ options = ConsoleOptions( │
│ size=ConsoleDimensions(width=190, height=43), │
│ legacy_windows=False, │
│ min_width=1, │
│ max_width=190, │
│ is_terminal=True, │
│ encoding='utf-8', │
│ max_height=43, │
│ justify=None, │
│ overflow=None, │
│ no_wrap=False, │
│ highlight=None, │
│ markup=None, │
│ height=None │
│ ) │
│ quiet = False │
│ record = False │
│ safe_box = True │
│ size = ConsoleDimensions(width=190, height=43) │
│ soft_wrap = False │
│ stderr = False │
│ style = None │
│ tab_size = 8 │
│ width = 190 │
╰──────────────────────────────────────────────────────────────────────────────────╯
╭─── <class 'rich._windows.WindowsConsoleFeatures'> ────╮
│ Windows features available. │
│ │
│ ╭───────────────────────────────────────────────────╮ │
│ │ WindowsConsoleFeatures(vt=False, truecolor=False) │ │
│ ╰───────────────────────────────────────────────────╯ │
│ │
│ truecolor = False │
│ vt = False │
╰───────────────────────────────────────────────────────╯
╭────── Environment Variables ───────╮
│ { │
│ 'TERM': 'xterm-256color', │
│ 'COLORTERM': 'truecolor', │
│ 'CLICOLOR': None, │
│ 'NO_COLOR': None, │
│ 'TERM_PROGRAM': 'WezTerm', │
│ 'COLUMNS': None, │
│ 'LINES': None, │
│ 'JUPYTER_COLUMNS': None, │
│ 'JUPYTER_LINES': None, │
│ 'JPY_PARENT_PID': None, │
│ 'VSCODE_VERBOSE_LOGGING': None │
│ } │
╰────────────────────────────────────╯
platform="Linux"
❯ uv pip freeze | grep rich
rich==13.9.2
If you're using Rich in a Jupyter Notebook, run the following snippet in a cell
and paste the output in your bug report.
from rich.diagnose import report
report()