scikit learn models support a verbose argument which gives progress (and sometimes an indication on the rate of convergence).
clf = MPLClassifier(verbose=True)
For example : in multi layer perceptron MLPClassifier .
mlp = MLPClassifier(hidden_layer_sizes=(10,), max_iter=10, verbose=True)
If you have a loop outside of the learning model, You can use this package tqdm.