# hellpipe wip: generate python scripts from (s)hell pipelines Intended to be used with a shell plugin to make those oneliners that get out of hand more manageable. An example plugin for fish is provided in hellpipe.fish. ## Example `curl "https://httpbin.org/get?test=123" | jq ".headers|keys[]" -r | xargs -L 1 echo` ```python import requests import subprocess import sys import shlex # generated with hellpipe def main(): params = {"test": ["123"]} res = requests.get("https://httpbin.org/get", params=params).text proc = subprocess.Popen( ["jq", ".headers|keys[]", "-r"], stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=sys.stderr, ) (stdout, _) = proc.communicate(res.encode("utf-8")) out_jq = stdout.decode("utf-8") for i in shlex.split(out_jq, posix=True): print(i) # TODO if __name__ == "__main__": main() ``` ## Currently Supported Mappings - [x] curl -> requests (very basic) - [ ] xargs (only prints) - [x] shell commands (no stderr capture) - [x] jq via bindings - [ ] grep - [ ] head/tail - [ ] sort - [ ] basic shell loops - [ ] shell globs - [ ] file operations (mv, cp, rm, ls) - [ ] cat - [ ] sed - [ ] trim - [ ] subshell