{ "info": { "author": "Doron Cohen", "author_email": "doron@weka.io", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Operating System :: MacOS", "Operating System :: Unix", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Topic :: Communications" ], "description": "[![Build Status](https://travis-ci.com/weka-io/talker.svg?branch=master)](https://travis-ci.com/weka-io/talker) [![PyPI version](https://badge.fury.io/py/talker.svg)](https://badge.fury.io/py/talker)\n\n# Talker\n\n> The almighty remote command executor for Unix machines\n\n## Basic Usage\n\n### Connecting a client to a Redis backend\n\n In [1]: from talker.client import get_talker\n\n In [2]: params = dict(\n host='redis.example.com',\n password='*********',\n port=8415,\n name='SomeRedisServer')\n\n In [2]: client = get_talker(**params)\n\n In [3]: client\n Out[3]: \n\n### Running a command\n\n In [1]: cmd = client.run(host_id, 'bash', '-ce', 'echo hello')\n\n In [2]: cmd.result()\n Out[2]: 'hello\\n'\n\n### Waiting for a command\n\n In [1]: cmd = client.run(host_id, 'bash', '-ce', 'sleep 10')\n\n In [2]: cmd.wait()\n Out[2]: 0\n\n### Command timeout\n\n In [1]: cmd = client.run(host_id, 'bash', '-ce', 'sleep 10', timeout=2)\n\n In [2]: cmd.wait()\n CommandTimeoutError: Command timed out after 2s: `bash -ce sleep 10`\n args = bash -ce sleep 10\n cmd = f812c749-bdf1-4761-bae3-a279b07c64c4\n host_id = 827605a7-791e-4c6c-8f5c-eca52d7849f5.talker-0\n hostname = talker-0\n name = `bash -ce sleep 10`\n retcode = -1\n since_started = 2.2s\n stderr =\n stdout =\n talker = \n timeout = 2s\n timestamp = 2019-06-24T15:41:10.112050\n\n### Command failures\n\n In [25]: cmd = client.run(host_id, 'bash', '-ce', 'exit 2')\n\n In [26]: cmd.result()\n CommandExecutionError: Command execution error: `bash -ce exit 2`\n args = bash -ce exit 2\n cmd = 58564019-88cd-4c1b-8067-b0dada118ac4\n host_id = 827605a7-791e-4c6c-8f5c-eca52d7849f5.talker-0\n hostname = talker-0\n name = `bash -ce exit 2`\n retcode = 2\n since_started = None\n stderr =\n stdout =\n talker = \n timestamp = 2019-06-24T15:42:00.020477\n\n### Ignoring command failures\n\n In [1]: cmd = client.run(host_id, 'bash', '-ce', 'exit 2', raise_on_failure=False)\n\n In [2]: cmd.result()\n Out[2]: ''\n\n### Logging command output while it's running\n\n In [43]: cmd = client.run(host_id, 'bash', '-ce', 'for i in {1..5}; do date; sleep 1; done')\n\n In [44]: cmd.log_pipe(logger=logging.getLogger(), stdout_lvl=logging.WARNING)\n Mon Jun 24 15:47:43 IDT 2019\n Mon Jun 24 15:47:44 IDT 2019\n Mon Jun 24 15:47:45 IDT 2019\n Mon Jun 24 15:47:46 IDT 2019\n Mon Jun 24 15:47:47 IDT 2019", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/weka-io/talker", "keywords": "", "license": "BSD", "maintainer": "", "maintainer_email": "", "name": "talker", "package_url": "https://pypi.org/project/talker/", "platform": "", "project_url": "https://pypi.org/project/talker/", "project_urls": { "Homepage": "https://github.com/weka-io/talker" }, "release_url": "https://pypi.org/project/talker/1.8.4/", "requires_dist": null, "requires_python": "", "summary": "The almighty remote command executor for Unix machines", "version": "1.8.4" }, "last_serial": 5868568, "releases": { "1.8.1": [ { "comment_text": "", "digests": { "md5": "3c3179173b68567cfbb8485521946b32", "sha256": "536de4901b1b2b51047f985d5ec9dd499b217d5d39809e8e8d6aed430004f0e2" }, "downloads": -1, "filename": "talker-1.8.1.tar.gz", "has_sig": false, "md5_digest": "3c3179173b68567cfbb8485521946b32", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17077, "upload_time": "2019-08-13T08:59:16", "url": "https://files.pythonhosted.org/packages/ed/bc/2819e81d54a0c926313e462112950b2fef72bb6580a2e6ce6331a511aacd/talker-1.8.1.tar.gz" } ], "1.8.2": [ { "comment_text": "", "digests": { "md5": "5c3bd19843693d824ce170d9c79977d2", "sha256": "f7909be8bb56925ef387870f48dee38fe1b026af72a756bbbea4b35fa49b2dbc" }, "downloads": -1, "filename": "talker-1.8.2.tar.gz", "has_sig": false, "md5_digest": "5c3bd19843693d824ce170d9c79977d2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17205, "upload_time": "2019-08-13T12:52:07", "url": "https://files.pythonhosted.org/packages/f0/49/2762664f76d0a3a3903d47893eac9712c362cd1f85f6ad554acc009b9dee/talker-1.8.2.tar.gz" } ], "1.8.3": [ { "comment_text": "", "digests": { "md5": "b36ce785b9aecd1ff9e9294f4c9caee8", "sha256": "3444abf20e71bd4b064ea72c1f917a30f3387cfbbe921949b660b7c530485708" }, "downloads": -1, "filename": "talker-1.8.3.tar.gz", "has_sig": false, "md5_digest": "b36ce785b9aecd1ff9e9294f4c9caee8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25613, "upload_time": "2019-09-05T08:46:16", "url": "https://files.pythonhosted.org/packages/d1/8a/bfc11a1af261f1b1b1ea32ccd6815c1183fb3c0fe1be1fd5e211651f2509/talker-1.8.3.tar.gz" } ], "1.8.4": [ { "comment_text": "", "digests": { "md5": "84fa4886ad4794b4e12cdbc19f4cbb46", "sha256": "a18bb2f9998241ef87346cf18b6b48857c119db60410ea0209456dd5c82dabf4" }, "downloads": -1, "filename": "talker-1.8.4.tar.gz", "has_sig": false, "md5_digest": "84fa4886ad4794b4e12cdbc19f4cbb46", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25660, "upload_time": "2019-09-22T09:59:27", "url": "https://files.pythonhosted.org/packages/48/5d/c3d6f9b42fa60a49605425cc11f887a6af079e5b5f09686891b72a051bd0/talker-1.8.4.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "84fa4886ad4794b4e12cdbc19f4cbb46", "sha256": "a18bb2f9998241ef87346cf18b6b48857c119db60410ea0209456dd5c82dabf4" }, "downloads": -1, "filename": "talker-1.8.4.tar.gz", "has_sig": false, "md5_digest": "84fa4886ad4794b4e12cdbc19f4cbb46", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25660, "upload_time": "2019-09-22T09:59:27", "url": "https://files.pythonhosted.org/packages/48/5d/c3d6f9b42fa60a49605425cc11f887a6af079e5b5f09686891b72a051bd0/talker-1.8.4.tar.gz" } ] }