It's bad style for low-level computation functions to print to screen just by themselves. However, in loops in such functions it is often convenient to view progress. A class or a function doing such things may take an iterable wrapper as an argument, for instance timer.iterate, which can output to screen. As default the identity function should do, and there's virtually no penalty. This technique is interchangeable with tqdm, for loops with faster iterations and when less statistics is desired.
It's bad style for low-level computation functions to print to screen just by themselves. However, in loops in such functions it is often convenient to view progress. A class or a function doing such things may take an iterable wrapper as an argument, for instance timer.iterate, which can output to screen. As default the identity function should do, and there's virtually no penalty. This technique is interchangeable with tqdm, for loops with faster iterations and when less statistics is desired.