{ "info": { "author": "Daniel van Flymen", "author_email": "vanflymen@gmail.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: Implementation :: CPython" ], "description": "# \u26a1\ufe0felectron\n\nRapid RPC Framework for building Python 3.7+ services using Asyncio + [MsgPack](https://msgpack.org/index.html)\n\n# Installation\n\n```\n$ pip install electron-rpc\n```\n\n# How does it work?\n\nCreate a server instance with a single endpoint `sum()` which outputs the sum of two values:\n\n```python\nfrom electron import Server\n\napp = Server()\n\n\n@app.endpoint(\"sum\")\nasync def sum(a, b, **kwargs):\n return f\"Result: {a + b}\"\n\n\napp.run()\n```\n\n```\n __ __ \n ___ / /__ _____/ /__________ ____ \n / _ \\/ / _ \\/ ___/ __/ ___/ __ \\/ __ \\ \n/ __/ / __/ /__/ /_/ / / /_/ / / / / \n\\___/_/\\___/\\___/\\__/_/ \\____/_/ /_/ \n\n\u26a1 electron build v0.0.4 \n\nListening on 127.0.0.1:9999\n\nRegistered Endpoints:\n- sum\n```\n\n## Calling the endpoint from a client\n\nelectron uses MsgPack-RPC, so craft a payload and send it over TCP:\n\n```python\nimport socket\n\nfrom electron.messages import RemoteProcedureCall\n\nsock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)\n\nsock.connect((\"127.0.0.1\", 9999))\nsock.send(RemoteProcedureCall(endpoint=\"sum\", args=[1, 2]).encode())\n\ndata = sock.recv(1024)\nprint(f\"Received: \\n{data.decode()}\")\nsock.close()\n```\n```\nReceived: \nResult: 3\n```\n\n# Background Tasks\n\nTo create a background task, decorate it with `@app.background(time_in_seconds)`:\n\n```python\n@app.background(3)\nasync def some_background_task():\n print(\"Running background task every 3 seconds\")\n```\n\nNow the task will execute every 3 seconds.\n\n\n", "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/dvf/electron", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "electron-rpc", "package_url": "https://pypi.org/project/electron-rpc/", "platform": "", "project_url": "https://pypi.org/project/electron-rpc/", "project_urls": { "Homepage": "https://github.com/dvf/electron" }, "release_url": "https://pypi.org/project/electron-rpc/0.0.4/", "requires_dist": [ "loguru (==0.2.4)", "msgpack (==0.6.0)" ], "requires_python": "", "summary": "Rapid RPC Framework for your Python services using Asyncio + MsgPack", "version": "0.0.4" }, "last_serial": 4697258, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "a1ed7dd51f907d4836e851d63291a187", "sha256": "121f0fe4daa55abd914cc74e0e1a6fe2d78ba402c56626bbfe131f05c29099b0" }, "downloads": -1, "filename": "electron_rpc-0.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "a1ed7dd51f907d4836e851d63291a187", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 7778, "upload_time": "2019-01-15T03:30:57", "url": "https://files.pythonhosted.org/packages/56/94/be165c4063704d940186210549234ce1793a573d2e5467883bcba5218b75/electron_rpc-0.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f4b780efd7331550df79930b8d266564", "sha256": "80ecfaac255fc4a4ed37eb25ed1a09fc55db737aa3e232bdbf679bb758a329f2" }, "downloads": -1, "filename": "electron-rpc-0.0.1.tar.gz", "has_sig": false, "md5_digest": "f4b780efd7331550df79930b8d266564", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4539, "upload_time": "2019-01-15T03:30:59", "url": "https://files.pythonhosted.org/packages/ba/30/b6227c6c2d48ee79d2f2d1a22496fdbb84e87fd1824747e746e2190f9407/electron-rpc-0.0.1.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "fce91172111cf4c04d70899a529e737e", "sha256": "51860593b72a872796daaa373494ee3a6021221032031bfc22df9edaf36edcc1" }, "downloads": -1, "filename": "electron_rpc-0.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "fce91172111cf4c04d70899a529e737e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 7809, "upload_time": "2019-01-15T03:36:24", "url": "https://files.pythonhosted.org/packages/a3/cc/70d22fff2b0a0701194fe2a61e6f3b1229f4478b909832527085c517ab73/electron_rpc-0.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e26045e9ea947fa42286499aba74c05f", "sha256": "3fd53fa772f8e060e2d4f8437874572839617feea29c12f9c56a1de217131cce" }, "downloads": -1, "filename": "electron-rpc-0.0.2.tar.gz", "has_sig": false, "md5_digest": "e26045e9ea947fa42286499aba74c05f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4552, "upload_time": "2019-01-15T03:36:25", "url": "https://files.pythonhosted.org/packages/44/e4/d4e5dbfea704cbb80534fb42da5c9ca91c07dbda2d28930c7ea4f39ab70e/electron-rpc-0.0.2.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "ddee3f95da5965c37bbdebd36d0c486f", "sha256": "dd1dbbdf7e4bbaba266cf9af0399b657329f436059ccc924faea2774355c7201" }, "downloads": -1, "filename": "electron_rpc-0.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "ddee3f95da5965c37bbdebd36d0c486f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 7837, "upload_time": "2019-01-15T03:39:20", "url": "https://files.pythonhosted.org/packages/37/bb/cd41f0f6a165ae96d7fd7ee6639aa31d896bd0991f68fa49628726d9eac3/electron_rpc-0.0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ce19ade9c9d3ea320477f1795f35b7c4", "sha256": "4c80e5b734686f91fd7d930247b8c37ca03e66c2fa0d246d9b6fe35d6c439813" }, "downloads": -1, "filename": "electron-rpc-0.0.3.tar.gz", "has_sig": false, "md5_digest": "ce19ade9c9d3ea320477f1795f35b7c4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4563, "upload_time": "2019-01-15T03:39:22", "url": "https://files.pythonhosted.org/packages/62/c8/37c0c5f8827989bf214aa56a1d0b078eaa5c0d217a9728fa3779aa25f64b/electron-rpc-0.0.3.tar.gz" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "d897d20621f0afd3f099297f3fdbce09", "sha256": "b605dcfe311e2243cee3d91b8b9f86e546cba5fb21e693c972aa29858ed6be28" }, "downloads": -1, "filename": "electron_rpc-0.0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "d897d20621f0afd3f099297f3fdbce09", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 7956, "upload_time": "2019-01-15T03:45:01", "url": "https://files.pythonhosted.org/packages/a4/b3/0f4915c701d350126636f0822d0e6acc81d8878f8b1bb56fab201e68ed24/electron_rpc-0.0.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4a70f0a72ccc00588d40a83de4043bda", "sha256": "d5f742512030981c3464226db8031febceabe33dc854d2fc232c072d7f001c64" }, "downloads": -1, "filename": "electron-rpc-0.0.4.tar.gz", "has_sig": false, "md5_digest": "4a70f0a72ccc00588d40a83de4043bda", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4612, "upload_time": "2019-01-15T03:45:03", "url": "https://files.pythonhosted.org/packages/d9/9b/98e55dea58983c5792d9ebab9ee6afa42f3ec53835d18ad365769efc6e8e/electron-rpc-0.0.4.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "d897d20621f0afd3f099297f3fdbce09", "sha256": "b605dcfe311e2243cee3d91b8b9f86e546cba5fb21e693c972aa29858ed6be28" }, "downloads": -1, "filename": "electron_rpc-0.0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "d897d20621f0afd3f099297f3fdbce09", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 7956, "upload_time": "2019-01-15T03:45:01", "url": "https://files.pythonhosted.org/packages/a4/b3/0f4915c701d350126636f0822d0e6acc81d8878f8b1bb56fab201e68ed24/electron_rpc-0.0.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4a70f0a72ccc00588d40a83de4043bda", "sha256": "d5f742512030981c3464226db8031febceabe33dc854d2fc232c072d7f001c64" }, "downloads": -1, "filename": "electron-rpc-0.0.4.tar.gz", "has_sig": false, "md5_digest": "4a70f0a72ccc00588d40a83de4043bda", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4612, "upload_time": "2019-01-15T03:45:03", "url": "https://files.pythonhosted.org/packages/d9/9b/98e55dea58983c5792d9ebab9ee6afa42f3ec53835d18ad365769efc6e8e/electron-rpc-0.0.4.tar.gz" } ] }