"The Warnings Filter" section of the documentation for the warnings module describes the message and module filters as "a string containing a regular expression". While that is true when they are arguments to the filterwarnings function, it is not true when they appear in -W or $PYTHONWARNINGS where they are matched literally (after stripping any starting/ending whitespace).
Additionally, in the "Describing Warning Filters" section, the example "error:::mymodule[.*]" does not behave as described. If it were used as an argument to filterwarnings, where it would be treated as a regular expression, it would match the (invalid) module names mymodule. or mymodule* while it would match mymodule[.*] literally if passed via -W or $PYTHONWARNINGS.
Activity
kevinoid commented on Nov 5, 2020
"The Warnings Filter" section of the documentation for the warnings module describes the message and module filters as "a string containing a regular expression". While that is true when they are arguments to the filterwarnings function, it is not true when they appear in -W or $PYTHONWARNINGS where they are matched literally (after stripping any starting/ending whitespace).
Additionally, in the "Describing Warning Filters" section, the example "error:::mymodule[.*]" does not behave as described. If it were used as an argument to filterwarnings, where it would be treated as a regular expression, it would match the (invalid) module names mymodule. or mymodule* while it would match mymodule[.*] literally if passed via -W or $PYTHONWARNINGS.
ananyadatta88 commented on Aug 28, 2021
No comments
ezio-melotti commented on May 30, 2022
Fixed in GH-23172, backported in GH-93342 and GH-93341. Thanks for the report and the PR!
kevinoid commented on May 30, 2022
Thanks for reviewing and merging it @ezio-melotti!