mir_eval
mir_eval copied to clipboard
Set warning stacklevels for validation
Validator functions often raise warnings when something isn't quite right, eg:
https://github.com/craffel/mir_eval/blob/57f7c31b120f6135c31207295372e3b67848126d/mir_eval/chord.py#L640-L644
However, the warning shows up to the user as coming from the validate function, which is not all that helpful since they never call this directly. We can make this more useful by setting stacklevel=2.
This way the warning will point to the evaluator that called validate, which is a little more helpful for debugging purposes, especially when the user is calling a module-level evaluate() function.
Good idea! Didn't know you could specify where in the stack the warning should come up.