Skip to content

deluge client in asyncio which implement low-level protocol

Notifications You must be signed in to change notification settings

synodriver/aiodeluge

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

✨ aiodeluge ✨

An asyncio deluge client talk to deluge

pypi python implementation wheel license action

Usage

import asyncio

from aiodeluge import Client

async def main():
    async with Client(timeout=10) as client:
        print(
            await client.send_request(
                "daemon.login", "synodriver", "123456", client_version="2.1.1"
            )
        )
        print(await client.send_request("core.get_auth_levels_mappings"))
        print(await client.send_request("core.get_external_ip"))
        print(await client.send_request("core.get_config"))


if __name__ == "__main__":
    asyncio.run(main())

Public api

import ssl as ssl_
from typing import Callable, Dict, Optional, Union

class Client:
    host: str
    port: int
    username: str
    password: str
    event_handlers: dict
    ssl: ssl_.SSLContext
    timeout: Union[int, float]
    
    def __init__(
        self,
        host: str = "127.0.0.1",
        port: Optional[int] = 58846,
        username: Optional[str] = "",
        password: Optional[str] = "",
        event_handlers: Optional[Dict[str, Callable]] = None,
        ssl: Optional[ssl_.SSLContext] = None,
        timeout: Optional[Union[int, float]] = None,
    ): ...
    
    async def connect(self): ...
    async def disconnect(self): ...
    async def send_request(self, method: str, *args, **kwargs): ...
    async def __aenter__(self): ...
    async def __aexit__(self, exc_type, exc_val, exc_tb): ...
    def __eq__(self, other: "Client"): ...

About

deluge client in asyncio which implement low-level protocol

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages