{ "info": { "author": "edA-qa mort-ora-y", "author_email": "eda-qa@disemia.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Console", "Intended Audience :: Developers", "License :: OSI Approved :: GNU General Public License v3 (GPLv3)", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 3", "Topic :: Software Development :: Build Tools", "Topic :: System", "Topic :: Terminals" ], "description": "shelljob\n========\n\nThis provides a clean way to execute subprocesses, either one or\nmultiple in parallel, capture their output and monitor progress:\n\n- Single sub process ``call`` with optional timeout\n- High level ``FileMonitor`` to execute several processes in parallel\n and store output in a file\n- Low level ``Group`` execution to execute jobs in parallel and capture\n output\n\nAdditional tools for working with the filesystem are also included:\n\n- ``find`` which offers much of the functionality of the shell find\n utility\n- ``shelljob.fs.NamedTempFile`` provides a *with* block wrapper for\n temporary named files\n\n NOTE: Only the Python 3 form is now maintained. The Python 2 is\n still included for backwards compatibility but will not likely get\n new features.\n\nParallel Subprocesses\n=====================\n\nUsing the Job system is the quickest approach to just run processes and\nlog their output (by default in files named '/tmp/job\\_ID.log')\n\n::\n\n from shelljob import job\n\n jm = job.FileMonitor()\n jm.run([\n [ 'ls', '-alR', '/usr/local' ],\n 'my_prog',\n 'build output input',\n ])\n\nAn array will passed directly to ``subprocess.Popen``, a string is first\nparsed with ``shlex.split``.\n\nThe lower level ``Group`` class provides a simple container for more\nmanual job management.\n\n::\n\n from shelljob import proc\n\n g = proc.Group()\n p1 = g.run( [ 'ls', '-al', '/usr/local' ] )\n p2 = g.run( [ 'program', 'arg1', 'arg2' ] )\n\n while g.is_pending():\n lines = g.readlines()\n for proc, line in lines:\n sys.stdout.write( \"{}:{}\".format( proc.pid, line ) )\n\nSimple Subprocess calls\n=======================\n\nA simplified ``call`` function allows timeouts on subprocesses and easy\nacces to their output.\n\n::\n\n from shelljob import proc\n\n # capture the output\n output = proc.call( 'ls /tmp' )\n # this raises a proc.Timeout exception\n proc.call( 'sleep 10', timeout = 0.1 )\n\nFind\n====\n\nThe 'find' funtion is a multi-faceted approach to generating listings of\nfiles.\n\n::\n\n from shelljob import fs\n\n files = fs.find( '/usr/local', name_regex = '.*\\\\.so' )\n print( \"\\n\".join(files) )\n\nRefer to the `API docs `__ for all\nparameters. Just let me know if there is some additional option you\nneed.\n\nIssues\n======\n\nYou can use my `Launchpad\nproject `__ to submit issues.", "description_content_type": null, "docs_url": "https://pythonhosted.org/shelljob/", "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://pypi.python.org/pypi/shelljob", "keywords": null, "license": "GPLv3", "maintainer": null, "maintainer_email": null, "name": "shelljob", "package_url": "https://pypi.org/project/shelljob/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/shelljob/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://pypi.python.org/pypi/shelljob" }, "release_url": "https://pypi.org/project/shelljob/0.5.6/", "requires_dist": null, "requires_python": null, "summary": "Run multiple subprocesses asynchronous/in parallel with streamed output/non-blocking reading. Also various tools to replace shell scripts.", "version": "0.5.6" }, "last_serial": 2870707, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "331faba6b91ec5f7e8207877dae5d7cc", "sha256": "11429fc508a1c195cef161d1c5e8b8d9c22371dc1fb46d4bbc5df0db425dbcf6" }, "downloads": -1, "filename": "shelljob-0.1.0.tar.gz", "has_sig": false, "md5_digest": "331faba6b91ec5f7e8207877dae5d7cc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4885, "upload_time": "2013-10-30T16:53:40", "url": "https://files.pythonhosted.org/packages/26/9f/bc08787ef3d541311a114489faadd49f4172ec74357259a5a4714b580223/shelljob-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "215abf90f4cf34c1d11b42c281602ebe", "sha256": "f968ce5b7d91a91eefe7096ee49bf57f78093ca5a5f2d378a0b020bf6c4f12bc" }, "downloads": -1, "filename": "shelljob-0.1.1.tar.gz", "has_sig": false, "md5_digest": "215abf90f4cf34c1d11b42c281602ebe", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5180, "upload_time": "2013-10-30T17:01:21", "url": "https://files.pythonhosted.org/packages/7b/12/080306f63bbe948c20ace946b04d6137bcc8145d3e83d145f896dda30aa2/shelljob-0.1.1.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "e60a05a7acc8b338ab9daa411683fb0b", "sha256": "9ac1e08d954e6d61cad117bc3e6350c415404e88d82d81c931250c6844239285" }, "downloads": -1, "filename": "shelljob-0.2.0.tar.gz", "has_sig": false, "md5_digest": "e60a05a7acc8b338ab9daa411683fb0b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5778, "upload_time": "2013-10-30T18:26:41", "url": "https://files.pythonhosted.org/packages/e0/2a/629bbcfd78d29eebb4f5101d0831882fc5b90feabc5b3fb2bf965c9fbc24/shelljob-0.2.0.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "0d93e1ab82e1997076339d8d598735d5", "sha256": "164f7cc2d399f14f000bb098710583eae5a7af5f4a1ba13dba8b09d5374d1df4" }, "downloads": -1, "filename": "shelljob-0.3.0.tar.gz", "has_sig": false, "md5_digest": "0d93e1ab82e1997076339d8d598735d5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7105, "upload_time": "2013-10-31T09:02:02", "url": "https://files.pythonhosted.org/packages/25/30/4704cb34dfa1acdd5bdeb161b33130eb8ec3866c0579973fe8e42e135ac9/shelljob-0.3.0.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "98c5925427bca1ec19f1f805abc09732", "sha256": "dccb7f789464e940ae1b47d2e589efa6a5ded895284a81af12adcd6305a85688" }, "downloads": -1, "filename": "shelljob-0.3.1.tar.gz", "has_sig": false, "md5_digest": "98c5925427bca1ec19f1f805abc09732", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7119, "upload_time": "2013-10-31T09:03:55", "url": "https://files.pythonhosted.org/packages/2c/75/c70b3467019760caa1f8510a38818a6655bd66caa0057b3c553c99281863/shelljob-0.3.1.tar.gz" } ], "0.3.2": [ { "comment_text": "", "digests": { "md5": "a012109daff4e968dbc0d9749c94bbae", "sha256": "a468bbaabd31bcdcf1369d2159dca16c06f59f3b7a2038fca86a988b9cf6e84c" }, "downloads": -1, "filename": "shelljob-0.3.2.tar.gz", "has_sig": false, "md5_digest": "a012109daff4e968dbc0d9749c94bbae", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 47174, "upload_time": "2013-10-31T09:28:53", "url": "https://files.pythonhosted.org/packages/66/46/58ccf55fc9ade179a711680043195bbd4b61f7be68d391a8f9c77cb0d841/shelljob-0.3.2.tar.gz" } ], "0.3.4": [ { "comment_text": "", "digests": { "md5": "41bf90e941a35f77a2bf57fb5d6f6a80", "sha256": "eda70be1504dfd4a8fa797f20afdf8813add26cf84ab485bdd9b76a902ef4590" }, "downloads": -1, "filename": "shelljob-0.3.4.tar.gz", "has_sig": false, "md5_digest": "41bf90e941a35f77a2bf57fb5d6f6a80", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 48445, "upload_time": "2013-10-31T10:01:45", "url": "https://files.pythonhosted.org/packages/59/31/de3c061e6cfd09da976d8875776bd44c6aba9366bbecb8184210b9f46784/shelljob-0.3.4.tar.gz" } ], "0.3.5": [ { "comment_text": "", "digests": { "md5": "12a2c58832febd5a32540f3f20c7bffc", "sha256": "4b28c19c356b8228c139761953ff74c8bd84ea93fda24fa700891867005eb145" }, "downloads": -1, "filename": "shelljob-0.3.5.tar.gz", "has_sig": false, "md5_digest": "12a2c58832febd5a32540f3f20c7bffc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 49474, "upload_time": "2013-12-10T06:24:29", "url": "https://files.pythonhosted.org/packages/a9/d6/da490a00ca74a7a4e6999096695e03f822fac50141c9f5a3bb41f99ace3b/shelljob-0.3.5.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "05442304ca05231b1f0d935ace1abb3c", "sha256": "97ce120b48721db2fa88c8ca4a9d52ba7d9056a168bf0dc6e845a0c107ccbad4" }, "downloads": -1, "filename": "shelljob-0.4.0.tar.gz", "has_sig": false, "md5_digest": "05442304ca05231b1f0d935ace1abb3c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 53365, "upload_time": "2014-02-03T09:13:46", "url": "https://files.pythonhosted.org/packages/72/c8/b8d9747f8a4f2f9d7490f4ee3dffe8db57ca7c6d88e11616c8f80849ca0a/shelljob-0.4.0.tar.gz" } ], "0.4.1": [ { "comment_text": "", "digests": { "md5": "997c81cc6d7a50f37b5bc9e595ed27f1", "sha256": "649831e4bdaae8cbb6baede22de5db9294e098d4fd7455e06c04be790851a751" }, "downloads": -1, "filename": "shelljob-0.4.1.tar.gz", "has_sig": false, "md5_digest": "997c81cc6d7a50f37b5bc9e595ed27f1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 53388, "upload_time": "2014-02-03T09:19:09", "url": "https://files.pythonhosted.org/packages/db/b7/14b3b054ffac9add2e85ca6c01c94883066c5cf8f9d7abd06f1f2592359f/shelljob-0.4.1.tar.gz" } ], "0.4.2": [ { "comment_text": "", "digests": { "md5": "69700ce4edf329934b5b0ffbd26ae66c", "sha256": "ded10f212659ebeb93e2cd11bd0e3b89babbdd3e005badd09ca9fb20cf88cf78" }, "downloads": -1, "filename": "shelljob-0.4.2.tar.gz", "has_sig": false, "md5_digest": "69700ce4edf329934b5b0ffbd26ae66c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 53474, "upload_time": "2014-02-07T13:12:14", "url": "https://files.pythonhosted.org/packages/8e/00/3ab6c32d03994bad132c50f5452ce258cd66cafee315a9612a542e04aa44/shelljob-0.4.2.tar.gz" } ], "0.4.3": [ { "comment_text": "", "digests": { "md5": "5cc4e4bec1fc9378afbc4fffcd374e99", "sha256": "f2a55b3735d0eb887864a0ff98ede7a09380fec5a1c490f04addf46d328eb1b6" }, "downloads": -1, "filename": "shelljob-0.4.3.tar.gz", "has_sig": false, "md5_digest": "5cc4e4bec1fc9378afbc4fffcd374e99", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 54559, "upload_time": "2014-03-26T05:31:15", "url": "https://files.pythonhosted.org/packages/04/f7/29d386846b3551621604e8afad5a6f34aeb55ec5bc7d30b38f424ce7a7f8/shelljob-0.4.3.tar.gz" } ], "0.4.4": [ { "comment_text": "", "digests": { "md5": "8db4c53950c315a8a21095d5d559d3cf", "sha256": "b43cdf4c7c378fec08fc76177635f3d8b6655fb4d6a5f575c324f5085d0586ce" }, "downloads": -1, "filename": "shelljob-0.4.4.tar.gz", "has_sig": false, "md5_digest": "8db4c53950c315a8a21095d5d559d3cf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 57415, "upload_time": "2014-05-01T03:07:16", "url": "https://files.pythonhosted.org/packages/3f/81/21ff904abe68dc2e00184fb658fa7f9eca6f690a9737b155f96ee662e259/shelljob-0.4.4.tar.gz" } ], "0.5.5": [ { "comment_text": "", "digests": { "md5": "277518d2beccce79c91d13d0e6e5d3da", "sha256": "7c72e84bcb2f9874d8ecf232be94aafcbca65872197334c559db8d19769ed904" }, "downloads": -1, "filename": "shelljob-0.5.5.tar.gz", "has_sig": false, "md5_digest": "277518d2beccce79c91d13d0e6e5d3da", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 228817, "upload_time": "2017-01-22T14:45:37", "url": "https://files.pythonhosted.org/packages/49/07/be0c7f5633af4eee1cfa4edbe214019737ebf7a49f0da29d14be7e8d463f/shelljob-0.5.5.tar.gz" } ], "0.5.6": [ { "comment_text": "", "digests": { "md5": "a3354810a7a480d2aa6043ab93a607c8", "sha256": "0466b5227f59ff7b44f03e76bd025f80fd21a5fac2622312758d96e732e3c73f" }, "downloads": -1, "filename": "shelljob-0.5.6.tar.gz", "has_sig": false, "md5_digest": "a3354810a7a480d2aa6043ab93a607c8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 228952, "upload_time": "2017-05-13T03:39:01", "url": "https://files.pythonhosted.org/packages/7f/c4/3f1393d9960dd11b85e96a640a7587ce5bf65d75773fec82a744ba52add7/shelljob-0.5.6.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "a3354810a7a480d2aa6043ab93a607c8", "sha256": "0466b5227f59ff7b44f03e76bd025f80fd21a5fac2622312758d96e732e3c73f" }, "downloads": -1, "filename": "shelljob-0.5.6.tar.gz", "has_sig": false, "md5_digest": "a3354810a7a480d2aa6043ab93a607c8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 228952, "upload_time": "2017-05-13T03:39:01", "url": "https://files.pythonhosted.org/packages/7f/c4/3f1393d9960dd11b85e96a640a7587ce5bf65d75773fec82a744ba52add7/shelljob-0.5.6.tar.gz" } ] }