calling shell programs

last updated: Oct 20, 2023 looks like a nice library, similar to what I had started writing for pub so long ago looks a bit more aggressive, trying to refit pipes into the python bitwise-or operator

(I have never used either of these at all)

My current function I use is some variation of:

def sh(cmd, verbose=False, ignore_errors=False):
    cmd = str(cmd.strip())
    if verbose:
    p = subprocess.Popen(cmd, stdout=subprocess.PIPE, shell=True)
    stdout, stderr = [str(x or b"", "utf8") for x in p.communicate()]
    if p.returncode != 0 and not ignore_errors:
    return [stdout, stderr, p.returncode]
↑ up