pipettor


Namepipettor JSON
Version 1.0.0 PyPI version JSON
download
home_pagehttps://github.com/diekhans/pipettor
Summarypipettor - robust, easy to use Unix process pipelines
upload_time2023-06-29 23:20:48
maintainer
docs_urlNone
authorMark Diekhans
requires_python>=3.7
licenseMIT
keywords unix process pipe
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI
coveralls test coverage No coveralls.
            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.

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/diekhans/pipettor",
    "name": "pipettor",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.7",
    "maintainer_email": "",
    "keywords": "Unix,process,pipe",
    "author": "Mark Diekhans",
    "author_email": "markd@ucsc.edu",
    "download_url": "https://files.pythonhosted.org/packages/cf/89/280b4b62215b9cd3055cce365a59ad1da5a6437b3fb445884010369125e5/pipettor-1.0.0.tar.gz",
    "platform": null,
    "description": "Pipettor Overview\n=================\n\npipettor - robust, easy to use Python package for running Unix process pipelines\n\nFeatures\n--------\n\n* Creating process pipelines in Python is either complex (e.g. ``subprocess``),\n  or not robust (e.g. ``os.system()``).  This package aims to address these shortcomings.\n* Command pipelines are simply specified as a sequence of commands, with each\n  command represented as a sequence of arguments.\n* Failure of any process in the pipeline results in an exception, with ``stderr``\n  included in the exception.\n* Pipeline ``stdin/stdout/stderr`` can be passed through from parent process,\n  redirected to a file, or read/written by the parent process.\n* Asynchronous reading and writing to and from the pipeline maybe done without risk of\n  deadlock.\n* Pipeline can run asynchronously or block until completion.\n* Popen-style File-like objects for reading or writing a pipeline.\n* Documentation: https://pipettor.readthedocs.org.\n\n\n\n\n\nHistory\n=======\n\n1.0.0 (2023-06-29)\n-----------------\n* 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.\n  \n\n0.8.0 (2023-02-05)\n-----------------\n* make most optional arguments require keyword form to help prevent errors, especially if open() options are assumed\n* added more functions to make Popen objects file-like objects\n\n0.7.0 (2023-01-06)\n-----------------\n* don't fail if invalid UTF-8 characters are written to capture stderr\n\n0.6.0 (2022-11-16)\n-----------------\n* remove use of deprecated pipes module\n\n0.5.0 (2020-12-25)\n-----------------\n* Removed Python-2 support.\n* Switch to using subprocess as a base rather interface directly\n  with Unix system calls.  This lets subprocess deal with\n  various issues dealing with the Python interpreter environment.  \n\n0.4.0 (2018-04-21)\n------------------\n* Allow passing through universial newline mode for PY2.\n* Fix bug with not using specified log level.\n\n\n0.3.0 (2018-02-25)\n-----------------------\n* added open-stying buffering, encoding, and errors options\n* source cleanup\n\n0.2.0 (2017-09-19)\n-----------------------\n* Simplified and log of info and errors levels by removing logLevel options.\n* Improvements to documentation.\n\n0.1.3 (2017-06-13)\n------------------\n* Documentation fixes\n\n0.1.2 (2017-06-11)\n------------------\n* First public release on PyPI.\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "pipettor - robust, easy to use Unix process pipelines",
    "version": "1.0.0",
    "project_urls": {
        "Homepage": "https://github.com/diekhans/pipettor"
    },
    "split_keywords": [
        "unix",
        "process",
        "pipe"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "83b7c8447d244c73f29767726b1cf03f2660faa503c45109a08fc697f451d2be",
                "md5": "1263a0ace3eca567f90b65a035c257b1",
                "sha256": "7ce9d46195a37540f6c4a262ec028430daf8a8e85ee8793271c8c1bf5768b5e8"
            },
            "downloads": -1,
            "filename": "pipettor-1.0.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "1263a0ace3eca567f90b65a035c257b1",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.7",
            "size": 15324,
            "upload_time": "2023-06-29T23:20:46",
            "upload_time_iso_8601": "2023-06-29T23:20:46.976540Z",
            "url": "https://files.pythonhosted.org/packages/83/b7/c8447d244c73f29767726b1cf03f2660faa503c45109a08fc697f451d2be/pipettor-1.0.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "cf89280b4b62215b9cd3055cce365a59ad1da5a6437b3fb445884010369125e5",
                "md5": "64213f8b07792474a0abf84fac8ac140",
                "sha256": "637113cae20c9b295277929d4bd0e4832d74564eb393e90a0beeb7c8ad3b0a84"
            },
            "downloads": -1,
            "filename": "pipettor-1.0.0.tar.gz",
            "has_sig": false,
            "md5_digest": "64213f8b07792474a0abf84fac8ac140",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7",
            "size": 34830,
            "upload_time": "2023-06-29T23:20:48",
            "upload_time_iso_8601": "2023-06-29T23:20:48.370400Z",
            "url": "https://files.pythonhosted.org/packages/cf/89/280b4b62215b9cd3055cce365a59ad1da5a6437b3fb445884010369125e5/pipettor-1.0.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-06-29 23:20:48",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "diekhans",
    "github_project": "pipettor",
    "travis_ci": true,
    "coveralls": false,
    "github_actions": false,
    "tox": true,
    "lcname": "pipettor"
}
        
Elapsed time: 0.25017s