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
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.
Filename, size | File type | Python version | Upload date | Hashes |
---|---|---|---|---|
Filename, size click_web-0.5.1-py3-none-any.whl (26.5 kB) | File type Wheel | Python version py3 | Upload date | Hashes View |
Filename, size click-web-0.5.1.tar.gz (22.2 kB) | File type Source | Python version None | Upload date | Hashes View |
Close
Hashes for click_web-0.5.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7d0d435790c201ad6776149a0eb11aaff4d0ea5b5ed84ebb13d16bddbe39649c |
|
MD5 | 786701fd4ec5a56827c6f0862da520b5 |
|
BLAKE2-256 | 2bdb977413653161327693b92b720086fddf7236fed386327df8481e73d904c1 |