pyOpenMS: Log warnings in pure Python code with warnings.warn instead of print #7418
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
Revisit of #6979. Replacing
print
statements inpyopenms/__init__.py
withwarnings.warn
for info regarding theOPENMS_DATA_PATH
environment variable.If I understand correctly, #6979 was closed because it proposed to use the
logging
module, leading to multiple ways of logging implemented in pyOpenMS. I here propose to usewarnings.warn
instead in the pure Python code. Especially in the case of theOPENMS_DATA_PATH
warnings, this makes sense.Currently, using pyOpenMS with multiprocessing leads to a wall of warnings that cannot be disabled due to the use of
print
. With the proposed changes, developers of tools using pyOpenMS can choose to ignore these warnings when desired withChecklist
How can I get additional information on failed tests during CI
Click to expand
If your PR is failing you can check outIf you click in the column that lists the failed tests you will get detailed error messages.
Advanced commands (admins / reviewer only)
Click to expand
/reformat
(experimental) applies the clang-format style changes as additional commit. Note: your branch must have a different name (e.g., yourrepo:feature/XYZ) than the receiving branch (e.g., OpenMS:develop). Otherwise, reformat fails to push.rebuild jenkins
will retrigger Jenkins-based CI builds