Serve click scripts over the web with minimal effort.
Project description
click-web
Serve click scripts over the web with minimal effort.
Caution: No security (login etc.), do not serve scripts publicly.
Usage
See this demo screen capture.
Take an existing click script, like this one:
example_command.py
import click import time @click.group() def cli(): 'A stupid script to test click-web' pass @cli.command() @click.option("--delay", type=float, default=0.01, help='delay for every line print') @click.argument("lines", default=10, type=int) def print_rows(lines, delay): 'Print lines with a delay' click.echo(f"writing: {lines} with {delay}") for i in range(lines): click.echo(f"Hello row: {i}") time.sleep(delay) if __name__ == '__main__': cli()
Create a minimal script to run with flask
app.py
from click_web import create_click_web_app import example_command app = create_click_web_app(example_command, example_command.cli)
Running example app:
In Bash:
export FLASK_ENV=development export FLASK_APP=app.py flask run
Unsupported click features
It has only been tested with basic click features, and most advanced features will probably not work.
Variadic Arguments (will need some JS on client side)
Promts (probably never will)
Custom ParamTypes (depending on implementation)
TODO
Abort started/running processes.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
click-web-0.6.0.tar.gz
(25.9 kB
view hashes)
Built Distribution
click_web-0.6.0-py3-none-any.whl
(30.8 kB
view hashes)
Close
Hashes for click_web-0.6.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 31e034ec77b5ea5a65d511fb4d9e496f50e6563d8cdc4c9cf0fd55e074767776 |
|
MD5 | bf51bf0de8f84c5074cc71c75ab29d9e |
|
BLAKE2b-256 | 3d2a97c20d24dee2cff4d96dcb9578631f9d95a747235e24eb857fd79ff0183c |