{ "info": { "author": "Andrew Dunai", "author_email": "andrew@dun.ai", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Environment :: Web Environment", "Framework :: AsyncIO", "Framework :: Django", "Intended Audience :: Developers", "License :: OSI Approved :: GNU General Public License v3 (GPLv3)", "Operating System :: OS Independent", "Programming Language :: Python :: 3", "Topic :: Software Development :: Libraries" ], "description": ".. image:: https://raw.githubusercontent.com/and3rson/radical/master/images/logo.png\n\n.. contents:: Contents\n\nDecription\n----------\n\nAbout\n~~~~~\n\nRadical is a RPC library that allows you to have cross-service communication out of the box.\n\nIt can serve as a replacement for Celery.\n\nRadical has out-of-the-box integration with Django and also supports asyncio, but can be used without it.\n\nRadical is easily extensible with custom transports and serializers.\n\nAvailable transports:\n\n* Redis\n* Postgres\n\nDefault and recommended transport is Redis.\n\nAvailable serializers:\n\n* JSON\n* Pickle\n\nDefault and recommended serializer is Pickle.\n\nGlossary\n~~~~~~~~\n\n============ ==================================================\nTerm Meaning\n============ ==================================================\nService A fully autonomous application written with Django,\n Sanic or vanilla Python.\nTransport Module that provides interface to actual network\n communication: for example, a Redis transport.\nSerializer Module that provides interface to data\n serialization and deserialization.\n============ ==================================================\n\nQuick start\n-----------\n\nInstalling\n~~~~~~~~~~\n\n.. code-block:: sh\n\n pip install radical-rpc\n\nUsing with Django\n~~~~~~~~~~~~~~~~~\n\n1. Add Radical to INSTALLED_APPS:\n\n .. code-block:: python\n\n INSTALLED_APPS = [\n # ...\n 'radical',\n # ...\n ]\n\n2. Configure Radical:\n\n .. code-block:: python\n\n RADICAL_CONFIG = {\n 'TRANSPORT_URL': 'redis://redis:6379/0?request_timeout=10',\n 'QUEUE_NAME': 'myapp',\n 'MODULES': [\n 'radical.demo'\n ]\n }\n\n3. Call it anywhere:\n\n .. code-block:: python\n\n from radical.contrib.django import call_wait, call\n from django.http import JsonResponse\n\n def some_view(request):\n # Call remote method and wait for it to return result.\n result = call_wait('myapp', 'radical.demo.add', 1300, 37)\n return JsonResponse(dict(result=result)) # Returns {'result': 1337}\n\n def some_view(request):\n # Call remote method and do not wait for it to finish.\n call('myapp', 'radical.demo.add', 1300, 37)\n return JsonResponse(dict(result='Job was scheduled.'))\n\n4. Start Radical worker:\n\n .. code-block:: bash\n\n ./manage.py radical\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/and3rson/radical", "keywords": "rpc", "license": "GPLv3", "maintainer": "", "maintainer_email": "", "name": "radical-rpc", "package_url": "https://pypi.org/project/radical-rpc/", "platform": "", "project_url": "https://pypi.org/project/radical-rpc/", "project_urls": { "Homepage": "https://github.com/and3rson/radical" }, "release_url": "https://pypi.org/project/radical-rpc/0.1.7/", "requires_dist": null, "requires_python": "", "summary": "Multi-transport RPC with asyncio & Django support.", "version": "0.1.7" }, "last_serial": 4125818, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "9bbee9f362ae8ef7044203bbfec56b4b", "sha256": "fd4914f1e4903b18a7b5e7ccecbba0ef5ce4921c9d0b143a14a3cb2458f3d001" }, "downloads": -1, "filename": "radical-rpc-0.1.tar.gz", "has_sig": false, "md5_digest": "9bbee9f362ae8ef7044203bbfec56b4b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7760, "upload_time": "2018-07-31T10:06:21", "url": "https://files.pythonhosted.org/packages/d2/e0/ea6d7b551ca2a959563bbc2cae25bddf717042e099a64532e7b715579f64/radical-rpc-0.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "cbda8a5b5a58175e975cdaacd4a87c52", "sha256": "a29755f70dc018e4a4ec98d1cdbe6f9f97b7017b4c6c03b01c3d462de67eb520" }, "downloads": -1, "filename": "radical-rpc-0.1.2.tar.gz", "has_sig": false, "md5_digest": "cbda8a5b5a58175e975cdaacd4a87c52", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8073, "upload_time": "2018-07-31T10:30:32", "url": "https://files.pythonhosted.org/packages/5b/d8/6357093b8fd356bce53a90c66ddd04afd80e4c69fd00560c3c988ae3fe9e/radical-rpc-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "1cc1cc9f0c6d3f7e607f43a9af4c4ca6", "sha256": "e5be7809b942d3b6370f4053957aa74b57df15360ced689f3a9b7d20fea92b3c" }, "downloads": -1, "filename": "radical-rpc-0.1.3.tar.gz", "has_sig": false, "md5_digest": "1cc1cc9f0c6d3f7e607f43a9af4c4ca6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9663, "upload_time": "2018-07-31T11:34:36", "url": "https://files.pythonhosted.org/packages/ed/8b/645baf699bde4a6105e54e9ccbb378228e8fbaf1c976ea63a7bc2893e353/radical-rpc-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "377db6ff006415e9fd45a3725307ad3f", "sha256": "980cdf19a6eacdb6f6303f9917596aeeab91e07daa4cf143b82d4623f942f25d" }, "downloads": -1, "filename": "radical-rpc-0.1.4.tar.gz", "has_sig": false, "md5_digest": "377db6ff006415e9fd45a3725307ad3f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9642, "upload_time": "2018-07-31T11:49:29", "url": "https://files.pythonhosted.org/packages/6c/26/7892de679e4332003efbfbffed01ec28e78a199bcc159e0e17a40a29869c/radical-rpc-0.1.4.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "4cf426b8476ac93480a8411540acb100", "sha256": "c255d7cfe6d4550930932a5ea06c1ccbb2b5ba7e9b74a840dd70b759781ad7a3" }, "downloads": -1, "filename": "radical-rpc-0.1.5.tar.gz", "has_sig": false, "md5_digest": "4cf426b8476ac93480a8411540acb100", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10793, "upload_time": "2018-07-31T11:50:59", "url": "https://files.pythonhosted.org/packages/9a/9f/1f6ce56a56afe845a40bee36a5fa47fb2aebebb1ee94818116fb2982f01d/radical-rpc-0.1.5.tar.gz" } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "f88d0326a012e4370ab59c1c6f2dffcd", "sha256": "950f61e76489b062dafbe4c9f1bc195e3dc4ee52ae2d9219739b2cbb30accf1d" }, "downloads": -1, "filename": "radical-rpc-0.1.6.tar.gz", "has_sig": false, "md5_digest": "f88d0326a012e4370ab59c1c6f2dffcd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11778, "upload_time": "2018-08-01T14:29:52", "url": "https://files.pythonhosted.org/packages/01/3f/ea6c25964e949af121048e4295759aaed92b7649fd7ce69f52acaece5957/radical-rpc-0.1.6.tar.gz" } ], "0.1.7": [ { "comment_text": "", "digests": { "md5": "a6f395cefeeaae0ef00c202f986133d1", "sha256": "b77e2c3c98d487f8a6cebb03fbb360f94aada3b73457a48951416c628dc67364" }, "downloads": -1, "filename": "radical-rpc-0.1.7.tar.gz", "has_sig": false, "md5_digest": "a6f395cefeeaae0ef00c202f986133d1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11839, "upload_time": "2018-08-01T18:56:48", "url": "https://files.pythonhosted.org/packages/2c/89/0412865593dd0a6e8b7125c25720800077ff3d2a7519b80d9677c35b9a79/radical-rpc-0.1.7.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "a6f395cefeeaae0ef00c202f986133d1", "sha256": "b77e2c3c98d487f8a6cebb03fbb360f94aada3b73457a48951416c628dc67364" }, "downloads": -1, "filename": "radical-rpc-0.1.7.tar.gz", "has_sig": false, "md5_digest": "a6f395cefeeaae0ef00c202f986133d1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11839, "upload_time": "2018-08-01T18:56:48", "url": "https://files.pythonhosted.org/packages/2c/89/0412865593dd0a6e8b7125c25720800077ff3d2a7519b80d9677c35b9a79/radical-rpc-0.1.7.tar.gz" } ] }