Skip to main content

Generate a webpage as a GUI for a Python script, and serve from anywhere.

Project description

Python Web I/O

Generate a webpage as a GUI for a Python script, and serve from anywhere.

Usage

$ export SECRET_KEY="someSecureSecretKey"
$ python_web_io .\example.py
Argument
"example.py" Required Specify the file path for the app Python script / entrypoint.
--debug Optional Run the Flask server with debug output enabled.

Config

Magic

input() and print() both support the magic keyword argument. For input(), magic sets the type of the input html element. For print(), magic sets the element type.

Magic Default
input() button, checkbox, color, date, datetime-local, email, file, image, month, number, password, radio, range, search, tel, text, time, url, week text
print() style, img, address, footer, aside, header, h1..6, blockquote, p, b, abbr, code, em, i, mark, q, s, small, span, strong, p

Arguments

input() and print() both support the magic_args keyword argument. magic_args accepts a dictionary, which can be used to set attributes for the html element.

Cache

The user script is re-evaluated after each user interaction, to progress the script to the next input(), etc. This means expensive functions may be called more than once per session. To reduce latency, a cache decorator is made available through the python_web_io module. The @cache_to_file() decorator accepts a single argument: file_path, which indicates where the cache (a .pkl file) should be stored.

import python_web_io as io

@io.cache_to_file('cache.pickle')
def expensive_function(arg):
    # Calculate the result here
    return result

Cache is persistent across sessions, allowing multiple users to access it. Session specific data can be stored using session from flask.

from flask import session
session['some_var] = 'some_val'

Reserved keys for the session namespace are: io and counter.

License

MIT

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

python_web_io-0.1.14.tar.gz (11.5 kB view details)

Uploaded Source

Built Distribution

python_web_io-0.1.14-py3-none-any.whl (12.3 kB view details)

Uploaded Python 3

File details

Details for the file python_web_io-0.1.14.tar.gz.

File metadata

  • Download URL: python_web_io-0.1.14.tar.gz
  • Upload date:
  • Size: 11.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.4.2 CPython/3.9.2 Linux/5.15.90.1-microsoft-standard-WSL2

File hashes

Hashes for python_web_io-0.1.14.tar.gz
Algorithm Hash digest
SHA256 fa810b221b9730b37f2ad56756b30fffa5ba6d71639b4a07bf6c9bcc3b1925b1
MD5 d6db6dc28b019576ba77586ddfa7165e
BLAKE2b-256 4c58cf67a1a2bca56968b812cc87715c656b54d10b74f8bf7619f2917232ca1a

See more details on using hashes here.

File details

Details for the file python_web_io-0.1.14-py3-none-any.whl.

File metadata

  • Download URL: python_web_io-0.1.14-py3-none-any.whl
  • Upload date:
  • Size: 12.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.4.2 CPython/3.9.2 Linux/5.15.90.1-microsoft-standard-WSL2

File hashes

Hashes for python_web_io-0.1.14-py3-none-any.whl
Algorithm Hash digest
SHA256 fb8a142802c72e69c2dcfd694aeca741ef5882e53276bd83b61b0d62d4fb6b38
MD5 6c9fa91da94f66061e83713cfe8aa346
BLAKE2b-256 d11de1115d5c7d9fa41b06c6c2b840f808a52769c62b260dbaec65f26f442b52

See more details on using hashes here.

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