Path 1: 5 calls (0.31)

Text (5) '' (5) Table (5) None (5)

1def _render(self) -> Iterable[RenderableType]:
2        """Render object."""
3
4        def sort_items(item: Tuple[str, Any]) -> Tuple[bool, str]:
5            key, (_error, value) = item
6            return (callable(value), key.strip("_").lower())
7
8        def safe_getattr(attr_name: str) -> Tuple[Any, Any]:
9            """Get attribute or any exception."""
10            try:
11                return (None, getattr(obj, attr_name))
12            except Exception as error:
13                return (error, None)
14
15        obj = self.obj
16        keys = dir(obj)
17        total_items = len(keys)
18        if not self.dunder:
19            keys = [key for key in keys if not key.startswith("__")]
20        if not self.private:
21            keys = [key for key in keys if not key.startswith("_")]
22        not_shown_count = total_items - len(keys)
23        items = [(key, safe_getattr(key)) for key in keys]
24        if self.sort:
25            items.sort(key=sort_items)
26
27        items_table = Table.grid(padding=(0, 1), expand=False)
28        items_table.add_column(justify="right")
29        add_row = items_table.add_row
30        highlighter = self.highlighter
31
32        if callable(obj):
33            signature = self._get_signature("", obj)
34            if signature is not None:
35                yield signature
36                yield ""
37
38        if self.docs:
39            _doc = self._get_formatted_doc(obj)
40            if _doc is not None:
41                doc_text = Text(_doc, style="inspect.help")
42                doc_text = highlighter(doc_text)
43                yield doc_text
44                yield ""
45
46        if self.value and not (isclass(obj) or callable(obj) or ismodule(obj)):
47            yield Panel(
48                Pretty(obj, indent_guides=True, max_length=10, max_string=60),
49                border_style="inspect.value.border",
50            )
51            yield ""
52
53        for key, (error, value) in items:
54            key_text = Text.assemble(
55                (
56                    key,
57                    "inspect.attr.dunder" if key.startswith("__") else "inspect.attr",
58                ),
59                (" =", "inspect.equals"),
60            )
61            if error is not None:
62                warning = key_text.copy()
63                warning.stylize("inspect.error")
64                add_row(warning, highlighter(repr(error)))
65                continue
66
67            if callable(value):
68                if not self.methods:
69                    continue
70
71                _signature_text = self._get_signature(key, value)
72                if _signature_text is None:
73                    add_row(key_text, Pretty(value, highlighter=highlighter))
74                else:
75                    if self.docs:
76                        docs = self._get_formatted_doc(value)
77                        if docs is not None:
78                            _signature_text.append("\n" if "\n" in docs else " ")
79                            doc = highlighter(docs)
80                            doc.stylize("inspect.doc")
81                            _signature_text.append(doc)
82
83                    add_row(key_text, _signature_text)
84            else:
85                add_row(key_text, Pretty(value, highlighter=highlighter))
86        if items_table.row_count:
87            yield items_table
88        elif not_shown_count:
89            yield Text.from_markup(
90                f"[b cyan]{not_shown_count}[/][i] attribute(s) not shown.[/i] "
91                f"Run [b][magenta]inspect[/]([not b]inspect[/])[/b] for options."
92            )
            

Path 2: 2 calls (0.12)

Text (4) '' (2) None (2)

1def _render(self) -> Iterable[RenderableType]:
2        """Render object."""
3
4        def sort_items(item: Tuple[str, Any]) -> Tuple[bool, str]:
5            key, (_error, value) = item
6            return (callable(value), key.strip("_").lower())
7
8        def safe_getattr(attr_name: str) -> Tuple[Any, Any]:
9            """Get attribute or any exception."""
10            try:
11                return (None, getattr(obj, attr_name))
12            except Exception as error:
13                return (error, None)
14
15        obj = self.obj
16        keys = dir(obj)
17        total_items = len(keys)
18        if not self.dunder:
19            keys = [key for key in keys if not key.startswith("__")]
20        if not self.private:
21            keys = [key for key in keys if not key.startswith("_")]
22        not_shown_count = total_items - len(keys)
23        items = [(key, safe_getattr(key)) for key in keys]
24        if self.sort:
25            items.sort(key=sort_items)
26
27        items_table = Table.grid(padding=(0, 1), expand=False)
28        items_table.add_column(justify="right")
29        add_row = items_table.add_row
30        highlighter = self.highlighter
31
32        if callable(obj):
33            signature = self._get_signature("", obj)
34            if signature is not None:
35                yield signature
36                yield ""
37
38        if self.docs:
39            _doc = self._get_formatted_doc(obj)
40            if _doc is not None:
41                doc_text = Text(_doc, style="inspect.help")
42                doc_text = highlighter(doc_text)
43                yield doc_text
44                yield ""
45
46        if self.value and not (isclass(obj) or callable(obj) or ismodule(obj)):
47            yield Panel(
48                Pretty(obj, indent_guides=True, max_length=10, max_string=60),
49                border_style="inspect.value.border",
50            )
51            yield ""
52
53        for key, (error, value) in items:
54            key_text = Text.assemble(
55                (
56                    key,
57                    "inspect.attr.dunder" if key.startswith("__") else "inspect.attr",
58                ),
59                (" =", "inspect.equals"),
60            )
61            if error is not None:
62                warning = key_text.copy()
63                warning.stylize("inspect.error")
64                add_row(warning, highlighter(repr(error)))
65                continue
66
67            if callable(value):
68                if not self.methods:
69                    continue
70
71                _signature_text = self._get_signature(key, value)
72                if _signature_text is None:
73                    add_row(key_text, Pretty(value, highlighter=highlighter))
74                else:
75                    if self.docs:
76                        docs = self._get_formatted_doc(value)
77                        if docs is not None:
78                            _signature_text.append("\n" if "\n" in docs else " ")
79                            doc = highlighter(docs)
80                            doc.stylize("inspect.doc")
81                            _signature_text.append(doc)
82
83                    add_row(key_text, _signature_text)
84            else:
85                add_row(key_text, Pretty(value, highlighter=highlighter))
86        if items_table.row_count:
87            yield items_table
88        elif not_shown_count:
89            yield Text.from_markup(
90                f"[b cyan]{not_shown_count}[/][i] attribute(s) not shown.[/i] "
91                f"Run [b][magenta]inspect[/]([not b]inspect[/])[/b] for options."
92            )
            

Path 3: 1 calls (0.06)

Text (1) '' (1) Table (1) None (1)

1def _render(self) -> Iterable[RenderableType]:
2        """Render object."""
3
4        def sort_items(item: Tuple[str, Any]) -> Tuple[bool, str]:
5            key, (_error, value) = item
6            return (callable(value), key.strip("_").lower())
7
8        def safe_getattr(attr_name: str) -> Tuple[Any, Any]:
9            """Get attribute or any exception."""
10            try:
11                return (None, getattr(obj, attr_name))
12            except Exception as error:
13                return (error, None)
14
15        obj = self.obj
16        keys = dir(obj)
17        total_items = len(keys)
18        if not self.dunder:
19            keys = [key for key in keys if not key.startswith("__")]
20        if not self.private:
21            keys = [key for key in keys if not key.startswith("_")]
22        not_shown_count = total_items - len(keys)
23        items = [(key, safe_getattr(key)) for key in keys]
24        if self.sort:
25            items.sort(key=sort_items)
26
27        items_table = Table.grid(padding=(0, 1), expand=False)
28        items_table.add_column(justify="right")
29        add_row = items_table.add_row
30        highlighter = self.highlighter
31
32        if callable(obj):
33            signature = self._get_signature("", obj)
34            if signature is not None:
35                yield signature
36                yield ""
37
38        if self.docs:
39            _doc = self._get_formatted_doc(obj)
40            if _doc is not None:
41                doc_text = Text(_doc, style="inspect.help")
42                doc_text = highlighter(doc_text)
43                yield doc_text
44                yield ""
45
46        if self.value and not (isclass(obj) or callable(obj) or ismodule(obj)):
47            yield Panel(
48                Pretty(obj, indent_guides=True, max_length=10, max_string=60),
49                border_style="inspect.value.border",
50            )
51            yield ""
52
53        for key, (error, value) in items:
54            key_text = Text.assemble(
55                (
56                    key,
57                    "inspect.attr.dunder" if key.startswith("__") else "inspect.attr",
58                ),
59                (" =", "inspect.equals"),
60            )
61            if error is not None:
62                warning = key_text.copy()
63                warning.stylize("inspect.error")
64                add_row(warning, highlighter(repr(error)))
65                continue
66
67            if callable(value):
68                if not self.methods:
69                    continue
70
71                _signature_text = self._get_signature(key, value)
72                if _signature_text is None:
73                    add_row(key_text, Pretty(value, highlighter=highlighter))
74                else:
75                    if self.docs:
76                        docs = self._get_formatted_doc(value)
77                        if docs is not None:
78                            _signature_text.append("\n" if "\n" in docs else " ")
79                            doc = highlighter(docs)
80                            doc.stylize("inspect.doc")
81                            _signature_text.append(doc)
82
83                    add_row(key_text, _signature_text)
84            else:
85                add_row(key_text, Pretty(value, highlighter=highlighter))
86        if items_table.row_count:
87            yield items_table
88        elif not_shown_count:
89            yield Text.from_markup(
90                f"[b cyan]{not_shown_count}[/][i] attribute(s) not shown.[/i] "
91                f"Run [b][magenta]inspect[/]([not b]inspect[/])[/b] for options."
92            )
            

Path 4: 1 calls (0.06)

Text (3) '' (2) None (1)

1def _render(self) -> Iterable[RenderableType]:
2        """Render object."""
3
4        def sort_items(item: Tuple[str, Any]) -> Tuple[bool, str]:
5            key, (_error, value) = item
6            return (callable(value), key.strip("_").lower())
7
8        def safe_getattr(attr_name: str) -> Tuple[Any, Any]:
9            """Get attribute or any exception."""
10            try:
11                return (None, getattr(obj, attr_name))
12            except Exception as error:
13                return (error, None)
14
15        obj = self.obj
16        keys = dir(obj)
17        total_items = len(keys)
18        if not self.dunder:
19            keys = [key for key in keys if not key.startswith("__")]
20        if not self.private:
21            keys = [key for key in keys if not key.startswith("_")]
22        not_shown_count = total_items - len(keys)
23        items = [(key, safe_getattr(key)) for key in keys]
24        if self.sort:
25            items.sort(key=sort_items)
26
27        items_table = Table.grid(padding=(0, 1), expand=False)
28        items_table.add_column(justify="right")
29        add_row = items_table.add_row
30        highlighter = self.highlighter
31
32        if callable(obj):
33            signature = self._get_signature("", obj)
34            if signature is not None:
35                yield signature
36                yield ""
37
38        if self.docs:
39            _doc = self._get_formatted_doc(obj)
40            if _doc is not None:
41                doc_text = Text(_doc, style="inspect.help")
42                doc_text = highlighter(doc_text)
43                yield doc_text
44                yield ""
45
46        if self.value and not (isclass(obj) or callable(obj) or ismodule(obj)):
47            yield Panel(
48                Pretty(obj, indent_guides=True, max_length=10, max_string=60),
49                border_style="inspect.value.border",
50            )
51            yield ""
52
53        for key, (error, value) in items:
54            key_text = Text.assemble(
55                (
56                    key,
57                    "inspect.attr.dunder" if key.startswith("__") else "inspect.attr",
58                ),
59                (" =", "inspect.equals"),
60            )
61            if error is not None:
62                warning = key_text.copy()
63                warning.stylize("inspect.error")
64                add_row(warning, highlighter(repr(error)))
65                continue
66
67            if callable(value):
68                if not self.methods:
69                    continue
70
71                _signature_text = self._get_signature(key, value)
72                if _signature_text is None:
73                    add_row(key_text, Pretty(value, highlighter=highlighter))
74                else:
75                    if self.docs:
76                        docs = self._get_formatted_doc(value)
77                        if docs is not None:
78                            _signature_text.append("\n" if "\n" in docs else " ")
79                            doc = highlighter(docs)
80                            doc.stylize("inspect.doc")
81                            _signature_text.append(doc)
82
83                    add_row(key_text, _signature_text)
84            else:
85                add_row(key_text, Pretty(value, highlighter=highlighter))
86        if items_table.row_count:
87            yield items_table
88        elif not_shown_count:
89            yield Text.from_markup(
90                f"[b cyan]{not_shown_count}[/][i] attribute(s) not shown.[/i] "
91                f"Run [b][magenta]inspect[/]([not b]inspect[/])[/b] for options."
92            )
            

Path 5: 1 calls (0.06)

Text (2) '' (1) None (1)

1def _render(self) -> Iterable[RenderableType]:
2        """Render object."""
3
4        def sort_items(item: Tuple[str, Any]) -> Tuple[bool, str]:
5            key, (_error, value) = item
6            return (callable(value), key.strip("_").lower())
7
8        def safe_getattr(attr_name: str) -> Tuple[Any, Any]:
9            """Get attribute or any exception."""
10            try:
11                return (None, getattr(obj, attr_name))
12            except Exception as error:
13                return (error, None)
14
15        obj = self.obj
16        keys = dir(obj)
17        total_items = len(keys)
18        if not self.dunder:
19            keys = [key for key in keys if not key.startswith("__")]
20        if not self.private:
21            keys = [key for key in keys if not key.startswith("_")]
22        not_shown_count = total_items - len(keys)
23        items = [(key, safe_getattr(key)) for key in keys]
24        if self.sort:
25            items.sort(key=sort_items)
26
27        items_table = Table.grid(padding=(0, 1), expand=False)
28        items_table.add_column(justify="right")
29        add_row = items_table.add_row
30        highlighter = self.highlighter
31
32        if callable(obj):
33            signature = self._get_signature("", obj)
34            if signature is not None:
35                yield signature
36                yield ""
37
38        if self.docs:
39            _doc = self._get_formatted_doc(obj)
40            if _doc is not None:
41                doc_text = Text(_doc, style="inspect.help")
42                doc_text = highlighter(doc_text)
43                yield doc_text
44                yield ""
45
46        if self.value and not (isclass(obj) or callable(obj) or ismodule(obj)):
47            yield Panel(
48                Pretty(obj, indent_guides=True, max_length=10, max_string=60),
49                border_style="inspect.value.border",
50            )
51            yield ""
52
53        for key, (error, value) in items:
54            key_text = Text.assemble(
55                (
56                    key,
57                    "inspect.attr.dunder" if key.startswith("__") else "inspect.attr",
58                ),
59                (" =", "inspect.equals"),
60            )
61            if error is not None:
62                warning = key_text.copy()
63                warning.stylize("inspect.error")
64                add_row(warning, highlighter(repr(error)))
65                continue
66
67            if callable(value):
68                if not self.methods:
69                    continue
70
71                _signature_text = self._get_signature(key, value)
72                if _signature_text is None:
73                    add_row(key_text, Pretty(value, highlighter=highlighter))
74                else:
75                    if self.docs:
76                        docs = self._get_formatted_doc(value)
77                        if docs is not None:
78                            _signature_text.append("\n" if "\n" in docs else " ")
79                            doc = highlighter(docs)
80                            doc.stylize("inspect.doc")
81                            _signature_text.append(doc)
82
83                    add_row(key_text, _signature_text)
84            else:
85                add_row(key_text, Pretty(value, highlighter=highlighter))
86        if items_table.row_count:
87            yield items_table
88        elif not_shown_count:
89            yield Text.from_markup(
90                f"[b cyan]{not_shown_count}[/][i] attribute(s) not shown.[/i] "
91                f"Run [b][magenta]inspect[/]([not b]inspect[/])[/b] for options."
92            )
            

Path 6: 1 calls (0.06)

Text (1) '' (1) Table (1) None (1)

1def _render(self) -> Iterable[RenderableType]:
2        """Render object."""
3
4        def sort_items(item: Tuple[str, Any]) -> Tuple[bool, str]:
5            key, (_error, value) = item
6            return (callable(value), key.strip("_").lower())
7
8        def safe_getattr(attr_name: str) -> Tuple[Any, Any]:
9            """Get attribute or any exception."""
10            try:
11                return (None, getattr(obj, attr_name))
12            except Exception as error:
13                return (error, None)
14
15        obj = self.obj
16        keys = dir(obj)
17        total_items = len(keys)
18        if not self.dunder:
19            keys = [key for key in keys if not key.startswith("__")]
20        if not self.private:
21            keys = [key for key in keys if not key.startswith("_")]
22        not_shown_count = total_items - len(keys)
23        items = [(key, safe_getattr(key)) for key in keys]
24        if self.sort:
25            items.sort(key=sort_items)
26
27        items_table = Table.grid(padding=(0, 1), expand=False)
28        items_table.add_column(justify="right")
29        add_row = items_table.add_row
30        highlighter = self.highlighter
31
32        if callable(obj):
33            signature = self._get_signature("", obj)
34            if signature is not None:
35                yield signature
36                yield ""
37
38        if self.docs:
39            _doc = self._get_formatted_doc(obj)
40            if _doc is not None:
41                doc_text = Text(_doc, style="inspect.help")
42                doc_text = highlighter(doc_text)
43                yield doc_text
44                yield ""
45
46        if self.value and not (isclass(obj) or callable(obj) or ismodule(obj)):
47            yield Panel(
48                Pretty(obj, indent_guides=True, max_length=10, max_string=60),
49                border_style="inspect.value.border",
50            )
51            yield ""
52
53        for key, (error, value) in items:
54            key_text = Text.assemble(
55                (
56                    key,
57                    "inspect.attr.dunder" if key.startswith("__") else "inspect.attr",
58                ),
59                (" =", "inspect.equals"),
60            )
61            if error is not None:
62                warning = key_text.copy()
63                warning.stylize("inspect.error")
64                add_row(warning, highlighter(repr(error)))
65                continue
66
67            if callable(value):
68                if not self.methods:
69                    continue
70
71                _signature_text = self._get_signature(key, value)
72                if _signature_text is None:
73                    add_row(key_text, Pretty(value, highlighter=highlighter))
74                else:
75                    if self.docs:
76                        docs = self._get_formatted_doc(value)
77                        if docs is not None:
78                            _signature_text.append("\n" if "\n" in docs else " ")
79                            doc = highlighter(docs)
80                            doc.stylize("inspect.doc")
81                            _signature_text.append(doc)
82
83                    add_row(key_text, _signature_text)
84            else:
85                add_row(key_text, Pretty(value, highlighter=highlighter))
86        if items_table.row_count:
87            yield items_table
88        elif not_shown_count:
89            yield Text.from_markup(
90                f"[b cyan]{not_shown_count}[/][i] attribute(s) not shown.[/i] "
91                f"Run [b][magenta]inspect[/]([not b]inspect[/])[/b] for options."
92            )
            

Path 7: 1 calls (0.06)

'' (2) Text (1) Panel (1) Table (1) None (1)

1def _render(self) -> Iterable[RenderableType]:
2        """Render object."""
3
4        def sort_items(item: Tuple[str, Any]) -> Tuple[bool, str]:
5            key, (_error, value) = item
6            return (callable(value), key.strip("_").lower())
7
8        def safe_getattr(attr_name: str) -> Tuple[Any, Any]:
9            """Get attribute or any exception."""
10            try:
11                return (None, getattr(obj, attr_name))
12            except Exception as error:
13                return (error, None)
14
15        obj = self.obj
16        keys = dir(obj)
17        total_items = len(keys)
18        if not self.dunder:
19            keys = [key for key in keys if not key.startswith("__")]
20        if not self.private:
21            keys = [key for key in keys if not key.startswith("_")]
22        not_shown_count = total_items - len(keys)
23        items = [(key, safe_getattr(key)) for key in keys]
24        if self.sort:
25            items.sort(key=sort_items)
26
27        items_table = Table.grid(padding=(0, 1), expand=False)
28        items_table.add_column(justify="right")
29        add_row = items_table.add_row
30        highlighter = self.highlighter
31
32        if callable(obj):
33            signature = self._get_signature("", obj)
34            if signature is not None:
35                yield signature
36                yield ""
37
38        if self.docs:
39            _doc = self._get_formatted_doc(obj)
40            if _doc is not None:
41                doc_text = Text(_doc, style="inspect.help")
42                doc_text = highlighter(doc_text)
43                yield doc_text
44                yield ""
45
46        if self.value and not (isclass(obj) or callable(obj) or ismodule(obj)):
47            yield Panel(
48                Pretty(obj, indent_guides=True, max_length=10, max_string=60),
49                border_style="inspect.value.border",
50            )
51            yield ""
52
53        for key, (error, value) in items:
54            key_text = Text.assemble(
55                (
56                    key,
57                    "inspect.attr.dunder" if key.startswith("__") else "inspect.attr",
58                ),
59                (" =", "inspect.equals"),
60            )
61            if error is not None:
62                warning = key_text.copy()
63                warning.stylize("inspect.error")
64                add_row(warning, highlighter(repr(error)))
65                continue
66
67            if callable(value):
68                if not self.methods:
69                    continue
70
71                _signature_text = self._get_signature(key, value)
72                if _signature_text is None:
73                    add_row(key_text, Pretty(value, highlighter=highlighter))
74                else:
75                    if self.docs:
76                        docs = self._get_formatted_doc(value)
77                        if docs is not None:
78                            _signature_text.append("\n" if "\n" in docs else " ")
79                            doc = highlighter(docs)
80                            doc.stylize("inspect.doc")
81                            _signature_text.append(doc)
82
83                    add_row(key_text, _signature_text)
84            else:
85                add_row(key_text, Pretty(value, highlighter=highlighter))
86        if items_table.row_count:
87            yield items_table
88        elif not_shown_count:
89            yield Text.from_markup(
90                f"[b cyan]{not_shown_count}[/][i] attribute(s) not shown.[/i] "
91                f"Run [b][magenta]inspect[/]([not b]inspect[/])[/b] for options."
92            )
            

Path 8: 1 calls (0.06)

Text (1) '' (1) Table (1) None (1)

1def _render(self) -> Iterable[RenderableType]:
2        """Render object."""
3
4        def sort_items(item: Tuple[str, Any]) -> Tuple[bool, str]:
5            key, (_error, value) = item
6            return (callable(value), key.strip("_").lower())
7
8        def safe_getattr(attr_name: str) -> Tuple[Any, Any]:
9            """Get attribute or any exception."""
10            try:
11                return (None, getattr(obj, attr_name))
12            except Exception as error:
13                return (error, None)
14
15        obj = self.obj
16        keys = dir(obj)
17        total_items = len(keys)
18        if not self.dunder:
19            keys = [key for key in keys if not key.startswith("__")]
20        if not self.private:
21            keys = [key for key in keys if not key.startswith("_")]
22        not_shown_count = total_items - len(keys)
23        items = [(key, safe_getattr(key)) for key in keys]
24        if self.sort:
25            items.sort(key=sort_items)
26
27        items_table = Table.grid(padding=(0, 1), expand=False)
28        items_table.add_column(justify="right")
29        add_row = items_table.add_row
30        highlighter = self.highlighter
31
32        if callable(obj):
33            signature = self._get_signature("", obj)
34            if signature is not None:
35                yield signature
36                yield ""
37
38        if self.docs:
39            _doc = self._get_formatted_doc(obj)
40            if _doc is not None:
41                doc_text = Text(_doc, style="inspect.help")
42                doc_text = highlighter(doc_text)
43                yield doc_text
44                yield ""
45
46        if self.value and not (isclass(obj) or callable(obj) or ismodule(obj)):
47            yield Panel(
48                Pretty(obj, indent_guides=True, max_length=10, max_string=60),
49                border_style="inspect.value.border",
50            )
51            yield ""
52
53        for key, (error, value) in items:
54            key_text = Text.assemble(
55                (
56                    key,
57                    "inspect.attr.dunder" if key.startswith("__") else "inspect.attr",
58                ),
59                (" =", "inspect.equals"),
60            )
61            if error is not None:
62                warning = key_text.copy()
63                warning.stylize("inspect.error")
64                add_row(warning, highlighter(repr(error)))
65                continue
66
67            if callable(value):
68                if not self.methods:
69                    continue
70
71                _signature_text = self._get_signature(key, value)
72                if _signature_text is None:
73                    add_row(key_text, Pretty(value, highlighter=highlighter))
74                else:
75                    if self.docs:
76                        docs = self._get_formatted_doc(value)
77                        if docs is not None:
78                            _signature_text.append("\n" if "\n" in docs else " ")
79                            doc = highlighter(docs)
80                            doc.stylize("inspect.doc")
81                            _signature_text.append(doc)
82
83                    add_row(key_text, _signature_text)
84            else:
85                add_row(key_text, Pretty(value, highlighter=highlighter))
86        if items_table.row_count:
87            yield items_table
88        elif not_shown_count:
89            yield Text.from_markup(
90                f"[b cyan]{not_shown_count}[/][i] attribute(s) not shown.[/i] "
91                f"Run [b][magenta]inspect[/]([not b]inspect[/])[/b] for options."
92            )
            

Path 9: 1 calls (0.06)

Table (1) None (1)

1def _render(self) -> Iterable[RenderableType]:
2        """Render object."""
3
4        def sort_items(item: Tuple[str, Any]) -> Tuple[bool, str]:
5            key, (_error, value) = item
6            return (callable(value), key.strip("_").lower())
7
8        def safe_getattr(attr_name: str) -> Tuple[Any, Any]:
9            """Get attribute or any exception."""
10            try:
11                return (None, getattr(obj, attr_name))
12            except Exception as error:
13                return (error, None)
14
15        obj = self.obj
16        keys = dir(obj)
17        total_items = len(keys)
18        if not self.dunder:
19            keys = [key for key in keys if not key.startswith("__")]
20        if not self.private:
21            keys = [key for key in keys if not key.startswith("_")]
22        not_shown_count = total_items - len(keys)
23        items = [(key, safe_getattr(key)) for key in keys]
24        if self.sort:
25            items.sort(key=sort_items)
26
27        items_table = Table.grid(padding=(0, 1), expand=False)
28        items_table.add_column(justify="right")
29        add_row = items_table.add_row
30        highlighter = self.highlighter
31
32        if callable(obj):
33            signature = self._get_signature("", obj)
34            if signature is not None:
35                yield signature
36                yield ""
37
38        if self.docs:
39            _doc = self._get_formatted_doc(obj)
40            if _doc is not None:
41                doc_text = Text(_doc, style="inspect.help")
42                doc_text = highlighter(doc_text)
43                yield doc_text
44                yield ""
45
46        if self.value and not (isclass(obj) or callable(obj) or ismodule(obj)):
47            yield Panel(
48                Pretty(obj, indent_guides=True, max_length=10, max_string=60),
49                border_style="inspect.value.border",
50            )
51            yield ""
52
53        for key, (error, value) in items:
54            key_text = Text.assemble(
55                (
56                    key,
57                    "inspect.attr.dunder" if key.startswith("__") else "inspect.attr",
58                ),
59                (" =", "inspect.equals"),
60            )
61            if error is not None:
62                warning = key_text.copy()
63                warning.stylize("inspect.error")
64                add_row(warning, highlighter(repr(error)))
65                continue
66
67            if callable(value):
68                if not self.methods:
69                    continue
70
71                _signature_text = self._get_signature(key, value)
72                if _signature_text is None:
73                    add_row(key_text, Pretty(value, highlighter=highlighter))
74                else:
75                    if self.docs:
76                        docs = self._get_formatted_doc(value)
77                        if docs is not None:
78                            _signature_text.append("\n" if "\n" in docs else " ")
79                            doc = highlighter(docs)
80                            doc.stylize("inspect.doc")
81                            _signature_text.append(doc)
82
83                    add_row(key_text, _signature_text)
84            else:
85                add_row(key_text, Pretty(value, highlighter=highlighter))
86        if items_table.row_count:
87            yield items_table
88        elif not_shown_count:
89            yield Text.from_markup(
90                f"[b cyan]{not_shown_count}[/][i] attribute(s) not shown.[/i] "
91                f"Run [b][magenta]inspect[/]([not b]inspect[/])[/b] for options."
92            )
            

Path 10: 1 calls (0.06)

Panel (1) '' (1)

1def _render(self) -> Iterable[RenderableType]:
2        """Render object."""
3
4        def sort_items(item: Tuple[str, Any]) -> Tuple[bool, str]:
5            key, (_error, value) = item
6            return (callable(value), key.strip("_").lower())
7
8        def safe_getattr(attr_name: str) -> Tuple[Any, Any]:
9            """Get attribute or any exception."""
10            try:
11                return (None, getattr(obj, attr_name))
12            except Exception as error:
13                return (error, None)
14
15        obj = self.obj
16        keys = dir(obj)
17        total_items = len(keys)
18        if not self.dunder:
19            keys = [key for key in keys if not key.startswith("__")]
20        if not self.private:
21            keys = [key for key in keys if not key.startswith("_")]
22        not_shown_count = total_items - len(keys)
23        items = [(key, safe_getattr(key)) for key in keys]
24        if self.sort:
25            items.sort(key=sort_items)
26
27        items_table = Table.grid(padding=(0, 1), expand=False)
28        items_table.add_column(justify="right")
29        add_row = items_table.add_row
30        highlighter = self.highlighter
31
32        if callable(obj):
33            signature = self._get_signature("", obj)
34            if signature is not None:
35                yield signature
36                yield ""
37
38        if self.docs:
39            _doc = self._get_formatted_doc(obj)
40            if _doc is not None:
41                doc_text = Text(_doc, style="inspect.help")
42                doc_text = highlighter(doc_text)
43                yield doc_text
44                yield ""
45
46        if self.value and not (isclass(obj) or callable(obj) or ismodule(obj)):
47            yield Panel(
48                Pretty(obj, indent_guides=True, max_length=10, max_string=60),
49                border_style="inspect.value.border",
50            )
51            yield ""
52
53        for key, (error, value) in items:
54            key_text = Text.assemble(
55                (
56                    key,
57                    "inspect.attr.dunder" if key.startswith("__") else "inspect.attr",
58                ),
59                (" =", "inspect.equals"),
60            )
61            if error is not None:
62                warning = key_text.copy()
63                warning.stylize("inspect.error")
64                add_row(warning, highlighter(repr(error)))
65                continue
66
67            if callable(value):
68                if not self.methods:
69                    continue
70
71                _signature_text = self._get_signature(key, value)
72                if _signature_text is None:
73                    add_row(key_text, Pretty(value, highlighter=highlighter))
74                else:
75                    if self.docs:
76                        docs = self._get_formatted_doc(value)
77                        if docs is not None:
78                            _signature_text.append("\n" if "\n" in docs else " ")
79                            doc = highlighter(docs)
80                            doc.stylize("inspect.doc")
81                            _signature_text.append(doc)
82
83                    add_row(key_text, _signature_text)
84            else:
85                add_row(key_text, Pretty(value, highlighter=highlighter))
86        if items_table.row_count:
87            yield items_table
88        elif not_shown_count:
89            yield Text.from_markup(
90                f"[b cyan]{not_shown_count}[/][i] attribute(s) not shown.[/i] "
91                f"Run [b][magenta]inspect[/]([not b]inspect[/])[/b] for options."
92            )
            

Path 11: 1 calls (0.06)

Table (1) None (1)

1def _render(self) -> Iterable[RenderableType]:
2        """Render object."""
3
4        def sort_items(item: Tuple[str, Any]) -> Tuple[bool, str]:
5            key, (_error, value) = item
6            return (callable(value), key.strip("_").lower())
7
8        def safe_getattr(attr_name: str) -> Tuple[Any, Any]:
9            """Get attribute or any exception."""
10            try:
11                return (None, getattr(obj, attr_name))
12            except Exception as error:
13                return (error, None)
14
15        obj = self.obj
16        keys = dir(obj)
17        total_items = len(keys)
18        if not self.dunder:
19            keys = [key for key in keys if not key.startswith("__")]
20        if not self.private:
21            keys = [key for key in keys if not key.startswith("_")]
22        not_shown_count = total_items - len(keys)
23        items = [(key, safe_getattr(key)) for key in keys]
24        if self.sort:
25            items.sort(key=sort_items)
26
27        items_table = Table.grid(padding=(0, 1), expand=False)
28        items_table.add_column(justify="right")
29        add_row = items_table.add_row
30        highlighter = self.highlighter
31
32        if callable(obj):
33            signature = self._get_signature("", obj)
34            if signature is not None:
35                yield signature
36                yield ""
37
38        if self.docs:
39            _doc = self._get_formatted_doc(obj)
40            if _doc is not None:
41                doc_text = Text(_doc, style="inspect.help")
42                doc_text = highlighter(doc_text)
43                yield doc_text
44                yield ""
45
46        if self.value and not (isclass(obj) or callable(obj) or ismodule(obj)):
47            yield Panel(
48                Pretty(obj, indent_guides=True, max_length=10, max_string=60),
49                border_style="inspect.value.border",
50            )
51            yield ""
52
53        for key, (error, value) in items:
54            key_text = Text.assemble(
55                (
56                    key,
57                    "inspect.attr.dunder" if key.startswith("__") else "inspect.attr",
58                ),
59                (" =", "inspect.equals"),
60            )
61            if error is not None:
62                warning = key_text.copy()
63                warning.stylize("inspect.error")
64                add_row(warning, highlighter(repr(error)))
65                continue
66
67            if callable(value):
68                if not self.methods:
69                    continue
70
71                _signature_text = self._get_signature(key, value)
72                if _signature_text is None:
73                    add_row(key_text, Pretty(value, highlighter=highlighter))
74                else:
75                    if self.docs:
76                        docs = self._get_formatted_doc(value)
77                        if docs is not None:
78                            _signature_text.append("\n" if "\n" in docs else " ")
79                            doc = highlighter(docs)
80                            doc.stylize("inspect.doc")
81                            _signature_text.append(doc)
82
83                    add_row(key_text, _signature_text)
84            else:
85                add_row(key_text, Pretty(value, highlighter=highlighter))
86        if items_table.row_count:
87            yield items_table
88        elif not_shown_count:
89            yield Text.from_markup(
90                f"[b cyan]{not_shown_count}[/][i] attribute(s) not shown.[/i] "
91                f"Run [b][magenta]inspect[/]([not b]inspect[/])[/b] for options."
92            )