GoogleCloudPlatform / GoogleCloudPlatform/functions-framework-python

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

オープン
#361 コメント 4 件 リアクション 0 件 担当者 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 を短くまとめたダイジェスト。