GoogleCloudPlatform / GoogleCloudPlatform/functions-framework-python

Functions defined with `@functions_framework.http` or `@functions_framework.typed` do not support type hints

Abierto
#361 4 comentarios 0 reacciones 0 asignados Ver en GitHub
enhancement P2
Lenguaje dominante
Python
Estrellas
968
Forks
128
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

Simply put, defining a function with the `@functions_framework.http` decorator does not support type hints. With some digging, I stumbled upon the possibility of using `@functions_framework.typed`, but even this does not work, nor is it documented anywhere. Please see:
1. https://github.com/GoogleCloudPlatform/functions-framework-python/pull/208
2. https://github.com/GoogleCloudPlatform/functions-framework-python/issues/290

This is taken from my attempts to create and deploy a function running python version `3.12.x`. There are no error messages indicating that the cause is the type hints, only that the function failed to be ready and accepting of traffic.

I would suggest the following:
1. Type hints be properly supported for Python functions running any compatible version, given they are now standard practice for developers
2. Versions that use type hinting when they shouldn't -- or otherwise cannot be built -- show an appropriate and relevant error message

As for an example, even the most basic functions such as the following will break:

```python
from flask import Request

@functions_framework.http
def main(request: Request):
pass
```

```python
from flask import Request

@functions_framework.typed
def main(request: Request):
pass
```

Guía de contribución

Abrir la guía de contribución

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.