[ANN] SolverTraces.jl v0.1.0

I just registered SolverTraces.jl, a simple library for creating colourful solver traces in the REPL. I mostly developed this for my Hartree–Fock solver (see picture), but it is general and simple enough to adapt to other iterative things where you want to keep track of a few numbers, preferably with colour.

EDIT: Thanks to everyone that have made registering packages a breeze!


Thanks for this, it looks very cool! I’m not sure about the printing of exponents in unicode in the errors though: the exponent is very small, and it’s the most important information. I’ve long toyed with the idea of printing the log10 instead, but never quite got around to it…

edit: I see you’ve got in your TODO list “* Nested solver traces for algorithms where each step necessitates inner solves. It would be interesting to support such cases and have togglable visibility of nested traces.” -> yes please! maybe a good option is to use the terminal’s auto-erasing capabilities for this, so it doesn’t pollute the output but you still see it going on

1 Like

It looks good on a 5k screen :stuck_out_tongue:. It is however easy enough to customize Tolerance to (not) use superscripts. PR welcome!

Re the nested solvers, this is not something I need myself at the moment, it’s just something I remembered was handy when working with large-scale DAE problems in my long-lost company days. I don’t really have any problems of that kind on my hands though, so maybe we could work something out together?

FYI I think this package has a large overlap with my PR https://github.com/c42f/TerminalLoggers.jl/pull/8 to TerminalLoggers.jl

The idea is to have table log “monitor” decoupled from the table log event sources, as has been done for progress logs in ProgressLogging.jl protocol.


Yes, there does seem to be some overlap. Maybe still good to have options though.

Looks very cool!

I realized that my comment might be misleading. My point was not there is yet another terminal-based table log user interface. I wanted to point out it would be much nicer if packages for iterative algorithms emit table logging events with a specific format that are decoupled from how they are shown. This way, users can view them with their favorite “monitors”; on terminals, IDEs, web browsers, etc.

The table logging specification is not settled yet. So, if you have some must-features in mind, it’d be great if you comment on https://github.com/c42f/TerminalLoggers.jl/pull/8

So, yes, this is the point.


Yes, I see what you mean. I’ll think about what it is I would like to see.

1 Like

So cool! Related: is your Hartree-Fock code in GitHub? I’d be interested!

Yes, most of it can be found under the JuliaAtoms organization, but it is not release-ready, by far.