It is by design. See the docs at https://docs.python.org/3/library/warnings.html:
Repetitions of a particular warning for the same source location are typically suppressed.
You can override this behavior by adding a filter with the keyword "always"
, as in:
import warnings
warnings.simplefilter('always', UserWarning)
for i in range(10):
print(i)
warnings.warn('this is a warning message')