Issue
Currently I have a multi-line import statement like this:
from my_module import (
My_custom_class_1, My_custom_class_2, My_custom_class_3,
My_custom_class_4, My_custom_class_5, My_custom_class_6,
)
In this case, I do not want to use from my_module import *
. I also would like to ignore this file for type checking.
For single line imports, one can simply do from my_module import * # type: ignore
, however this does not work for the multi-line case. I have tried adding after the last line, last parenthesis, after each line, etc.
Lastly, I don't want to add # type: ignore
to the top of my_module
.
So, is there a way to tell mypy to ignore multi-line imports like this? Or am I stuck with a 135 character line?
Solution
In general, when mypy encounters line with implicit continuation because of parenthesis, it attaches all errors of that statement to that line. So (playground)
from nothing import ( # type: ignore
foo,
bar, baz
)
passes type checking.
Same holds for multi-line def, for example:
class Base:
def foo(self, x: int) -> None: pass
class Child(Base):
def foo( # type: ignore[override]
self,
this_is_a_very_long_and_incompatible_argument: str,
) -> None: ...
Answered By - SUTerliakov
0 comments:
Post a Comment
Note: Only a member of this blog may post a comment.