subx: Datastructure SubprocessResult
subx: Data structure SubprocessResult - for the Python programming language
This library gives you a data structure called SubprocessResult. It combines stdout, stderr and ret (the exit status).
This is handy if you do “one shot” calling of processes.
If subx fails, you get a meaningful exception message that helps you. You see the first bytes of stdout and stderr. This is the main reason why I wrote this library.
Gracefull handling of timeouts. You get a meaningful error message, even if a timeout happens: You see all stdin and stdout which was emitted until the timeout occured.
Passing in a string as stdin of a subprocess is easy. Just use the kwarg input.
The method call() returns an instance of SubprocessResult.
result = subx.call([‘date’])
Just replace subprocess.check_call(cmd) with subx.call(cmd) and you get all you want plus a helpful exception messages.
Or replace subprocess.check_output(cmd) with subx.call(cmd).stdout.
The class SubprocessResult has the following attributes:
If available the subprocess32 library gets used. This provides the timeout parameter for Python 2.7.
Not suited for …
This library is not usefull if you want to read streamed data from your subprocess. But the library is usefull, if you want to stream data to your subprocess.
Install for usage from pypi:
pip install subx
Development Install on Python2
Install subx for development on Python2:
virtualenv subx-env cd subx-env . ./bin/activate pip install -e git+https://github.com/guettli/subx.git#egg=subx
Development Install on Python3
Install subx for development on Python3:
python3 -m venv subx-py3env cd subx-py3env . ./bin/activate pip install --upgrade pip pip install -e git+https://github.com/guettli/subx.git#egg=subx
pip install -r src/subx/requirements.txt cd src/subx pytest # all test ok? pyCharm src/subx/... pytest # all test still ok? .... I am waiting for your pull request :-)
Release history Release notifications | RSS feed
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 subx-2017.16.0.tar.gz (4.1 kB)||File type Source||Python version None||Upload date||Hashes View|