pipettor - robust, easy to use Unix process pipelines
Project description
Pipettor Overview
pipettor - robust, easy to use Python package for running Unix process pipelines
Features
- 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.
History
1.0.0 (2023-06-29)
- Don't use a process group; as it caused signals to not get propagated. Processes are explicitly waited for by pid, so this will not consume the exit of other process not create by this module.
0.8.0 (2023-02-05)
- make most optional arguments require keyword form to help prevent errors, especially if open() options are assumed
- added more functions to make Popen objects file-like objects
0.7.0 (2023-01-06)
- don't fail if invalid UTF-8 characters are written to capture stderr
0.6.0 (2022-11-16)
- remove use of deprecated pipes module
0.5.0 (2020-12-25)
- Removed Python-2 support.
- Switch to using subprocess as a base rather interface directly with Unix system calls. This lets subprocess deal with various issues dealing with the Python interpreter environment.
0.4.0 (2018-04-21)
- Allow passing through universial newline mode for PY2.
- Fix bug with not using specified log level.
0.3.0 (2018-02-25)
- added open-stying buffering, encoding, and errors options
- source cleanup
0.2.0 (2017-09-19)
- Simplified and log of info and errors levels by removing logLevel options.
- Improvements to documentation.
0.1.3 (2017-06-13)
- Documentation fixes
0.1.2 (2017-06-11)
- First public release on PyPI.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
pipettor-1.0.0.tar.gz
(34.8 kB
view details)
Built Distribution
pipettor-1.0.0-py3-none-any.whl
(15.3 kB
view details)
File details
Details for the file pipettor-1.0.0.tar.gz
.
File metadata
- Download URL: pipettor-1.0.0.tar.gz
- Upload date:
- Size: 34.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 637113cae20c9b295277929d4bd0e4832d74564eb393e90a0beeb7c8ad3b0a84 |
|
MD5 | 64213f8b07792474a0abf84fac8ac140 |
|
BLAKE2b-256 | cf89280b4b62215b9cd3055cce365a59ad1da5a6437b3fb445884010369125e5 |
File details
Details for the file pipettor-1.0.0-py3-none-any.whl
.
File metadata
- Download URL: pipettor-1.0.0-py3-none-any.whl
- Upload date:
- Size: 15.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7ce9d46195a37540f6c4a262ec028430daf8a8e85ee8793271c8c1bf5768b5e8 |
|
MD5 | 1263a0ace3eca567f90b65a035c257b1 |
|
BLAKE2b-256 | 83b7c8447d244c73f29767726b1cf03f2660faa503c45109a08fc697f451d2be |