Dead simple way to create Web APIs for command-line tools.
from cliapi import get, run_server, command_output
from cliapi.args import use_args, fields, Arg
@get('/whoami')
def whoami():
return command_output('whoami')
@get('/echo')
@use_args({
'name': Arg(fields.Str(), fmt='Hello {}'),
})
def python(args):
return command_output('echo', args=args)
run_server(host='0.0.0.0', port=8081, debug=True)
⚡️ curl http://localhost:8081/whoami
{"success": true, "output": "caio\n"}
⚡️ curl http://localhost:8081/echo\?name\=foo
{"success": true, "output": "Hello foo\n"}