`typing.no_type_check` decorator is not being considered

Abierto
#595 2 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
3/5
Tiempo estimado
1-2 días
Aptitud para principiantes
45/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Estancado
Stack tecnológico
python
Área
tooling

Línea de trabajo

Empieza reproduciendo el ejemplo reportado con pyflakes y sigue cómo se analizan las anotaciones de decoradores, especialmente el caso de typing.no_type_check. El cambio estará completo cuando el ejemplo ya no informe F821 para sort, mientras las comprobaciones habituales de nombres no definidos sigan intactas; en el issue no se nombran archivos de implementación ni pruebas.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

pyflakes does not seem to take into consideration the typing.no_type_check decorator and throws F821 undefined name error,
Example (from Uplink's documentation, a great library with a custom use case for type annotation):

from uplink import Consumer, get, Path, Query
from typing import no_type_check


class GitHub(Consumer):
    """A Python Client for the GitHub API."""
    @get("users/{user}/repos")
    @no_type_check
    def get_repos(self, user: Path, sort_by: Query("sort")):
        """Get user's public repositories."""

Results of running pyflakes:

➜ pyflakes flake8_poc.py
flake8_poc.py:9:52 undefined name 'sort'

This raises no error when running using mypy for example.

Lenguaje dominante
Python
Estrellas
1.5k
Forks
205
Merge medio
1 d 2 h
PR fusionados (30 d)
5

Preparar el entorno

Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de PyCQA/pyflakes

Todos los issues de PyCQA/pyflakes

Issues similares

Más issues de Python

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.