Skip to main content

Automatically generate a Web UI for Python function using type annotations.

Project description

Touch-Callable

The web framework for less serious application.

Automatically generate a Web UI for Python function using type annotations.

English | 简体中文

Support platforms

  • macOS
  • Ubuntu
  • Windows

Installation

Only support Python 3.6!

pip install -U touch-callable

Supported parameter value types

  • str
  • int
  • float
  • bool
  • datetime.datetime
  • datetime.date
  • datetime.time
  • enum.Enum
  • io.BytesIO
  • typing.BinaryIO

Supported return value types

  • All objects that can be json.dumps
  • open('filename.xxx', 'rb'), return values' annotation should be io.BufferedReader

CommandLine args

--host

Default is 127.0.0.1, you can only visit it on your computer.

If you want to listen all networks:

$ touch-callable example.py --host 0.0.0.0

--port

Default is 6789.

--debug enable Flask debug feature(not recommend)

Default is False, if you want to enable it

$ touch-callable example.py --debug True

Screenshot

callables

callables

Examples

All support types

# 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

$ touch-callable example.py

demo_with_reponsive_ui

Return file

import io

def return_file() -> io.BufferedReader:
  return open('filename', 'rb')

Stargazers

Stargazers over time

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

touch-callable-0.1.0.tar.gz (1.8 MB view hashes)

Uploaded Source

Built Distribution

touch_callable-0.1.0-py3-none-any.whl (1.8 MB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page