So to make the install progress nicer we are going to need a subprocess inside the Pty that runs dpkg and annotates the output as stdout and stderr.

Then we can
- buffer the log
- render status messages ourselves based on dpkg status fd
- if there is output on stderr print a backtrace

I would still prefer to actually have support in dpkg for sensible output format.

The multi-line download progress will be equally interesting. I want to use the bottom 1/3 of your terminal to render progress bars for individual items, and a total progress bar.

First iteration would be one progress bar per line but I suppose optimally we should be able to put them in a columnar view if you download let's say 21 items in parallel but only have 24 lines of terminal.

With one item per line, you'd only see 7 per-item progress lines and not see the other 14.

@juliank note: conda is doing a similar thing (but with more progress bar per screen). you could check (and the feedbacks). but how many parallel download do you expect? for me: one per server just to see if mirror is down
@cate curious but I don't know what conda is or where to find it tbh
@juliank also known as anaconda/miniconda (or the command line of them). It is one common way to install python (virtual environments), invented for numpy scipy etc. On other OS is more common (nearly required) but it is not in Debian (we do not need it, we have just two package to extract data from their packages).
@cate ok, so I only find videos where people run pip inside venvs created by conda, nothing were conda has a progress bar.
@juliank i find nothing on docs: i really like it snd I think just last year they did a good job (keeping important thing on one screen), but it seems no worth to mention on announcements. at work tomorrow i’ll do few screenshots. i think you are going in a similar direction (and I like it both).
@juliank is there a -quiet/dumb/teletype mode for the (extremely rare) teletype user, or people on extreme bandwidth limitations (Antarctica?)