In Cython, the usual raise keyword emits C code that contains a reference to the line and name of the Cython source file, allowing a useful error message to be generated.
However, I haven't seen anything for warnings. Simply calling warnings.warn leaves the interpreter confused as to where the warning came from. I could use PyErr_WarnExplicit if there was something similar to the __LINE__ macro for pyx files.
Is there either a standard way to issue warnings or a standard way to refer to the pyx line number in Cython?
Update
This question has been open for months, so I can only assume that Cython does not presently have a good way to issue warnings. I'll leave it open here in case someone does find a way/submit a patch to make this work right.