Path 1: 36 calls (1.0)

None (29) Spinner (5) '' (1) Text (1)

Console (35) None (1)

False (35) True (1)

True (18) False (18)

10 (21) 4 (10) 12.5 (5)

False (30) True (6)

True (36)

True (36)

'ellipsis' (33) 'visible' (2) 'crop' (1)

Progress.get_renderable def (21) None (15)

1def __init__(
2        self,
3        renderable: Optional[RenderableType] = None,
4        *,
5        console: Optional[Console] = None,
6        screen: bool = False,
7        auto_refresh: bool = True,
8        refresh_per_second: float = 4,
9        transient: bool = False,
10        redirect_stdout: bool = True,
11        redirect_stderr: bool = True,
12        vertical_overflow: VerticalOverflowMethod = "ellipsis",
13        get_renderable: Optional[Callable[[], RenderableType]] = None,
14    ) -> None:
15        assert refresh_per_second > 0, "refresh_per_second must be > 0"
16        self._renderable = renderable
17        self.console = console if console is not None else get_console()
18        self._screen = screen
19        self._alt_screen = False
20
21        self._redirect_stdout = redirect_stdout
22        self._redirect_stderr = redirect_stderr
23        self._restore_stdout: Optional[IO[str]] = None
24        self._restore_stderr: Optional[IO[str]] = None
25
26        self._lock = RLock()
27        self.ipy_widget: Optional[Any] = None
28        self.auto_refresh = auto_refresh
29        self._started: bool = False
30        self.transient = True if screen else transient
31
32        self._refresh_thread: Optional[_RefreshThread] = None
33        self.refresh_per_second = refresh_per_second
34
35        self.vertical_overflow = vertical_overflow
36        self._get_renderable = get_renderable
37        self._live_render = LiveRender(
38            self.get_renderable(), vertical_overflow=vertical_overflow
39        )