ast.ImportFrom.level is incorrectly marked as optional
Abierto
@JelleZijlstra ya está trabajando en esto.
Desde el 26/6/2025.
interpreter-core
topic-parser
type-bug
- Lenguaje dominante
- Python
- Estrellas
- 77.2k
- Forks
- 35.9k
- Métricas de merge de PR
- Métricas de PR pendientes
Descripción
Bug report
Bug description:
The level field on ast.ImportFrom is marked optional in the ASDL definition, but in fact the parser always sets it:
>>> ast.dump(ast.parse('from x import a'))
"Module(body=[ImportFrom(module='x', names=[alias(name='a')], level=0)])"
>>> ast.dump(ast.parse('from .x import a'))
"Module(body=[ImportFrom(module='x', names=[alias(name='a')], level=1)])"
>>> ast.dump(ast.parse('from ...............x import a'))
"Module(body=[ImportFrom(module='x', names=[alias(name='a')], level=15)])"
We should mark the field as required for consistency with the parser.
CPython versions tested on:
CPython main branch
Operating systems tested on:
macOS
Linked PRs
- gh-135960
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Evaluación
Este issue todavía no se ha evaluado.