{"id":16217245,"url":"https://github.com/synodriver/aiodeluge","last_synced_at":"2025-04-07T23:14:31.219Z","repository":{"id":142597900,"uuid":"612991707","full_name":"synodriver/aiodeluge","owner":"synodriver","description":"deluge client in asyncio which implement low-level protocol","archived":false,"fork":false,"pushed_at":"2023-04-12T03:37:33.000Z","size":10,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-04-29T04:43:46.393Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/synodriver.png","metadata":{"files":{"readme":"README.markdown","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-03-12T15:30:43.000Z","updated_at":"2023-03-12T15:31:10.000Z","dependencies_parsed_at":"2024-10-10T11:26:17.169Z","dependency_job_id":"c801a257-fe7b-4e30-a5b6-536385aaedeb","html_url":"https://github.com/synodriver/aiodeluge","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/synodriver%2Faiodeluge","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/synodriver%2Faiodeluge/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/synodriver%2Faiodeluge/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/synodriver%2Faiodeluge/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/synodriver","download_url":"https://codeload.github.com/synodriver/aiodeluge/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247744333,"owners_count":20988783,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-10T11:26:15.978Z","updated_at":"2025-04-07T23:14:31.195Z","avatar_url":"https://github.com/synodriver.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003e\u003ci\u003e✨ aiodeluge ✨ \u003c/i\u003e\u003c/h1\u003e\n\n\u003ch3 align=\"center\"\u003eAn asyncio deluge client talk to \u003ca href=\"https://github.com/deluge-torrent/deluge\"\u003edeluge\u003c/a\u003e \u003c/h3\u003e\n\n\n\n[![pypi](https://img.shields.io/pypi/v/aiodeluge.svg)](https://pypi.org/project/aiodeluge/)\n![python](https://img.shields.io/pypi/pyversions/aiodeluge)\n![implementation](https://img.shields.io/pypi/implementation/aiodeluge)\n![wheel](https://img.shields.io/pypi/wheel/aiodeluge)\n![license](https://img.shields.io/github/license/synodriver/aiodeluge.svg)\n![action](https://img.shields.io/github/workflow/status/synodriver/aiodeluge/build%20wheel)\n\n### Usage\n```python\nimport asyncio\n\nfrom aiodeluge import Client\n\nasync def main():\n    async with Client(timeout=10) as client:\n        print(\n            await client.send_request(\n                \"daemon.login\", \"synodriver\", \"123456\", client_version=\"2.1.1\"\n            )\n        )\n        print(await client.send_request(\"core.get_auth_levels_mappings\"))\n        print(await client.send_request(\"core.get_external_ip\"))\n        print(await client.send_request(\"core.get_config\"))\n\n\nif __name__ == \"__main__\":\n    asyncio.run(main())\n```\n\n### Public api\n```python\nimport ssl as ssl_\nfrom typing import Callable, Dict, Optional, Union\n\nclass Client:\n    host: str\n    port: int\n    username: str\n    password: str\n    event_handlers: dict\n    ssl: ssl_.SSLContext\n    timeout: Union[int, float]\n    \n    def __init__(\n        self,\n        host: str = \"127.0.0.1\",\n        port: Optional[int] = 58846,\n        username: Optional[str] = \"\",\n        password: Optional[str] = \"\",\n        event_handlers: Optional[Dict[str, Callable]] = None,\n        ssl: Optional[ssl_.SSLContext] = None,\n        timeout: Optional[Union[int, float]] = None,\n    ): ...\n    \n    async def connect(self): ...\n    async def disconnect(self): ...\n    async def send_request(self, method: str, *args, **kwargs): ...\n    async def __aenter__(self): ...\n    async def __aexit__(self, exc_type, exc_val, exc_tb): ...\n    def __eq__(self, other: \"Client\"): ...\n\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsynodriver%2Faiodeluge","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsynodriver%2Faiodeluge","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsynodriver%2Faiodeluge/lists"}