-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
replace pkg_resources with importlib in ska_helpers.get_version #56
Conversation
@@ -22,7 +22,7 @@ | |||
warnings.filterwarnings( | |||
"ignore", message=r"Module \w+ was already imported", category=UserWarning | |||
) | |||
from pkg_resources import DistributionNotFound, get_distribution | |||
from importlib import resources, metadata |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This seems fine, though unlike pkg_resources, we're already importing importlib at the top of the file. Does this need to be in this catch_warnings block?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good point. I'm fighting two instincts, (1) cut any code that doesn't seem necessary (and re-test) and (2) let it go and approve and move on. I'm honestly not sure, but otherwise this PR looks good and we should get it merged one way or the other.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These two sub-modules are not imported by the import statement at the top of the file, so they have to be explicitly imported. This goes to say that the fact that importlib was already imported says nothing about whether the warning would be issued here
I don't know whether importing without the warnings filter would trigger the warning. I do not remember if there were special cases when this was triggered, or if a simple call to testr is enough to check.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I just removed the filter warning in the master branch, and I did not get this warning, so I do not know in which circumstances this warning was issued to begin with.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Seems fine to leave this as is.
I'm also wondering what could make sense for a versions unit test, but that's not a lien on this PR. |
Description
This just replaces pkg_resources with importlib.
There are three points where I don't know yet whether changes are needed, but my best guess is what I implemented:
at the top, a warning is filtered. Is that still needed?
I removed a check:
I believe
importlib
does find the correct one (I checked on a cheta repo, see below)The exceptionat the end used to catch
DistributionNotFound
and I made it catchmetadata.PackageNotFoundError
, but I do not know yet whether this will ever happen.Fixes #55
Interface impacts
None
Testing
Unit tests
Independent check of unit tests by Jean
Functional tests
In the cheta repository, made sure to remove all egg directories, changed to the speedy branch, and then: