SuperProcessor: the perfect wrapper for subprocess.run
the perfect wrapper for subprocess.run
Write Shell commands in Python with ease. Simplify Scripting for All.
This module is meant to ease use of
minimizing and reducing all possible edge cases that
are prone to come with use of traditional
None! This module relies on zero external dependencies,
making use of only the builtin module
Install either over Pypi with
pip3 install superprocessor
or over git-pip
pip3 install git+https://github.com/samocorp/superprocessor.git
This module is famous for the
cmd function, which has a signature of
cmd(* args: str, ** kwargs) -> Tuple(stdout: str, stderr: Union[str, None])
As you can see, this function implements a Golang-style error handling, of returing both the std output, error, and status code of the command in the shell.
If no error is encountered, the second value of the returned tuple is of NoneType.
Importing and using the function is easy.
from superprocessor import cmd cmd('mkdir -p ', NEW_DIR_P, \ '&& cd', NEW_DIR_P, \ '&& npm install')
See /examples for more use cases.
Since a tuple is returned, you have to unpack it for every call.
# WRONG OUT = cmd(...) # RIGHT OUT, ERR, STATUS = cmd(...)
Although unrecommended, you might end up un-naming parts of it
out, _, _ = cmd(...)
Create wickedly easy configuration overrides for example:
# logging insightful clues to stdout # default: False cmd(..., log=True) # or environment SUPER_LOGS=TRUE
Happy Scripting :-)
Please reach out to us for anything at
Create issues, fork and request merge requests, and don't be a stranger.
This project is governed by the MIT License.
Copyright SamoCorp 2021.
All Rights Reserved.
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Hashes for superprocessor-0.2.1-py3-none-any.whl