{ "info": { "author": "Andre Caron", "author_email": "andre.l.caron@gmail.com", "bugtrack_url": null, "classifiers": [], "description": "########################################\n runwith: poor man's shell operations\n########################################\n\nDescription\n===========\n\nThis Python library was created to use shell-like input/output direction in a\ncontext where the execution environment doesn't support shell syntax. It\nprovides a ``runwith`` executable that executes the command of your choice as a\nsub-process in an execution environment prepared according to your desires.\n\nThe original use case is for use of Tox_ as a task runner. Since Tox uses a\nlimited subset of shell capabilities and developers are not interested in\nenhancing them (see `Capturing output from commands`_), I had to wrap some kind\nof wrapper script. I rapidly started reusing in other projects and making it\navailable on PyPI_ makes it easy to use like this::\n\n [testenv]\n deps =\n runwith\n commands =\n runwith -o foo.log -- foo\n\n.. _Tox: https://tox.readthedocs.io/\n.. _`Capturing output from commands`: http://comments.gmane.org/gmane.comp.python.testing.general/6709\n.. _PyPI: https://pypi.python.org/pypi\n\n\n", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/AndreLouisCaron/runwith", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "runwith", "package_url": "https://pypi.org/project/runwith/", "platform": "", "project_url": "https://pypi.org/project/runwith/", "project_urls": { "Homepage": "https://github.com/AndreLouisCaron/runwith" }, "release_url": "https://pypi.org/project/runwith/0.1.0/", "requires_dist": null, "requires_python": "", "summary": "Poor man's shell operations", "version": "0.1.0" }, "last_serial": 2987921, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "f34a9a227ce9180a28266996fdb09d37", "sha256": "186d12e42cce99343a9527fcfe74e7d53e272543ca0c4cf297d7de25bbae5c48" }, "downloads": -1, "filename": "runwith-0.1.0-py2-none-any.whl", "has_sig": false, "md5_digest": "f34a9a227ce9180a28266996fdb09d37", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 4675, "upload_time": "2017-06-29T16:19:50", "url": "https://files.pythonhosted.org/packages/3b/16/be94b6d546dd4684020ba37a2a440bea38f51463ae9c8bd25808cb8395c5/runwith-0.1.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9bee45cd63115f21f0048a436c572b2c", "sha256": "73795f34a736f09459865f6d3a9c8e0ae0bdf627ae90c5fde48794a36e73b7c6" }, "downloads": -1, "filename": "runwith-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "9bee45cd63115f21f0048a436c572b2c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4675, "upload_time": "2017-06-29T16:19:51", "url": "https://files.pythonhosted.org/packages/39/43/e51b8f106d434a8c6ca3279187c9e4065f2205304f4fef438bdd5355be0d/runwith-0.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "952092cfdb84ec8bffe64da1bf022202", "sha256": "09fd92763ebaabc11d6018ba5c0979d0ebac7d71448d715861b66fe842b6f2ba" }, "downloads": -1, "filename": "runwith-0.1.0.tar.gz", "has_sig": false, "md5_digest": "952092cfdb84ec8bffe64da1bf022202", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2809, "upload_time": "2017-06-29T16:19:52", "url": "https://files.pythonhosted.org/packages/9a/7e/767da7600aa5dc9737217ff4fae23dd38e20756d463d968651d601926c79/runwith-0.1.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "f34a9a227ce9180a28266996fdb09d37", "sha256": "186d12e42cce99343a9527fcfe74e7d53e272543ca0c4cf297d7de25bbae5c48" }, "downloads": -1, "filename": "runwith-0.1.0-py2-none-any.whl", "has_sig": false, "md5_digest": "f34a9a227ce9180a28266996fdb09d37", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 4675, "upload_time": "2017-06-29T16:19:50", "url": "https://files.pythonhosted.org/packages/3b/16/be94b6d546dd4684020ba37a2a440bea38f51463ae9c8bd25808cb8395c5/runwith-0.1.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9bee45cd63115f21f0048a436c572b2c", "sha256": "73795f34a736f09459865f6d3a9c8e0ae0bdf627ae90c5fde48794a36e73b7c6" }, "downloads": -1, "filename": "runwith-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "9bee45cd63115f21f0048a436c572b2c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4675, "upload_time": "2017-06-29T16:19:51", "url": "https://files.pythonhosted.org/packages/39/43/e51b8f106d434a8c6ca3279187c9e4065f2205304f4fef438bdd5355be0d/runwith-0.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "952092cfdb84ec8bffe64da1bf022202", "sha256": "09fd92763ebaabc11d6018ba5c0979d0ebac7d71448d715861b66fe842b6f2ba" }, "downloads": -1, "filename": "runwith-0.1.0.tar.gz", "has_sig": false, "md5_digest": "952092cfdb84ec8bffe64da1bf022202", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2809, "upload_time": "2017-06-29T16:19:52", "url": "https://files.pythonhosted.org/packages/9a/7e/767da7600aa5dc9737217ff4fae23dd38e20756d463d968651d601926c79/runwith-0.1.0.tar.gz" } ] }