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 details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

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

Uploaded Python 3

File details

Details for the file touch-callable-0.1.0.tar.gz.

File metadata

  • Download URL: touch-callable-0.1.0.tar.gz
  • Upload date:
  • Size: 1.8 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.56.2 CPython/3.6.12

File hashes

Hashes for touch-callable-0.1.0.tar.gz
Algorithm Hash digest
SHA256 8f9cb6e7fc64348c6789729acef5800974b39a673d485de748c517580655b5ef
MD5 9e6fc08cc4b9ee72fc554c899a4ad0a6
BLAKE2b-256 22cb88b239d52c350056d4956ccbe398fe5bcf6a7ab4850cd32cee5ab6d9072b

See more details on using hashes here.

File details

Details for the file touch_callable-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: touch_callable-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 1.8 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.56.2 CPython/3.6.12

File hashes

Hashes for touch_callable-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7406f0597d068b68b410b718cb9a634ad57e00b18c69c48070fc82ecaa04a23b
MD5 8472037c1eba968d9750594817284c63
BLAKE2b-256 e1bcee997417cebb0338e376523ef88b58b08c0ccd1a997e06db09c971b0f9d3

See more details on using hashes here.

Supported by

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