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

Use Base logging for progress meters #102

Open
ChrisRackauckas opened this issue Jul 21, 2018 · 7 comments
Open

Use Base logging for progress meters #102

ChrisRackauckas opened this issue Jul 21, 2018 · 7 comments

Comments

@ChrisRackauckas
Copy link

Base now has a way to log progress information. Juno is using:

@logmsg -1 "making progress" progress=0.5 # or progress=NaN, or progress="done"

This means that the standard logging setup can generate the logging information. It would be good if on v0.7 ProgressMeter.jl becomes simply a way of displaying this logging information. This way every package can natively support progress meters and how it is displayed just becomes a user-preference or IDE side issue.

This should be done in coordination with @pfitzseb and his work on Juno.

@adamslc
Copy link
Contributor

adamslc commented Aug 18, 2018

I have a prototype of this working at ProgressLogging. I started out intending to update ProgressMeter, but now it seems to me that the two packages actually provide very different functionality, and neither one can completely replace the other.

@ChrisRackauckas
Copy link
Author

It's compatible with the same command of Juno (shown above)?

@adamslc
Copy link
Contributor

adamslc commented Aug 18, 2018

Yes, it works with that invocation.

@c42f
Copy link

c42f commented Dec 20, 2018

I started writing a comment here about how I think progress logging should work with the new infrastructure, and totally nerd sniped myself. Which led to the following implementation in MicroLogging.ConsoleLogger:

c42f/MicroLogging.jl#18

In particular I'm quite excited about MicroLogging.StickyMessages, which is a general solution to having a selection of messages be "sticky" at the bottom of the screen, while the rest of the console text scrolls freely, including both logging and other stream output. I think this should eventually be folded into the Base REPL code (though there is some yak shaving in libuv to do before it will work smoothly on windows).

@AshtonSBradley
Copy link

ProgressMeter is so great, thanks for this package that really helps the user experience in Juno.

Is there any scope for Jupyter notebook support?

@c42f
Copy link

c42f commented Jun 18, 2019

There's such a thing in python so it's technically possible to do in the jupyter UI already. I don't know much about the technical details though. See https://github.com/tqdm/tqdm#ipython-jupyter-integration

@tkf
Copy link

tkf commented Oct 17, 2019

There is now https://github.com/JunoLab/ProgressLogging.jl which should be usable as a drop-in replacement of Juno.

I also created https://github.com/tkf/ConsoleProgressMonitor.jl as a console-based backend for handling the log messages using ProgressMeter.jl.

ref: JuliaLogging/ProgressLogging.jl#1

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

No branches or pull requests

5 participants