#8431·pip

Option to force the progress bar

Author: jmd-dkCreated Jun 11, 2020Updated Sep 13, 2026
Labelstype: feature request

What's the problem this feature will solve? As described here, pip seems to automatically detect when its output is not going to a TTY, in which case it disables the progress bar during downloads. It would be nice to have an option to force the progress bar anyway. This is a desirable feature when using pip from within scripts which want to log the output while still showing the progress bar.

Examples:

bash
pip download --no-cache-dir                   scipy            # ✅ progress bar
pip download --no-cache-dir --progress-bar=on scipy            # ✅ progress bar
pip download --no-cache-dir                   scipy | tee log  # ❌ progress bar
pip download --no-cache-dir --progress-bar=on scipy | tee log  # ❌ progress bar

(remember to remove the downloads after running each command).

Describe the solution you'd like Taking inspiration from wget (where the exact same situation arise), one could allow for an additional suffix :force on the values of the --progress-bar option (currently off|on|ascii|pretty|emoji). To force the progress bar in the previous example would then look like:

bash
pip download --no-cache-dir --progress-bar=on:force scipy | tee log

Alternative Solutions If adding functionality to the existing --progress-bar option is considered bad, one can always invent a whole new option, e.g.

bash
pip download --no-cache-dir --force-progress-bar scipy | tee log