pipettor - robust, easy to use Python package for running Unix process pipelines
- Creating process pipelines in Python is either complex (e.g.
subprocess
), or not robust (e.g.os.system()
). This package aims to address these shortcomings. - Command pipelines are simply specified as a sequence of commands, with each command represented as a sequence of arguments.
- Failure of any process in the pipeline results in an exception, with
stderr
included in the exception. - Pipeline
stdin/stdout/stderr
can be passed through from parent process, redirected to a file, or read/written by the parent process. - Asynchronous reading and writing to and from the pipeline maybe done without risk of deadlock.
- Pipeline can run asynchronously or block until completion.
- Popen-style File-like objects for reading or writing a pipeline.
- Documentation: https://pipettor.readthedocs.org.