{ "info": { "author": "Kefei Dan Zhou", "author_email": "kefei.zhou@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Environment :: Console", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2.7", "Topic :: System :: Distributed Computing", "Topic :: Utilities" ], "description": "Remotely\n========\nRemotely is a simple and secure remote code execution api that supports both \nasynchronous and blocking execution. \n\nRemotely can be used for:\n\n- distributing tasks to other boxes in parallel\n- running coding under other versions of python\n- accessing libraries not available on the current box\n such as using win32com from linux\n- accessing resources (files etc) on another box\n\n\nYou start the remotely server on the box where you want to execute code.\n\n::\n\n from remotely import create_remotely_server\n server = create_remotely_server(\"YOUR_API_KEY\", PORT)\n server.serve_forever()\n ...\n\nAnd you use the remotely decorater for any function you want to run remotely.\n\n::\n\n from remotely import remotely\n\n @remotely(\"YOUR_API_KEY\", SERVER, PORT)\n def remote_code():\n # import required packages\n # do something here\n return result\n\n # function will be executed on the remote server\n remote_code()\n\nThe asynchronous (non-blocking) version runs the function as a separate process \non the remote server and supports simple job management functions (join and kill).\n\n::\n\n from remotely import RemoteClient\n rc = RemoteClient(\"API_KEY\", SERVER, PORT)\n pid = rc.run(foo, arg1, arg2=key2)\n output = rc.join(pid)\n output = rc.kill(pid)\n\n| \n| Created by Kefei Zhou (kefei.zhou at gmail) \n| Licensed under BSD 3-Clause, included as LICENSE in the source distribution.\n|", "description_content_type": null, "docs_url": null, "download_url": "http://pypi.python.org/packages/source/r/remotely/remotely-0.2.0.tar.gz", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://pypi.python.org/pypi/remotely", "keywords": null, "license": "http://www.opensource.org/licenses/bsd-3-clause", "maintainer": null, "maintainer_email": null, "name": "remotely", "package_url": "https://pypi.org/project/remotely/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/remotely/", "project_urls": { "Download": "http://pypi.python.org/packages/source/r/remotely/remotely-0.2.0.tar.gz", "Homepage": "http://pypi.python.org/pypi/remotely" }, "release_url": "https://pypi.org/project/remotely/0.2.0/", "requires_dist": null, "requires_python": null, "summary": "Remotely is a simple and secure remote code execution api", "version": "0.2.0" }, "last_serial": 798773, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "2e6c239d9a38ad19a88c8eaa860df884", "sha256": "45eca5750ebe0539ebf37a157c237300db8833eb528d92f2ff0274ef7e41e3a5" }, "downloads": -1, "filename": "remotely-0.1.tar.gz", "has_sig": false, "md5_digest": "2e6c239d9a38ad19a88c8eaa860df884", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2388, "upload_time": "2012-05-11T05:59:47", "url": "https://files.pythonhosted.org/packages/1c/a4/168eeab925c403c816a4094386ba7e8e841ba5c4a58f9a641c28776c90dd/remotely-0.1.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "25c86d63d4414d0389bde59dffe10fb5", "sha256": "652050ee61baa6d034ab7dbe703ed73aa971723e67987779ae27fcefb380fd06" }, "downloads": -1, "filename": "remotely-0.1.4.tar.gz", "has_sig": false, "md5_digest": "25c86d63d4414d0389bde59dffe10fb5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3854, "upload_time": "2012-05-11T15:38:38", "url": "https://files.pythonhosted.org/packages/ca/b9/ed0cddccc95275ad5937df621f2217ca17fc8ec0d9cc69c2e2dd36d9c32f/remotely-0.1.4.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "43a22b44bd92ccae8d85390101a4610d", "sha256": "b082098b16cf82629d69f5ff0edd914ac188d1710d780787a6cfc4431e44545a" }, "downloads": -1, "filename": "remotely-0.1.5.tar.gz", "has_sig": false, "md5_digest": "43a22b44bd92ccae8d85390101a4610d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4652, "upload_time": "2012-05-12T20:45:41", "url": "https://files.pythonhosted.org/packages/e7/3c/151188bfa51d5dc3ab21b83a8d0ac9db761846988369b1a58b57a16e42b8/remotely-0.1.5.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "c4e413de7d332047c95f1a244dbbd3f8", "sha256": "80d6652021fc4b6bf1a60e4a6beb809d314a5e2a7704c4fd82a4dd6251fa87f8" }, "downloads": -1, "filename": "remotely-0.2.0.tar.gz", "has_sig": false, "md5_digest": "c4e413de7d332047c95f1a244dbbd3f8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6036, "upload_time": "2012-11-16T16:33:00", "url": "https://files.pythonhosted.org/packages/42/35/0b9dcdc6b9fbc21bee187e6328a04c3aa530b178a2e472860a3c5c9ba35b/remotely-0.2.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "c4e413de7d332047c95f1a244dbbd3f8", "sha256": "80d6652021fc4b6bf1a60e4a6beb809d314a5e2a7704c4fd82a4dd6251fa87f8" }, "downloads": -1, "filename": "remotely-0.2.0.tar.gz", "has_sig": false, "md5_digest": "c4e413de7d332047c95f1a244dbbd3f8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6036, "upload_time": "2012-11-16T16:33:00", "url": "https://files.pythonhosted.org/packages/42/35/0b9dcdc6b9fbc21bee187e6328a04c3aa530b178a2e472860a3c5c9ba35b/remotely-0.2.0.tar.gz" } ] }