rsalmei / alive-progress

A new kind of Progress Bar, with real-time throughput, ETA, and very cool animations!
MIT License
5.53k stars 206 forks source link

customized progress bar suffix #62

Closed kernd closed 3 years ago

kernd commented 3 years ago

First off, this looks like a great library! I'm still learning how to use it.

I would like to use the progress bar in manual mode and only show percentage or time remaining after the progress bar. I'm not interested in eta for example. Can this be customized?

Sorry if this is already a feature. If so, this is more of a question of how-to, rather than a feature request.

rsalmei commented 3 years ago

Hey @kernd, thank you! It should be easy to learn it, let me know.

Wait, you want to show only "percentage or time remaining, and not eta"? But eta is the time remaining, what do you mean?

But anyway, it is not configurable at this moment. The soon-to-be-released 2.0 version includes some visual configuration like this, but I've implemented it for the graphical bar and the spinner. No one has ever asked to remove the eta...

May I ask why aren't you interested in it? Personally it is what inspired me to create this project! That's how important I think it is.

rsalmei commented 3 years ago

Humm, I just realized that if you're going to use alive_progress in manual mode, maybe your intent is to create some kind of special effect, like a gauge of some sort. In that case it could be misleading the ETA... 🤔

I just created a gauge myself to demonstrate it in the new exhibit, and thought that in real use, the ETA would not provide any practical info. So I think you have a point, I'm going to implement a way to hide it! Currently, if the user provides:

So, is it better to be able to disable the ETA when it is possible (and thus keeping the throughput meter), or disable the whole stats widget, also disabling the throughput meter? 🤔 I don't know myself, but I will think about.

kernd commented 3 years ago

To give you some context, I want to use the progress bars as nice visual to show a timeout. So in my case, an event can either occur or not occur within a certain time. The progress bar is in effect counting down from a number (for example, 120 seconds) to 0 and when the progress bar is full, the timeout has expired and the event did not occur. I would only like to show the time remaining to the right of the process bar.

I can easily update the progress bar manually in each iteration of the loop as well as checking if the event occurred. The loop has a constant sleep time which is effectively the refresh rate of the progress bar.

rsalmei commented 3 years ago

Hey @kernd, I'm sorry I haven't seen this answer of yours before.

Yeah, now I see, it's a cool use of alive_progress bars! With manual mode you could even make it start full, and go backwards to zero when it expires, it would be very cool...

And the good news is, this is already implemented in 2.0! You can remove any part of the bar via kwargs or configuration! It'll be released soon in #51, I'm just finishing the README now 👍

rsalmei commented 3 years ago

I'm finishing up 2.0, please hold it just a little more! Closing this one as it is ready in there!!