I think the intent behind the loopingcall classes was that the timeout applied to repeated calls to the function in question, not that it would prevent the function from running longer than the timeout. However, the docstring does seem to indicate that both are valid, which needs to be addressed by either setting a timeout on the function call or clarifying the docstring so that there is no confusion about what the timeout applies to.
I think the intent behind the loopingcall classes was that the timeout applied to repeated calls to the function in question, not that it would prevent the function from running longer than the timeout. However, the docstring does seem to indicate that both are valid, which needs to be addressed by either setting a timeout on the function call or clarifying the docstring so that there is no confusion about what the timeout applies to.