Skip to main content

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


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)

Uploaded Source

Built Distribution

pipettor-1.0.0-py3-none-any.whl (15.3 kB view details)

Uploaded Python 3

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

Hashes for pipettor-1.0.0.tar.gz
Algorithm Hash digest
SHA256 637113cae20c9b295277929d4bd0e4832d74564eb393e90a0beeb7c8ad3b0a84
MD5 64213f8b07792474a0abf84fac8ac140
BLAKE2b-256 cf89280b4b62215b9cd3055cce365a59ad1da5a6437b3fb445884010369125e5

See more details on using hashes here.

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

Hashes for pipettor-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7ce9d46195a37540f6c4a262ec028430daf8a8e85ee8793271c8c1bf5768b5e8
MD5 1263a0ace3eca567f90b65a035c257b1
BLAKE2b-256 83b7c8447d244c73f29767726b1cf03f2660faa503c45109a08fc697f451d2be

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page