{ "info": { "author": "Arie", "author_email": "ariesorkin3@gmail.com", "bugtrack_url": null, "classifiers": [ "Programming Language :: Python :: 3" ], "description": "![Sample image](https://gitlab.com/uploads/-/system/project/avatar/42327849/a5e01db694b47cd07018813ce821a4e1.png?width=64)\n\n\naiosox: repo link \n=======================================\nQuick example\n-----------\n\ncan be installed using pip/poetry:\n\n poetry shell\n \n poetry run uvicorn example:app --port=8001\n \n```python\nfrom typing import List\n\nfrom fastapi import FastAPI\nfrom pydantic import BaseModel\n\nfrom aiosox import SioAuth, SioNamespace, SocketIoServer\n\n\ndef get_app():\n applitcation = FastAPI(title=\"tester\")\n return applitcation\n\n\napp = get_app()\n\nsio_server: SocketIoServer = SocketIoServer(app=app, kafka_url=\"localhost:29092\")\nuser_namespapce: SioNamespace = SioNamespace(\"/user\", socket_io_server=sio_server)\nsio_server._sio.register_namespace(user_namespapce)\n\n\n@app.on_event(\"startup\")\nasync def on_start():\n await sio_server.start()\n\n\n@app.on_event(\"shutdown\")\nasync def on_shutdown():\n await sio_server.shutdown()\n\n\nclass UserY(BaseModel):\n name: str\n\n\nclass UserT(BaseModel):\n name: str\n what: List[UserY]\n\n\nclass OfferT(BaseModel):\n title: str\n\n\non_failed_emmiter = user_namespapce.create_emitter(\"failed\", model=OfferT | UserT)\n\n\n@user_namespapce.on(\n \"submit\",\n description=\"when user submits a form\",\n payload_model=UserT | UserY,\n response_model=List[UserT],\n auth=SioAuth.jwt,\n)\nasync def on_submit(sid, data):\n print(\n sid,\n data,\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://gitlab.com/arieutils/aiosox", "keywords": "fastapi,asyncapi,kafka,aiokafka,socketio,pubsub,websockets", "license": "", "maintainer": "", "maintainer_email": "", "name": "aiosox", "package_url": "https://pypi.org/project/aiosox/", "platform": null, "project_url": "https://pypi.org/project/aiosox/", "project_urls": { "Documentation": "https://arieutils.gitlab.io/aiosox/", "Homepage": "https://gitlab.com/arieutils/aiosox", "Repository": "https://gitlab.com/arieutils/aiosox" }, "release_url": "https://pypi.org/project/aiosox/0.3.0/", "requires_dist": [ "anyio[trio] (>=3.6.2,<4.0.0)", "pydantic (>=1.10.4,<2.0.0)", "aiokafka (>=0.8.0,<0.9.0)", "python-socketio (>=5.7.2,<6.0.0)", "orjson (>=3.8.3,<4.0.0)", "mkdocs (>=1.4.2,<2.0.0)", "mkdocs-material (>=9.0.2,<10.0.0)", "fastapi (>=0.88.0,<0.89.0)", "uvicorn[standard] (>=0.20.0,<0.21.0)" ], "requires_python": "==3.11.1", "summary": "\u26d3\ufe0f Combination of asyncapi(documentation) & socketio pub/sub using aiokafka as the client manager multinode backend services", "version": "0.3.0", "yanked": false, "yanked_reason": null }, "last_serial": 16373744, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "blake2b_256": "aa2852577ffa7b49a09d2686b4b1c5991c8aa07d2852c38229725476be18f5b2", "md5": "9cc84a1e54a167f623a42bb2e793a21d", "sha256": "5f97b0301e7695059cd0fa01bd036387ba5f21f9fd390d1748ecba0945ba23f8" }, "downloads": -1, "filename": "aiosox-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "9cc84a1e54a167f623a42bb2e793a21d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": "==3.11.1", "size": 26158, "upload_time": "2023-01-05T11:34:39", "upload_time_iso_8601": "2023-01-05T11:34:39.300389Z", "url": "https://files.pythonhosted.org/packages/aa/28/52577ffa7b49a09d2686b4b1c5991c8aa07d2852c38229725476be18f5b2/aiosox-0.1.0-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "blake2b_256": "de13d30462ae9c4b3892c8f7e83848b8b3485b852a9dff3f2f5f393e5b676ac1", "md5": "db1c71a63efef26cf11a26b9336e4ae8", "sha256": "497438350f1caba84e33cac0dcadf64d86e690e5428868d6c1bbcdefbe43b6b4" }, "downloads": -1, "filename": "aiosox-0.1.0.tar.gz", "has_sig": false, "md5_digest": "db1c71a63efef26cf11a26b9336e4ae8", "packagetype": "sdist", "python_version": "source", "requires_python": "==3.11.1", "size": 17592, "upload_time": "2023-01-05T11:34:41", "upload_time_iso_8601": "2023-01-05T11:34:41.031487Z", "url": "https://files.pythonhosted.org/packages/de/13/d30462ae9c4b3892c8f7e83848b8b3485b852a9dff3f2f5f393e5b676ac1/aiosox-0.1.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.1": [ { "comment_text": "", "digests": { "blake2b_256": "e5a39c5948ca71445de30c4b2eec3da2ca0ad3d38e2ff6520396a5b3530f73b0", "md5": "a9b2be7584027da2c98c3a00c2691dd5", "sha256": "c5f70ce0268c2d7da5addb45cf3800599515728f6bd5b04acf50172b39b11a20" }, "downloads": -1, "filename": "aiosox-0.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "a9b2be7584027da2c98c3a00c2691dd5", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": "==3.11.1", "size": 26168, "upload_time": "2023-01-05T11:41:40", "upload_time_iso_8601": "2023-01-05T11:41:40.168209Z", "url": "https://files.pythonhosted.org/packages/e5/a3/9c5948ca71445de30c4b2eec3da2ca0ad3d38e2ff6520396a5b3530f73b0/aiosox-0.1.1-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "blake2b_256": "fba0876d0f516a598a93814632337612fe04bd5815d048fe60814c7203dbf73f", "md5": "3b5d825b930f59712806ddf0b86e5c4a", "sha256": "697c5848b58ce6d437d4953735c6562b5962c597440e764b9be6d4499a9cb575" }, "downloads": -1, "filename": "aiosox-0.1.1.tar.gz", "has_sig": false, "md5_digest": "3b5d825b930f59712806ddf0b86e5c4a", "packagetype": "sdist", "python_version": "source", "requires_python": "==3.11.1", "size": 17614, "upload_time": "2023-01-05T11:41:41", "upload_time_iso_8601": "2023-01-05T11:41:41.679521Z", "url": "https://files.pythonhosted.org/packages/fb/a0/876d0f516a598a93814632337612fe04bd5815d048fe60814c7203dbf73f/aiosox-0.1.1.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.2": [ { "comment_text": "", "digests": { "blake2b_256": "a76c5f1b420531aa01c991ecc70a91a483efcd194ba05b7e41f619bb5f76cd09", "md5": "ce4ccf5a396bb3ea96d6cf2ec6242c3c", "sha256": "f0c8c39be5bfbd4a2cefa442ea91d980c82fdb8b00e975f35126421cce8dc0e3" }, "downloads": -1, "filename": "aiosox-0.1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "ce4ccf5a396bb3ea96d6cf2ec6242c3c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": "==3.11.1", "size": 26726, "upload_time": "2023-01-05T11:49:07", "upload_time_iso_8601": "2023-01-05T11:49:07.868052Z", "url": "https://files.pythonhosted.org/packages/a7/6c/5f1b420531aa01c991ecc70a91a483efcd194ba05b7e41f619bb5f76cd09/aiosox-0.1.2-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "blake2b_256": "f8debc6acc994a893247adae07e0fed3b0cc9ac5adf90335ae32182059ced894", "md5": "7cee0ef97d78b9bf7f8dc50939e7fa68", "sha256": "6da77814dd64161a1ef7e1fe62c8d050778b765f19aae3fdad5c63c08fd184aa" }, "downloads": -1, "filename": "aiosox-0.1.2.tar.gz", "has_sig": false, "md5_digest": "7cee0ef97d78b9bf7f8dc50939e7fa68", "packagetype": "sdist", "python_version": "source", "requires_python": "==3.11.1", "size": 18793, "upload_time": "2023-01-05T11:49:09", "upload_time_iso_8601": "2023-01-05T11:49:09.326046Z", "url": "https://files.pythonhosted.org/packages/f8/de/bc6acc994a893247adae07e0fed3b0cc9ac5adf90335ae32182059ced894/aiosox-0.1.2.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.3": [ { "comment_text": "", "digests": { "blake2b_256": "004fb581b199fbd2930c6ac3f48f937f5dee6715f3c3b54359ee75a97187f29a", "md5": "d3f70b00a6246a22ec0bab04dd3c87ab", "sha256": "9e40e5f9342e41c31fead7eaadc3a1266ea57a6f74da008ad2a6fc1812c0a167" }, "downloads": -1, "filename": "aiosox-0.1.3-py3-none-any.whl", "has_sig": false, "md5_digest": "d3f70b00a6246a22ec0bab04dd3c87ab", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": "==3.11.1", "size": 26728, "upload_time": "2023-01-05T11:51:17", "upload_time_iso_8601": "2023-01-05T11:51:17.295467Z", "url": "https://files.pythonhosted.org/packages/00/4f/b581b199fbd2930c6ac3f48f937f5dee6715f3c3b54359ee75a97187f29a/aiosox-0.1.3-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "blake2b_256": "efb50ff0059ba28932d044c34f757019924eef443b42311c6e9d4dbafbbbbc2f", "md5": "758c60a7c4c5a2f26988794b31bbe420", "sha256": "e3de75d2d86a887dcba141787b86c052a36238b80909d6a92e890b5ceb116e0b" }, "downloads": -1, "filename": "aiosox-0.1.3.tar.gz", "has_sig": false, "md5_digest": "758c60a7c4c5a2f26988794b31bbe420", "packagetype": "sdist", "python_version": "source", "requires_python": "==3.11.1", "size": 18800, "upload_time": "2023-01-05T11:51:18", "upload_time_iso_8601": "2023-01-05T11:51:18.524511Z", "url": "https://files.pythonhosted.org/packages/ef/b5/0ff0059ba28932d044c34f757019924eef443b42311c6e9d4dbafbbbbc2f/aiosox-0.1.3.tar.gz", "yanked": false, "yanked_reason": null } ], "0.2.0": [ { "comment_text": "", "digests": { "blake2b_256": "8e6c799a799123030fff3cdd39f370f233618fe912ab772ba0d4120917f7cad1", "md5": "134769784d78543c1e0f520689280efc", "sha256": "c37829f59be1b6e1bfae22a0337e7aa6bef7dda372b8d7a015f3c2b52448b096" }, "downloads": -1, "filename": "aiosox-0.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "134769784d78543c1e0f520689280efc", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": "==3.11.1", "size": 26730, "upload_time": "2023-01-05T11:58:10", "upload_time_iso_8601": "2023-01-05T11:58:10.197426Z", "url": "https://files.pythonhosted.org/packages/8e/6c/799a799123030fff3cdd39f370f233618fe912ab772ba0d4120917f7cad1/aiosox-0.2.0-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "blake2b_256": "91d21261603bcebf9be7f5259c1602b0384108129cadaf73c16e08703856b899", "md5": "f0604bbf333a7c693c30013cdb81ffd4", "sha256": "1732a70a6a82d52eb942f88c50b0e45f8973c2e38f983b14ce778fecfe44dfb1" }, "downloads": -1, "filename": "aiosox-0.2.0.tar.gz", "has_sig": false, "md5_digest": "f0604bbf333a7c693c30013cdb81ffd4", "packagetype": "sdist", "python_version": "source", "requires_python": "==3.11.1", "size": 18809, "upload_time": "2023-01-05T11:58:11", "upload_time_iso_8601": "2023-01-05T11:58:11.542370Z", "url": "https://files.pythonhosted.org/packages/91/d2/1261603bcebf9be7f5259c1602b0384108129cadaf73c16e08703856b899/aiosox-0.2.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.3.0": [ { "comment_text": "", "digests": { "blake2b_256": "766ab58d18b1fb8f8f796aef9fc2cc93757ccc068fa9d62aace2b3275dbc115f", "md5": "a925fc064d176779de52a8a5c079d7f1", "sha256": "8ed8afe9d20dcf7796f2d55f29a3be0d686a78ede239a25dc324f2f322378211" }, "downloads": -1, "filename": "aiosox-0.3.0-py3-none-any.whl", "has_sig": false, "md5_digest": "a925fc064d176779de52a8a5c079d7f1", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": "==3.11.1", "size": 27173, "upload_time": "2023-01-10T11:22:57", "upload_time_iso_8601": "2023-01-10T11:22:57.458133Z", "url": "https://files.pythonhosted.org/packages/76/6a/b58d18b1fb8f8f796aef9fc2cc93757ccc068fa9d62aace2b3275dbc115f/aiosox-0.3.0-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "blake2b_256": "53662fdbc5fafa73d399d80e2df4357831ff5534781b42e2c340d56baa0835c3", "md5": "65fae746b325cf9ea0212bb7e2f8c683", "sha256": "3ec444bd9e09ca392b9fafb3af5b4f3caeb4e58cef1ef297e710f5a84fab5a83" }, "downloads": -1, "filename": "aiosox-0.3.0.tar.gz", "has_sig": false, "md5_digest": "65fae746b325cf9ea0212bb7e2f8c683", "packagetype": "sdist", "python_version": "source", "requires_python": "==3.11.1", "size": 19098, "upload_time": "2023-01-10T11:22:59", "upload_time_iso_8601": "2023-01-10T11:22:59.074049Z", "url": "https://files.pythonhosted.org/packages/53/66/2fdbc5fafa73d399d80e2df4357831ff5534781b42e2c340d56baa0835c3/aiosox-0.3.0.tar.gz", "yanked": false, "yanked_reason": null } ] }, "urls": [ { "comment_text": "", "digests": { "blake2b_256": "766ab58d18b1fb8f8f796aef9fc2cc93757ccc068fa9d62aace2b3275dbc115f", "md5": "a925fc064d176779de52a8a5c079d7f1", "sha256": "8ed8afe9d20dcf7796f2d55f29a3be0d686a78ede239a25dc324f2f322378211" }, "downloads": -1, "filename": "aiosox-0.3.0-py3-none-any.whl", "has_sig": false, "md5_digest": "a925fc064d176779de52a8a5c079d7f1", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": "==3.11.1", "size": 27173, "upload_time": "2023-01-10T11:22:57", "upload_time_iso_8601": "2023-01-10T11:22:57.458133Z", "url": "https://files.pythonhosted.org/packages/76/6a/b58d18b1fb8f8f796aef9fc2cc93757ccc068fa9d62aace2b3275dbc115f/aiosox-0.3.0-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "blake2b_256": "53662fdbc5fafa73d399d80e2df4357831ff5534781b42e2c340d56baa0835c3", "md5": "65fae746b325cf9ea0212bb7e2f8c683", "sha256": "3ec444bd9e09ca392b9fafb3af5b4f3caeb4e58cef1ef297e710f5a84fab5a83" }, "downloads": -1, "filename": "aiosox-0.3.0.tar.gz", "has_sig": false, "md5_digest": "65fae746b325cf9ea0212bb7e2f8c683", "packagetype": "sdist", "python_version": "source", "requires_python": "==3.11.1", "size": 19098, "upload_time": "2023-01-10T11:22:59", "upload_time_iso_8601": "2023-01-10T11:22:59.074049Z", "url": "https://files.pythonhosted.org/packages/53/66/2fdbc5fafa73d399d80e2df4357831ff5534781b42e2c340d56baa0835c3/aiosox-0.3.0.tar.gz", "yanked": false, "yanked_reason": null } ], "vulnerabilities": [] }