{ "info": { "author": "Lars Sch\u00f6ning", "author_email": "lays@biosustain.dtu.dk", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Environment :: Web Environment", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.5", "Topic :: Internet :: WWW/HTTP", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "=========\nVenom RPC\n=========\n\n.. image:: https://img.shields.io/travis/biosustain/venom/master.svg?style=flat-square\n :target: https://travis-ci.org/biosustain/venom\n\n.. image:: https://img.shields.io/pypi/v/venom.svg?style=flat-square\n :target: https://pypi.python.org/pypi/venom\n\n.. image:: https://img.shields.io/pypi/l/venom.svg?style=flat-square\n :target: https://pypi.python.org/pypi/venom\n\n.. role:: strike\n :class: strike\n\n\nVenom is an upcoming RPC framework for Python. It features a simple, testable, composable service model and support for the Python 3 *typing* module. It will support unary (single message) and streaming communication patterns inspired by gRPC. The framework uses a simple message format for communications, compatible with the ProtocolBuffer format. The aim of Venom is to provide a low overhead framework for RPC service development specifically in Python while sticking to language agnostic communication standards. \n\nSo far, Venom RPC supports unary requests & replies that are defined as methods on services. The framework is designed to support different server implementations. \n\nThe currently available implementations are:\n\n- Unary HTTP/1 protocol implementation using *aiohttp* (asynchronous) or *flask* (synchronous only)\n- Unary gRPC protocol implementation using *grpcio*\n \n \nDocumentation currently is minimal! Head to the ``examples/`` folder for more details.\n\nInstallation\n============\n\nVenom RPC alpha requires Python 3.5. The final version will likely require Python 3.6.\n\nTo install Venom using 'pip' for use with *aiohttp*, run:\n\n::\n\n pip install venom[aiohttp]\n \nTo install Venom using 'pip' for use with *flask*, run:\n\n::\n\n pip install flask-venom\n\nRoad map\n========\n\nA list of major features required for the first release:\n\n- Schema validation\n- Documentation\n- Message generation from request arguments\n- OpenAPI (Swagger) schema service for API reflection\n \nAn unordered list of potential future features:\n\n- CLI for generating sharable stubs from services\n- Streaming WebSocket implementation with *aiohttp*\n\n This would be the only solution that fully supports streaming and can be used in the browser today.\n\n- Streaming gRPC (HTTP/2) implementation with e.g. *hyper-h2*\n\n There's already an experimental gRPC implementation based on *grpcio*, but without true support for asynchronous calls because that is not supported by the official Python library.\n \n- MsgPack serialization support\n- ProtocolBuffer support\n \n The problem with ProtocolBuffer as it stands now is that the official Python library for ProtocolBuffer is not very pythonic, \n while ease of development in Python is the primary motivator behind Venom.\n\nStreamed responses would use Python 3.6 asynchronous generators.\n\n", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/biosustain/venom", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "venom", "package_url": "https://pypi.org/project/venom/", "platform": "", "project_url": "https://pypi.org/project/venom/", "project_urls": { "Homepage": "https://github.com/biosustain/venom" }, "release_url": "https://pypi.org/project/venom/2.0.0/", "requires_dist": null, "requires_python": "", "summary": "Venom is an upcoming RPC framework for Python", "version": "2.0.0" }, "last_serial": 4735476, "releases": { "0.0.0": [], "1.0.0a1": [ { "comment_text": "", "digests": { "md5": "727c42cda041cf0cb21a2e6a1433b8a0", "sha256": "b24d0cbc1fff0d769c577eca6a590faed55b8c702bb98a0511cb09f5efbdadfe" }, "downloads": -1, "filename": "venom-1.0.0a1.tar.gz", "has_sig": false, "md5_digest": "727c42cda041cf0cb21a2e6a1433b8a0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16462, "upload_time": "2016-10-19T11:56:00", "url": "https://files.pythonhosted.org/packages/21/e3/c3072878e1bf101c87f02b0dc9a367b8701061a086eb0d6a96da1df4eca4/venom-1.0.0a1.tar.gz" } ], "1.0.0a2": [ { "comment_text": "", "digests": { "md5": "66161f2b53edff8949beb637f992ec56", "sha256": "af6b88c6a8dde654082f30ff0c31fca777576df246e31df5b9fb985cfc88d71a" }, "downloads": -1, "filename": "venom-1.0.0a2.tar.gz", "has_sig": false, "md5_digest": "66161f2b53edff8949beb637f992ec56", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17797, "upload_time": "2016-12-09T10:39:57", "url": "https://files.pythonhosted.org/packages/67/ba/cca81b6a48b85fcdb56c63cc45b346ecf7dcf132d50a548983859b92afb3/venom-1.0.0a2.tar.gz" } ], "1.0.0a3": [ { "comment_text": "", "digests": { "md5": "bf717f143ac035897ff6d8b624fb547d", "sha256": "696e2f8af12e19ebd7907159e41a5d0ddaeb4968adfdd2aa8a10055a2c55d17b" }, "downloads": -1, "filename": "venom-1.0.0a3.tar.gz", "has_sig": false, "md5_digest": "bf717f143ac035897ff6d8b624fb547d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19809, "upload_time": "2017-01-30T15:25:26", "url": "https://files.pythonhosted.org/packages/10/50/3821f2e5dee70f2d7590d029d1eee00e2405efcbf2b3d383061cfa549acb/venom-1.0.0a3.tar.gz" } ], "1.0.0a4": [ { "comment_text": "", "digests": { "md5": "58bcc09f152e822b61f0fd5fc44efd84", "sha256": "b583f0d75bda3696bb151bb17f0a4914fc270968370c949d77b7014533900306" }, "downloads": -1, "filename": "venom-1.0.0a4.tar.gz", "has_sig": false, "md5_digest": "58bcc09f152e822b61f0fd5fc44efd84", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19829, "upload_time": "2017-01-30T16:12:20", "url": "https://files.pythonhosted.org/packages/aa/ff/f580d32f01da38b4081316452702025e5e8e8810b4bd8c585abc2e4dbe18/venom-1.0.0a4.tar.gz" } ], "1.0.0a5": [ { "comment_text": "", "digests": { "md5": "985b45de86ef79fedc45710478253a16", "sha256": "dcd544496d12623d2dcd4052dc57931a2fc322d745ae05fc2f0b4f08e1289812" }, "downloads": -1, "filename": "venom-1.0.0a5.tar.gz", "has_sig": false, "md5_digest": "985b45de86ef79fedc45710478253a16", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24674, "upload_time": "2017-04-12T09:05:28", "url": "https://files.pythonhosted.org/packages/d8/35/be857167741285c1ba695f4334563daeae62ab4aa9366e10a1c500da962d/venom-1.0.0a5.tar.gz" } ], "1.0.0a6": [ { "comment_text": "", "digests": { "md5": "97d23369e2eb381bfd451fb62888b00e", "sha256": "665c90ec26c568175f1708691c873fd631c537ac973cd79cebf2a792ae8249b7" }, "downloads": -1, "filename": "venom-1.0.0a6.tar.gz", "has_sig": false, "md5_digest": "97d23369e2eb381bfd451fb62888b00e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29431, "upload_time": "2017-05-17T10:43:35", "url": "https://files.pythonhosted.org/packages/ff/78/25c236312a4a8dc84e9595135b7eb2c92ae61a5f12630c30d32779018adc/venom-1.0.0a6.tar.gz" } ], "2.0.0": [ { "comment_text": "", "digests": { "md5": "4fb594db54473042f83e2ce0e73e526b", "sha256": "95d0b2c91559be35dfd00602251edaecaebcd8331e747ec3dbb969fe03e9805d" }, "downloads": -1, "filename": "venom-2.0.0.tar.gz", "has_sig": false, "md5_digest": "4fb594db54473042f83e2ce0e73e526b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29153, "upload_time": "2018-01-30T10:34:39", "url": "https://files.pythonhosted.org/packages/f2/c9/74a77e0034b257eba19f2fb56e06159ee7aedf5b872847afa5f8123c274c/venom-2.0.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "4fb594db54473042f83e2ce0e73e526b", "sha256": "95d0b2c91559be35dfd00602251edaecaebcd8331e747ec3dbb969fe03e9805d" }, "downloads": -1, "filename": "venom-2.0.0.tar.gz", "has_sig": false, "md5_digest": "4fb594db54473042f83e2ce0e73e526b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29153, "upload_time": "2018-01-30T10:34:39", "url": "https://files.pythonhosted.org/packages/f2/c9/74a77e0034b257eba19f2fb56e06159ee7aedf5b872847afa5f8123c274c/venom-2.0.0.tar.gz" } ] }