给大家介绍一下我的业余项目: https://github.com/pengwk/touch-callable (求 Star 😝、求建议)
使用 Python 3 的 type annotation 特性,自动提取 Function 参数类型信息,生成 Web UI,只需要正常编写 Python function 就可以立刻开始一个简易的 Web 服务。
目前支持的类型有:
- str
- int
- float
- bool
- datetime.datetime
- datetime.date
- datetime.time
- enum.Enum
- io.BytesIO
- typing.BinaryIO
做这个项目的目的有两个:
- 希望集成项目里的各种零散脚本,将他们管理起来,方便大家(会 Python 的,不会 Python 的)使用,降低重复劳动。
- 希望在界面不是很重要的 Web 服务场景里,快速提供一个简易的 Web UI 开始服务。
后端使用的是 Flask,前端使用的是 Ant Design。
看一个例子:
# example.py
from datetime import datetime, date, time
from enum import Enum
import io
import typing
class Languages(Enum):
Python = 'Python'
PHP = 'PHP'
Java = 'Java'
def demo(int_: int, str_: str, float_: float, bool_: bool,
enum_: Languages,
datetime_: datetime = datetime.now(),
date_: date = date.today(),
time_: time = time(1, 2, 3),
bytes_io: io.BytesIO = None,
binary_io: typing.BinaryIO = None):
pass
会生成下面的界面:
