runwith: poor man's shell operations
Description
This Python library was created to use shell-like input/output direction in a
context where the execution environment doesn't support shell syntax. It
provides a runwith
executable that executes the command of your choice as a
sub-process in an execution environment prepared according to your desires.
The original use case is for use of Tox as a task runner. Since Tox uses a limited subset of shell capabilities and developers are not interested in enhancing them (see Capturing output from commands), I had to wrap some kind of wrapper script. I rapidly started reusing in other projects and making it available on PyPI makes it easy to use like this:
[testenv] deps = runwith commands = runwith -o foo.log -- foo