Why is W0611 unused-import marked as Essential?

The automatic feedback

[*W0611 unused-import* ] :
  ["Unused OMNIVORE imported from sets_categories_data"]
  was reported by Pylint.

is presented as Essential. I wonder why?

Reasons I could come up with myself:

  • An import statement executes the imported module, which is probably undesirable if none of its exports is actually needed.
  • Names that are in scope unexpectedly can hide typos.
  • When exports are not specified explicitly, imports are implicitly re-exported.

@BethanyG

1 Like

I mapped most W (warning) level messages as well as all E (error) and F (fatal) messages from PyLint to essential. My reason being that when learning idiomatic Python, most things PyLint warns about are things you probably need to address until the point where you understand what rules are worth breaking. :slightly_smiling_face:

As I go back and do further adjustments and changes to the Analyzer, this mapping will probably change, as will the messaging for certain errors. I am also adding some custom rules, as well as the category changes that have been in discussion recently.

As with all things, it remains a WIP.