Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Live Display Implementation #406

Closed
3 of 4 tasks
nathanrpage97 opened this issue Oct 24, 2020 · 1 comment
Closed
3 of 4 tasks

Live Display Implementation #406

nathanrpage97 opened this issue Oct 24, 2020 · 1 comment

Comments

@nathanrpage97
Copy link
Contributor

nathanrpage97 commented Oct 24, 2020

There has been interest in live updating when it comes to using rich.

Proposal

The main goal of this is to provide an abstraction of the Progress feature that can be used with any RenderableType -- Live.

Progress

I'm currently working on this in #382.

rich_live_example

Significant portions of the code and logic from rich.progress have been re-used for the implementation. There is a working example going with some extremely raw tests included python -m rich.live

Potential Areas of Concern

  • Lots of duplicate code exists between Progress and Live
    • Perhaps they should share a common abstract parent class?
  • Limited by the height of the users console.
    • Any tables or renderable larger than the display cannot be properly cleared (limitation of consoles). As such, the console begins to expand as parts of the
    • There is a flag hide_overflow turned on by default, that will render "Terminal too small" when the renderable is too tall. This comes with some performance overheads of having to pre-render the Renderable to check its height.
    • I'm curious if something along the lines of the pager functionality could be used on an oversized renderable

Tasklist

  • Unit tests
  • Testing / considerations for an IPython console. Currently does the same thing as Progress.
  • Documentation of usage
  • An assortment of examples

Feedback

Let me know if there are any features needed or different design decisions you would like to see.

@willmcgugan
Copy link
Collaborator

Thanks @nathanrpage97 This will be in the next release

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants