touch-callable:自动为 Python Function 生成 WebUI - V2EX
2019-12-01 22:28:07 Author: www.v2ex.com(查看原文) 阅读量:506 收藏

给大家介绍一下我的业余项目: 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

会生成下面的界面:


文章来源: https://www.v2ex.com/t/624762#reply19
如有侵权请联系:admin#unsafe.sh