{ "info": { "author": "Guilherme Quentel Melo", "author_email": "gqmelo@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "Operating System :: OS Independent", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7" ], "description": "=============\nexec-wrappers\n=============\n\n.. image:: https://img.shields.io/pypi/v/exec-wrappers.svg\n :target: https://pypi.python.org/pypi/exec-wrappers\n\n.. image:: https://img.shields.io/pypi/pyversions/exec-wrappers.svg\n :target: https://pypi.python.org/pypi/exec-wrappers\n\n.. image:: https://img.shields.io/pypi/l/exec-wrappers.svg\n :target: https://pypi.python.org/pypi/exec-wrappers\n\n.. image:: https://travis-ci.org/gqmelo/exec-wrappers.svg?branch=master\n :target: https://travis-ci.org/gqmelo/exec-wrappers\n :alt: See Build Status on Travis CI\n\n.. image:: https://ci.appveyor.com/api/projects/status/github/gqmelo/exec-wrappers?branch=master\n :target: https://ci.appveyor.com/project/gqmelo/exec-wrappers/branch/master\n :alt: See Build Status on AppVeyor\n\n.. image:: https://codecov.io/gh/gqmelo/exec-wrappers/branch/master/graph/badge.svg\n :target: https://codecov.io/gh/gqmelo/exec-wrappers\n\n.. image:: https://img.shields.io/badge/code%20style-black-000000.svg\n :target: https://github.com/ambv/black\n\nA command line tool to create wrappers around executable files\n\nRationale\n---------\n\n``exec-wrappers`` is useful whenever you need a single executable file, but have to do some setup\nbefore executing it.\n\nIf you develop using some kind of environment isolation like ``conda``, ``schroot``,\n``virtualenv`` you probably wanted to configure a GUI application like an IDE to use the executables\navailable inside these environments.\n\nBut you normally have to create a script that do some setup/activation step and then run the command\nbut creating such a script for each executable is tedious.\n\n``exec-wrappers`` helps automating that as it detects executable files and create a wrapper for each\nof them. It also already provides some wrappers for common tools.\n\nAlso, as the wrappers are intended to be used non-interactively, they are normally much simpler than\nthe interactive counterpart.\n\nFor example, the conda wrappers are much faster than doing an activate and executing the command:\n\n- Regular activate:\n\n.. code-block:: bash\n\n $ echo 'source activate test 2> /dev/null; \"$@\"' > /tmp/activate-and-run && chmod a+x /tmp/activate-and-run\n $ time /tmp/activate-and-run python --version\n Python 2.7.11 :: Continuum Analytics, Inc.\n\n real 0m0.354s\n user 0m0.288s\n sys 0m0.040s\n\n- Using python wrapper created by ``exec-wrappers``:\n\n.. code-block:: bash\n\n $ time /tmp/conda_wrappers/python --version\n Python 2.7.11 :: Continuum Analytics, Inc.\n\n real 0m0.003s\n user 0m0.000s\n sys 0m0.000s\n\nHaving a low overhead is very important if you are executing the command non-interactively.\n\nFeatures\n--------\n\n- automatically detect executables in a given directory\n- wrappers written in plain shell and batch scripts\n- low overhead (as low as possible)\n- built-in wrappers for common tools\n\n\nRequirements\n------------\n\n``python`` is the only dependency to create wrappers.\nTo properly use the generated wrappers you need the tool used by the wrapper (conda, schroot, etc.).\n\n\nInstallation\n------------\n\n.. code-block::\n\n $ python setup.py install\n\n\nHow it works\n------------\n\nCreating `conda`_ wrappers:\n\n.. code-block:: bash\n\n $ create-wrappers -t conda --bin-dir ~/miniconda/envs/test/bin --dest-dir /tmp/conda_wrappers --conda-env-dir ~/miniconda/envs/test\n\nThis will create in ``/tmp/conda_wrappers`` a wrapper for each executable found in\n``~/miniconda/envs/test/bin``.\nSo if you run the python wrapper:\n\n.. code-block:: bash\n\n $ /tmp/conda_wrappers/python -c \"import sys; print(sys.executable)\"\n /home/username/miniconda/envs/test/bin/python\n\nIt will actually activate the conda environment and set necessary variables, and then execute the\nreal ``python`` interpreter. So you can use the wrapper to configure you IDE, for example.\n\nAlso a ``run-in`` script will be created, which you can use to run any arbitrary command:\n\n.. code-block:: bash\n\n $ /tmp/conda_wrappers/run-in bash -c 'echo $CONDA_DEFAULT_ENV'\n /home/username/miniconda/envs/test\n\n\nExamples\n--------\n\n- conda:\n\n.. code-block:: bash\n\n $ create-wrappers -t conda -b ~/miniconda/envs/test/bin -d /tmp/conda_wrappers --conda-env-dir ~/miniconda/envs/test\n\n\n- virtualenv:\n\n.. code-block:: bash\n\n $ create-wrappers -t virtualenv -b ~/python3-env/bin -d /tmp/virtualenv_wrappers --virtual-env-dir ~/python3-env\n\n\n- schroot:\n\n.. code-block:: bash\n\n $ create-wrappers -t schroot -b ~/chroots/centos5/bin -d /tmp/schroot_wrappers --schroot-name centos5\n\n.. code-block:: bash\n\n $ create-wrappers -t schroot -b ~/chroots/centos5/bin -d /tmp/schroot_wrappers --schroot-name centos5 --schroot-options=\"-p -d /\"\n\n\n- custom:\n\n.. code-block:: bash\n\n $ echo -e '#!/bin/sh\\necho \"$@\"' > /tmp/custom-script && chmod a+x /tmp/custom-script\n $ create-wrappers -t custom --custom-script=/tmp/custom-script -b /usr/bin -d /tmp/custom_wrappers\n\n\n- wrap only specified files:\n\n.. code-block:: bash\n\n $ create-wrappers -t schroot -f gcc:gdb -d /tmp/schroot_wrappers --schroot-name centos5\n\n\n- chain multiple wrappers:\n\n.. code-block:: bash\n\n $ create-wrappers -t conda -b ~/miniconda/envs/test/bin -d /tmp/conda_wrappers --conda-env-dir ~/miniconda/envs/test\n $ create-wrappers -t schroot -b /tmp/conda_wrappers -d /tmp/schroot_wrappers --schroot-name centos5\n\n\nLicense\n-------\n\nDistributed under the terms of the `MIT`_ license, ``exec-wrappers`` is free and open source software\n\n\nIssues\n------\n\nIf you encounter any problems, please `file an issue`_ along with a detailed description.\n\n.. _`MIT`: http://opensource.org/licenses/MIT\n.. _`file an issue`: https://github.com/gqmelo/exec-wrappers/issues\n.. _`conda`: http://conda.pydata.org/miniconda.html\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/gqmelo/exec-wrappers", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "exec-wrappers", "package_url": "https://pypi.org/project/exec-wrappers/", "platform": "", "project_url": "https://pypi.org/project/exec-wrappers/", "project_urls": { "Homepage": "https://github.com/gqmelo/exec-wrappers" }, "release_url": "https://pypi.org/project/exec-wrappers/1.1.3/", "requires_dist": null, "requires_python": "", "summary": "wrappers for running commands that need some initial setup", "version": "1.1.3" }, "last_serial": 5007536, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "1f8edccc0331db5d51684075e874f773", "sha256": "0fac8cfe8e9523144d457c264903dad95407d2f638edb633607b6e4c29166ae1" }, "downloads": -1, "filename": "exec_wrappers-0.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "1f8edccc0331db5d51684075e874f773", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 10279, "upload_time": "2016-05-20T15:47:55", "url": "https://files.pythonhosted.org/packages/53/a6/dd81933faa32784c5ebc7730c05fa32d6048ea8455e44a249f4e120e2df3/exec_wrappers-0.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "84433d4831ba8ce758e44f5448395da0", "sha256": "80628807d4f64333d11e437c5fe24d9a12e8582f0569c506b9e95f18c67c5d60" }, "downloads": -1, "filename": "exec-wrappers-0.1.0.tar.gz", "has_sig": false, "md5_digest": "84433d4831ba8ce758e44f5448395da0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7062, "upload_time": "2016-05-20T15:48:15", "url": "https://files.pythonhosted.org/packages/aa/08/e5e458bf948c988fcd5b7b73d62888a379dfa0d22eb62c1fd2e5a58298a1/exec-wrappers-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "878061cbcc2b660d757062968ce55745", "sha256": "cd0ab5c246a9c032ccdbd5b78fbdb7cccdd4fbd978bd90661eada65c1aeeb459" }, "downloads": -1, "filename": "exec_wrappers-0.1.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "878061cbcc2b660d757062968ce55745", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 10385, "upload_time": "2016-05-25T14:43:39", "url": "https://files.pythonhosted.org/packages/ea/cd/7c0de38eababe5715a96f7de495fca0d38dfdeb31ecae367aea48a6f0256/exec_wrappers-0.1.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d6b900c19f18c451708c1fbb14a1d5f0", "sha256": "7812177c47427c2502467740a19ee1d6eb77d007d542f385c6e66ca43ae3afa5" }, "downloads": -1, "filename": "exec-wrappers-0.1.1.tar.gz", "has_sig": false, "md5_digest": "d6b900c19f18c451708c1fbb14a1d5f0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7133, "upload_time": "2016-05-25T14:44:14", "url": "https://files.pythonhosted.org/packages/36/e6/d5f8442a841ef49f929559425c18f686a9504cf36833660f4154ea43f066/exec-wrappers-0.1.1.tar.gz" } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "c03dff8f2a71e48e735717ca0852647d", "sha256": "5276bc48ca5640b38ab0090a54a5231040478d3a269c136c942e095612c18653" }, "downloads": -1, "filename": "exec_wrappers-1.0.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "c03dff8f2a71e48e735717ca0852647d", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 10652, "upload_time": "2016-07-27T17:17:59", "url": "https://files.pythonhosted.org/packages/b5/ed/34ed6e60a403eb3386ca3ee145aa1d4bb2c1a72b29f4493bc5c1d76e3f6a/exec_wrappers-1.0.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ba5271d973275c83db188b8a28b6770d", "sha256": "281a405b33bff853745f46408cc80bb3105609c12454fb71bc378dbe8e0419c4" }, "downloads": -1, "filename": "exec-wrappers-1.0.0.tar.gz", "has_sig": false, "md5_digest": "ba5271d973275c83db188b8a28b6770d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7347, "upload_time": "2016-07-27T17:18:01", "url": "https://files.pythonhosted.org/packages/31/8b/d6dae3073833566ef3d8cf6a73a451fe776b23c3c3f327b4654720c628af/exec-wrappers-1.0.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "9245c639309d597810fe058b108a79e8", "sha256": "d7c5d22fd5a6caf30ca1022246f44ee2a7336b71fbe777def8cd219ad0d8b233" }, "downloads": -1, "filename": "exec_wrappers-1.0.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "9245c639309d597810fe058b108a79e8", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 10654, "upload_time": "2016-08-11T17:07:02", "url": "https://files.pythonhosted.org/packages/18/75/48dae860a8ca1ddd6801950a4d1c4791c60bcee4cce97df9ff4a3c67c048/exec_wrappers-1.0.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4f827c7e53f0a6c01e91681c50bb92c9", "sha256": "388da53f32c3fc6d15f83dacb110afa697d85d14a4a50f2ab281221c830c691e" }, "downloads": -1, "filename": "exec-wrappers-1.0.1.tar.gz", "has_sig": false, "md5_digest": "4f827c7e53f0a6c01e91681c50bb92c9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7345, "upload_time": "2016-08-11T17:07:05", "url": "https://files.pythonhosted.org/packages/c7/28/a957ab312d4c691a4ec4c5dddfdd897e231d4aa14b8e053a4923fe23563a/exec-wrappers-1.0.1.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "65f2e482cdbd429de3935a9abe8861c4", "sha256": "bc26d7353d0d97e5970778fa6ed830c717263465618304ace114891e0c2b26c6" }, "downloads": -1, "filename": "exec_wrappers-1.0.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "65f2e482cdbd429de3935a9abe8861c4", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 10717, "upload_time": "2016-09-29T22:48:42", "url": "https://files.pythonhosted.org/packages/3d/bb/1afad345f0360b73b01c16b13e1df63f82e1794acd058bd5805c0b327dce/exec_wrappers-1.0.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7c9717ee16dc9a689fdfcc55905a2db6", "sha256": "9343a1091f7d76a16bfc74719cf19806e5c81312a5067915a223a5286dce2b37" }, "downloads": -1, "filename": "exec-wrappers-1.0.2.tar.gz", "has_sig": false, "md5_digest": "7c9717ee16dc9a689fdfcc55905a2db6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7403, "upload_time": "2016-09-29T22:48:44", "url": "https://files.pythonhosted.org/packages/79/d5/13117b9759fb063e7dc37775f20ce799e042b905113292b0f3cedb4c3b02/exec-wrappers-1.0.2.tar.gz" } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "49e2c6f008229a48decae6261bcaf696", "sha256": "7dc698eab5237a3cc27dc36a207f50229aa958140bf8a44b22ec741ccf47f3d2" }, "downloads": -1, "filename": "exec_wrappers-1.0.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "49e2c6f008229a48decae6261bcaf696", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 10750, "upload_time": "2016-10-20T12:52:04", "url": "https://files.pythonhosted.org/packages/f6/df/32bca31fb848d92fc36d23956c1e0444222aec75537348a037d15a6d0d40/exec_wrappers-1.0.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e89a839bceb44e006b765bd52673ffdc", "sha256": "b4d246895f2a7284482aa11146ac32596c434ae04798c6aa199746c48f1e6ba6" }, "downloads": -1, "filename": "exec-wrappers-1.0.3.tar.gz", "has_sig": false, "md5_digest": "e89a839bceb44e006b765bd52673ffdc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7428, "upload_time": "2016-10-20T12:52:07", "url": "https://files.pythonhosted.org/packages/ba/7f/3c2f771d5cfe03eac93e3ec793901e36671fa132c53107976a74aaf394d9/exec-wrappers-1.0.3.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "31ca9fdb0ce58fd2a65058ed6aa00e29", "sha256": "b61b74b69bb194d13edcafb1925984b1760ddc5c5545e9193880419857a9d2e5" }, "downloads": -1, "filename": "exec_wrappers-1.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "31ca9fdb0ce58fd2a65058ed6aa00e29", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 10958, "upload_time": "2017-10-18T22:51:05", "url": "https://files.pythonhosted.org/packages/08/ab/3214a1623841c27460a23375ab75ebee6db50696735138804c536d8a44e8/exec_wrappers-1.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4906614de8d24ed33b64a5316a2a14e9", "sha256": "5ac4d3f09f9976904b42421176e958e7aa5a64195de6df369a64e7b206c6463a" }, "downloads": -1, "filename": "exec-wrappers-1.1.0.tar.gz", "has_sig": false, "md5_digest": "4906614de8d24ed33b64a5316a2a14e9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7857, "upload_time": "2017-10-18T22:51:07", "url": "https://files.pythonhosted.org/packages/dc/84/af8fae7ae0fbde6846c150b9daf1bef76e1b8ed2810c4eb9ca537826ae4b/exec-wrappers-1.1.0.tar.gz" } ], "1.1.1": [ { "comment_text": "", "digests": { "md5": "68a67189f1dd2b44e8f1d4bdb5921cc5", "sha256": "f28c926a57cb1c75d370f687ec866df10196d0b0ab7b987f471d0acf76cbf891" }, "downloads": -1, "filename": "exec_wrappers-1.1.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "68a67189f1dd2b44e8f1d4bdb5921cc5", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 8302, "upload_time": "2018-04-14T17:14:11", "url": "https://files.pythonhosted.org/packages/88/18/761247845b073b9f43da7c6988aeb634bb88b59f59a9399614aeae296d14/exec_wrappers-1.1.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "751e0d50e04bb055c0a1225088be0e0f", "sha256": "287390ee379ed062c0710dc82476c313a6da4e8ffd1e82a5947ff6aac2c91832" }, "downloads": -1, "filename": "exec-wrappers-1.1.1.tar.gz", "has_sig": false, "md5_digest": "751e0d50e04bb055c0a1225088be0e0f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7929, "upload_time": "2018-04-14T17:14:12", "url": "https://files.pythonhosted.org/packages/e0/e4/2ccf32d9806df8ea7a8ec8d1a29f5f479dd0c153821a78f5e6b2e42749ae/exec-wrappers-1.1.1.tar.gz" } ], "1.1.2": [ { "comment_text": "", "digests": { "md5": "9bc06905c38e3950eff89aae00e34fde", "sha256": "3c060adade272b0fa0482b9e5177a0a9413cf923aec1d7abf5733a5e81d99545" }, "downloads": -1, "filename": "exec_wrappers-1.1.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "9bc06905c38e3950eff89aae00e34fde", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 9183, "upload_time": "2018-12-23T08:47:56", "url": "https://files.pythonhosted.org/packages/75/d6/20ccc7e1e7e4dd475f482b6ea0cd4642890948619f36742481d9ef9d6739/exec_wrappers-1.1.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3812631d89c032a8f0e3afde1b4c1c7d", "sha256": "c1acabd38960b2a927d214e11fd8c44b7ddcb01f2e05aaf50dd654f88617b393" }, "downloads": -1, "filename": "exec-wrappers-1.1.2.tar.gz", "has_sig": false, "md5_digest": "3812631d89c032a8f0e3afde1b4c1c7d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9450, "upload_time": "2018-12-23T08:47:58", "url": "https://files.pythonhosted.org/packages/5c/95/80260a08eb7a71ce889608f09c14e3ff1fe58c912bb8b579c20263af8a8b/exec-wrappers-1.1.2.tar.gz" } ], "1.1.3": [ { "comment_text": "", "digests": { "md5": "f240f32ea6ccd54875c1dbadbbefebdc", "sha256": "f1f7149d968218340425beacec85849aabdb47540fe11b98b43b7baf59e8e9d6" }, "downloads": -1, "filename": "exec_wrappers-1.1.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "f240f32ea6ccd54875c1dbadbbefebdc", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 9176, "upload_time": "2019-03-30T16:37:47", "url": "https://files.pythonhosted.org/packages/57/dc/bf72adfd5e054f0e4674cc5d15115aee6647b51435280d064e40f7a7cd64/exec_wrappers-1.1.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f8e5ab50c9dcb1b2107c07da1f8316a6", "sha256": "1e38f8843797de382f19acb03a14fba1f6015f47d781555ca8e1b4b7b8c5ba3f" }, "downloads": -1, "filename": "exec-wrappers-1.1.3.tar.gz", "has_sig": false, "md5_digest": "f8e5ab50c9dcb1b2107c07da1f8316a6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9496, "upload_time": "2019-03-30T16:37:48", "url": "https://files.pythonhosted.org/packages/d3/52/01ddfb5ccbd5b21bc433db324fd9fd3b85a9119aef6c90b6cce3966a1c50/exec-wrappers-1.1.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "f240f32ea6ccd54875c1dbadbbefebdc", "sha256": "f1f7149d968218340425beacec85849aabdb47540fe11b98b43b7baf59e8e9d6" }, "downloads": -1, "filename": "exec_wrappers-1.1.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "f240f32ea6ccd54875c1dbadbbefebdc", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 9176, "upload_time": "2019-03-30T16:37:47", "url": "https://files.pythonhosted.org/packages/57/dc/bf72adfd5e054f0e4674cc5d15115aee6647b51435280d064e40f7a7cd64/exec_wrappers-1.1.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f8e5ab50c9dcb1b2107c07da1f8316a6", "sha256": "1e38f8843797de382f19acb03a14fba1f6015f47d781555ca8e1b4b7b8c5ba3f" }, "downloads": -1, "filename": "exec-wrappers-1.1.3.tar.gz", "has_sig": false, "md5_digest": "f8e5ab50c9dcb1b2107c07da1f8316a6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9496, "upload_time": "2019-03-30T16:37:48", "url": "https://files.pythonhosted.org/packages/d3/52/01ddfb5ccbd5b21bc433db324fd9fd3b85a9119aef6c90b6cce3966a1c50/exec-wrappers-1.1.3.tar.gz" } ] }