Packages that share a top-level module name are never marked as obsolete if one of them is used.
fpgmaas opened this issue · 0 comments
If packages share a top-level module name, they are never marked as obsolete if one of them is used.
An example; google-cloud-bigquery
and google-cloud-auth
share a top-level name; google
, which is found in their metadata's top_level.txt
. They are imported as google.cloud.bigquery
and google.cloud.auth
.
deptry
recognizes that there is an imported module google
but it has no metadata. Therefore, for each of the google-cloud-*
packages, it will see if any of the top-level module names are imported. Each has top-level module name google
, so if anywhere in the code there is anything imported fromgoogle
, all google-cloud-*
packaged are marked as not obsolete.
See also #5 for the prior issue with google packages.