GoogleCloudPlatform / GoogleCloudPlatform/functions-framework-python

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

未關閉
#361 4 則留言 0 個 reaction 已指派 0 人 在 GitHub 檢視
enhancement P2
主要語言
Python
星號
968
分支
128
PR 合併指標
30 天內沒有已合併 PR

描述

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
```

貢獻指南

開啟貢獻指南

評估

這個 Issue 還沒有評估資料。

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。