{ "info": { "author": "Damian Nowok", "author_email": "damian.nowok@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Console", "Programming Language :: Python", "Topic :: Software Development", "Topic :: Utilities" ], "description": "===\r\nPRC\r\n===\r\n\r\n**Python Remote Console - PRC**\r\n\r\nPython Remote Console client and server communicate via sockets. PRCClient connects to PRCServer and gains access to its Python console.\r\nEverything what PRCClient types is sent and executed on PRCServer.\r\n\r\nThis can have several applications including:\r\n\r\n- Access to remote machine resources like files on hard drives, computation power.\r\n- Runtime debugging of complex Python scripts. PRCServer can be configured to access script internal variables, objects, states.\r\n- Remote Procedure Call (RPC). PRCClient can remotely start processes, applications, other executables on PRCServer.\r\n\r\nPRC is writen in Python 2.7 and works on Windows and Linux. Source code can be found here: https://github.com/0x1001/PRC\r\n\r\nPRCServer usage example\r\n-----------------------\r\nPRCServer runs socket server that spawns Python console for each PRCClient.\r\n\r\nexample_server.py::\r\n \r\n from prc import PRCServer\r\n import time\r\n\r\n # Creates PRCServer object\r\n server = PRCServer()\r\n\r\n # Example of a mutable variable\r\n counter = [0]\r\n\r\n # This will allow access to counter variable in PRC\r\n server.add_variable(\"counter\",counter)\r\n\r\n # Starts PRCServer. Non blocking!\r\n server.start()\r\n\r\n # Example of worker thread that increments counter\r\n while True:\r\n counter[0] += 1\r\n time.sleep(1)\r\n\r\nPRCClient usage example\r\n-----------------------\r\nPRCClient connects to PRCServer console and acts as a proxy.\r\n\r\nexample_client.py::\r\n \r\n from prc import PRCClient\r\n\r\n # Starts PRCClient\r\n #\r\n # Only stderr is redirected to RPCClient output\r\n # To redirect stdout type following code in PRCClient console:\r\n # import sys\r\n # sys.stdout = __prcconsole__\r\n #\r\n # Type exit() for exit.\r\n PRCClient().start()\r\n \r\nPRCClient client console looks like this::\r\n \r\n Python 2.7.3 (default, Apr 10 2012, 23:31:26) [MSC v.1500 32 bit (Intel)] on win32\r\n Type \"help\", \"copyright\", \"credits\" or \"license\" for more information.\r\n (PRCConsole)\r\n\r\n >>> import sys\r\n >>> sys.stdout = __prcconsole__\r\n >>> counter\r\n [62]\r\n\r\n >>> counter\r\n [64]\r\n \r\n >>> import subprocess\r\n >>> subprocess.call(\"start notepad\",shell=True)\r\n >>> exit()\r\n \r\nPRCClient constructor accepts two input paramiters: server address and port.\r\n\r\nContribution\r\n------------\r\nAnyone is welcome to contribute to this project. Source code is available on GitHub.\r\nhttps://github.com/0x1001/PRC", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://pypi.python.org/pypi/prc/", "keywords": "remote console, socket", "license": "LICENSE.txt", "maintainer": "", "maintainer_email": "", "name": "PRC", "package_url": "https://pypi.org/project/PRC/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/PRC/", "project_urls": { "Download": "UNKNOWN", "Homepage": "http://pypi.python.org/pypi/prc/" }, "release_url": "https://pypi.org/project/PRC/0.9.3/", "requires_dist": null, "requires_python": null, "summary": "Python Remote Console", "version": "0.9.3" }, "last_serial": 1030254, "releases": { "0.9.0": [ { "comment_text": "", "digests": { "md5": "ba7cecc4b78431ea645c13e67da705da", "sha256": "5226ba6fdbfd858a841adee7553bbced5ce45c43279f989f6d8447b467c6258c" }, "downloads": -1, "filename": "PRC-0.9.0.zip", "has_sig": false, "md5_digest": "ba7cecc4b78431ea645c13e67da705da", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18328, "upload_time": "2013-11-11T22:56:30", "url": "https://files.pythonhosted.org/packages/a2/d0/62580a68bf0682d025ab7f947683b8b4d32fa58bc0574728453e3c886111/PRC-0.9.0.zip" } ], "0.9.1": [ { "comment_text": "", "digests": { "md5": "ac2854bf5acf2e4f0240f0923adb5a6b", "sha256": "90c2305fa1abe03404bdfb8de4089942768151ac60e067b84df58dfec032c44d" }, "downloads": -1, "filename": "PRC-0.9.1.zip", "has_sig": false, "md5_digest": "ac2854bf5acf2e4f0240f0923adb5a6b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19070, "upload_time": "2013-11-16T13:58:39", "url": "https://files.pythonhosted.org/packages/4f/14/05394d6cec66360322122f8059d59dd3a4020d0ced596192ef75cd2597bc/PRC-0.9.1.zip" } ], "0.9.2": [ { "comment_text": "", "digests": { "md5": "35f03cacf47c45eadb9c616b38e968fa", "sha256": "d8ac117e224fcab1c07e914c78d310193eca7c48ff6ab956219007babee86b6e" }, "downloads": -1, "filename": "PRC-0.9.2.zip", "has_sig": false, "md5_digest": "35f03cacf47c45eadb9c616b38e968fa", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19189, "upload_time": "2014-01-21T19:47:47", "url": "https://files.pythonhosted.org/packages/23/4c/260f1c3543865d74a20e16b57d64954f3d3b9476853f3921e1a22fe53a98/PRC-0.9.2.zip" } ], "0.9.3": [ { "comment_text": "", "digests": { "md5": "345b49745da086cfa0e8e4eec45ac4c1", "sha256": "a12868a4a723d31b88456f4b332fbaa350026da1f04fbb63bce46d6958fa1dac" }, "downloads": -1, "filename": "PRC-0.9.3.zip", "has_sig": false, "md5_digest": "345b49745da086cfa0e8e4eec45ac4c1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19288, "upload_time": "2014-02-17T11:04:45", "url": "https://files.pythonhosted.org/packages/72/34/a9a08dd5530104e65def04f4ed636db998019704f39f8bbe688741975dd4/PRC-0.9.3.zip" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "345b49745da086cfa0e8e4eec45ac4c1", "sha256": "a12868a4a723d31b88456f4b332fbaa350026da1f04fbb63bce46d6958fa1dac" }, "downloads": -1, "filename": "PRC-0.9.3.zip", "has_sig": false, "md5_digest": "345b49745da086cfa0e8e4eec45ac4c1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19288, "upload_time": "2014-02-17T11:04:45", "url": "https://files.pythonhosted.org/packages/72/34/a9a08dd5530104e65def04f4ed636db998019704f39f8bbe688741975dd4/PRC-0.9.3.zip" } ] }