alecthomas / alecthomas/importmagic
Python3 type hint annotations are not considered
- Lingua principale
- Python
- Stelle
- 122
- Fork
- 21
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Descrizione
Hi, thanks for the great project.
Currently it seems that importmagic doesn't look for `__annotations__` properties added in recent version of python 3, so python3 syntax-aware checkers complain if I use a type hint without importing the name, but importmagic will delete any import that's only referenced in a type annotation.
Test case:
```python
import importmagic
code = """
from typing import Iterable
def print_it(it: Iterable):
for i in it:
print(i)
print_it(['a', 'b', 'c'])
"""
scope = importmagic.Scope.from_source(code)
unresolved, unreferenced = scope.find_unresolved_and_unreferenced_symbols()
print("unreferenced: {}".format(unreferenced))
from typing import Iterable
def print_it(it: Iterable):
for i in it:
print(i)
print("function annotation: {}".format(print_it.__annotations__))
```
Output:
```
$ python3 importmagictest.py
unreferenced: {'Iterable'}
function annotation: {'it': typing.Iterable<+T_co>}
```
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Valutazione
Questa issue non è ancora stata valutata.