{ "info": { "author": "synodriver", "author_email": "diguohuangjiajinweijun@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Framework :: AsyncIO", "License :: OSI Approved :: GNU General Public License v3 (GPLv3)", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: Implementation :: CPython" ], "description": "

\u2728 aioqb \u2728

\r\n\r\n

The asyncio Qbittorrent Client

\r\n\r\n\r\n\r\n[![pypi](https://img.shields.io/pypi/v/aioqb.svg)](https://pypi.org/project/aioqb/)\r\n![python](https://img.shields.io/pypi/pyversions/aioqb)\r\n![implementation](https://img.shields.io/pypi/implementation/aioqb)\r\n![wheel](https://img.shields.io/pypi/wheel/aioqb)\r\n![license](https://img.shields.io/github/license/synodriver/aioqbittorrent.svg)\r\n![action](https://img.shields.io/github/workflow/status/synodriver/aioqbittorrent/build%20wheel)\r\n\r\n# The asyncio Qbittorrent Client\r\n\r\n```python\r\nimport asyncio\r\nimport aioqb\r\n\r\n\r\nasync def main():\r\n client = aioqb.QbittorrentClient()\r\n await client.torrents_add(torrents=[open(\"xxx.torrent\", \"rb\")])\r\n print(await client.transfer_info())\r\n print(await client.torrents_info())\r\n\r\n\r\nasyncio.run(main())\r\n```\r\n### Auto ban thunder\r\n\r\n```python\r\n\"\"\"\r\nCopyright (c) 2008-2022 synodriver \r\n\"\"\"\r\n# Auto ban xunlei without qbee\r\nimport asyncio\r\nfrom pprint import pprint\r\nfrom aioqb import Client\r\n\r\nblock_list = [\"xl\", \"xunlei\"]\r\n\r\n\r\nasync def main():\r\n async with Client() as client:\r\n pprint(await client.auth_login())\r\n while True:\r\n d = await client.sync_maindata()\r\n # pprint(d)\r\n torrent_hashs = d['torrents'].keys()\r\n rid = d['rid']\r\n for t in torrent_hashs:\r\n data = await client.sync_torrentPeers(hash=t, rid=0)\r\n # filter(lambda x: for ip, peer in data[\"peers\"].items() if , block_list)\r\n for ip, peer in data[\"peers\"].items():\r\n # print(ip)\r\n # pprint(v)\r\n for b in block_list:\r\n if b in peer['client'].lower():\r\n await client.transfer_banPeers(ip)\r\n print(f\"ban peer {ip} {peer['client']}\")\r\n break\r\n await asyncio.sleep(1)\r\n\r\n\r\nasyncio.run(main())\r\n\r\n```\r\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "dynamic": null, "home_page": "https://github.com/synodriver/aioqbittorrent", "keywords": "asyncio,qbittorrent", "license": "GPLv3", "maintainer": "v-vinson", "maintainer_email": "", "name": "aioqb", "package_url": "https://pypi.org/project/aioqb/", "platform": null, "project_url": "https://pypi.org/project/aioqb/", "project_urls": { "Bug Tracker": "https://github.com/synodriver/aioqbittorrent/issues", "Homepage": "https://github.com/synodriver/aioqbittorrent" }, "provides_extra": null, "release_url": "https://pypi.org/project/aioqb/0.1.3/", "requires_dist": [ "aiohttp", "typing-extensions" ], "requires_python": ">=3.6", "summary": "Support qbittorrent rpc client and manage server with async/await", "version": "0.1.3", "yanked": false, "yanked_reason": null }, "last_serial": 22347729, "releases": { "0.1.1": [ { "comment_text": "", "digests": { "blake2b_256": "8916837208bf64c23ce877409bb7bc5e6caa8c5b6e4e3d52e147844ee003246e", "md5": "1d53de3c062e3854a4064b0310c5c082", "sha256": "ac39cce9f022af3f4ed865e704984b23ef5675b41755d7cce36051a26e404f57" }, "downloads": -1, "filename": "aioqb-0.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "1d53de3c062e3854a4064b0310c5c082", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 14886, "upload_time": "2023-03-14T09:25:30", "upload_time_iso_8601": "2023-03-14T09:25:30.670446Z", "url": "https://files.pythonhosted.org/packages/89/16/837208bf64c23ce877409bb7bc5e6caa8c5b6e4e3d52e147844ee003246e/aioqb-0.1.1-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "blake2b_256": "445670d456853a07726d4513a09629677b80b005497ced9c522209c5b528e6b4", "md5": "7a2c29ebdbbb6527a5032cfeb35dd566", "sha256": "79178be27ea48a659419627f69d167a80d4e9565426c8335c2acc36b8b6ca025" }, "downloads": -1, "filename": "aioqb-0.1.1.tar.gz", "has_sig": false, "md5_digest": "7a2c29ebdbbb6527a5032cfeb35dd566", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 15845, "upload_time": "2023-03-14T09:25:35", "upload_time_iso_8601": "2023-03-14T09:25:35.746093Z", "url": "https://files.pythonhosted.org/packages/44/56/70d456853a07726d4513a09629677b80b005497ced9c522209c5b528e6b4/aioqb-0.1.1.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.2": [ { "comment_text": "", "digests": { "blake2b_256": "d7cd74fbbb7b43dd4e807b229f167f73248082b44e602a3ab112758f05c5a992", "md5": "d16ac2694b7831789a2fe388f44376d8", "sha256": "a72e39d2c86e9b7926912b27e20c755922c4ff9ea49522f2405589b9227fc630" }, "downloads": -1, "filename": "aioqb-0.1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "d16ac2694b7831789a2fe388f44376d8", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 15184, "upload_time": "2024-03-16T08:01:32", "upload_time_iso_8601": "2024-03-16T08:01:32.808218Z", "url": "https://files.pythonhosted.org/packages/d7/cd/74fbbb7b43dd4e807b229f167f73248082b44e602a3ab112758f05c5a992/aioqb-0.1.2-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "blake2b_256": "754bf3732eb1445249d1a24db094b2594404309504a417168fc8b46d6b3c94e5", "md5": "1bf6da5365c77bb8a8bf0c419ebac737", "sha256": "9121bb16de0c37f6c4bf3370c406e514698d35c22146ae8d6fbce57a99e0fd96" }, "downloads": -1, "filename": "aioqb-0.1.2.tar.gz", "has_sig": false, "md5_digest": "1bf6da5365c77bb8a8bf0c419ebac737", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 17444, "upload_time": "2024-03-16T08:01:34", "upload_time_iso_8601": "2024-03-16T08:01:34.834114Z", "url": "https://files.pythonhosted.org/packages/75/4b/f3732eb1445249d1a24db094b2594404309504a417168fc8b46d6b3c94e5/aioqb-0.1.2.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.3": [ { "comment_text": "", "digests": { "blake2b_256": "b5ae9b917db5427f9dc4252d793cb97e0750690dab9c34ab7e6d14b3afa94726", "md5": "21814d4716293aaca0e90961b061dd82", "sha256": "b959c80456578ce0c530f2d340dcfafe7051e0e1dc6377ff3013afe97491615f" }, "downloads": -1, "filename": "aioqb-0.1.3-py3-none-any.whl", "has_sig": false, "md5_digest": "21814d4716293aaca0e90961b061dd82", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 15227, "upload_time": "2024-03-16T08:16:45", "upload_time_iso_8601": "2024-03-16T08:16:45.921783Z", "url": "https://files.pythonhosted.org/packages/b5/ae/9b917db5427f9dc4252d793cb97e0750690dab9c34ab7e6d14b3afa94726/aioqb-0.1.3-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "blake2b_256": "f7abe30f241228f6077fed9677487b368988e47b8944b4204e52981a0ad2bbce", "md5": "f967b38a76ea977d8e197553606feb04", "sha256": "72d7a9403f52d0faf201112e74d572de65574136a28aea09c9c08a41a1d45479" }, "downloads": -1, "filename": "aioqb-0.1.3.tar.gz", "has_sig": false, "md5_digest": "f967b38a76ea977d8e197553606feb04", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 17478, "upload_time": "2024-03-16T08:16:47", "upload_time_iso_8601": "2024-03-16T08:16:47.767764Z", "url": "https://files.pythonhosted.org/packages/f7/ab/e30f241228f6077fed9677487b368988e47b8944b4204e52981a0ad2bbce/aioqb-0.1.3.tar.gz", "yanked": false, "yanked_reason": null } ] }, "urls": [ { "comment_text": "", "digests": { "blake2b_256": "b5ae9b917db5427f9dc4252d793cb97e0750690dab9c34ab7e6d14b3afa94726", "md5": "21814d4716293aaca0e90961b061dd82", "sha256": "b959c80456578ce0c530f2d340dcfafe7051e0e1dc6377ff3013afe97491615f" }, "downloads": -1, "filename": "aioqb-0.1.3-py3-none-any.whl", "has_sig": false, "md5_digest": "21814d4716293aaca0e90961b061dd82", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 15227, "upload_time": "2024-03-16T08:16:45", "upload_time_iso_8601": "2024-03-16T08:16:45.921783Z", "url": "https://files.pythonhosted.org/packages/b5/ae/9b917db5427f9dc4252d793cb97e0750690dab9c34ab7e6d14b3afa94726/aioqb-0.1.3-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "blake2b_256": "f7abe30f241228f6077fed9677487b368988e47b8944b4204e52981a0ad2bbce", "md5": "f967b38a76ea977d8e197553606feb04", "sha256": "72d7a9403f52d0faf201112e74d572de65574136a28aea09c9c08a41a1d45479" }, "downloads": -1, "filename": "aioqb-0.1.3.tar.gz", "has_sig": false, "md5_digest": "f967b38a76ea977d8e197553606feb04", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 17478, "upload_time": "2024-03-16T08:16:47", "upload_time_iso_8601": "2024-03-16T08:16:47.767764Z", "url": "https://files.pythonhosted.org/packages/f7/ab/e30f241228f6077fed9677487b368988e47b8944b4204e52981a0ad2bbce/aioqb-0.1.3.tar.gz", "yanked": false, "yanked_reason": null } ], "vulnerabilities": [] }