1{ 2 lib, 3 buildPythonPackage, 4 fetchFromGitea, 5 async-timeout, 6 httpx, 7 httpx-socks, 8 proxy-py, 9 pytest-asyncio, 10 pytest-mock, 11 pytestCheckHook, 12 python-socks, 13 rencode, 14 setuptools, 15}: 16 17buildPythonPackage rec { 18 pname = "aiobtclientrpc"; 19 version = "5.0.1"; 20 pyproject = true; 21 22 src = fetchFromGitea { 23 domain = "codeberg.org"; 24 owner = "plotski"; 25 repo = "aiobtclientrpc"; 26 tag = "v${version}"; 27 hash = "sha256-2nBrIMlYUI4PwirkiSJSkw5zw2Kc/KoVRyIIYYx4iYs="; 28 }; 29 30 pythonRelaxDeps = [ "async-timeout" ]; 31 32 build-system = [ setuptools ]; 33 34 dependencies = [ 35 async-timeout 36 httpx 37 httpx-socks 38 python-socks 39 rencode 40 ] 41 ++ python-socks.optional-dependencies.asyncio; 42 43 nativeCheckInputs = [ 44 proxy-py 45 pytest-asyncio 46 pytest-mock 47 pytestCheckHook 48 ]; 49 50 disabledTests = [ 51 # Missing lambda parameter 52 "test_add_event_handler_with_autoremove" 53 # Try to use `htpasswd` and `nginx` with hard-coded paths 54 "test_authentication_error[rtorrent_http]" 55 "test_api_as_context_manager[rtorrent_http]" 56 "test_add_and_remove_torrents[rtorrent_http-paused]" 57 "test_add_and_remove_torrents[rtorrent_http-started]" 58 "test_proxy[rtorrent_http-http_proxy]" 59 "test_timeout[rtorrent_http]" 60 "test_event_subscriptions_survive_reconnecting[rtorrent_http]" 61 "test_waiting_for_event[rtorrent_http]" 62 # Tests are outdated 63 "test_DelugeRPCRequest_equality" 64 ]; 65 66 pythonImportsCheck = [ "aiobtclientrpc" ]; 67 68 meta = { 69 description = "Asynchronous low-level communication with BitTorrent clients"; 70 homepage = "https://aiobtclientrpc.readthedocs.io"; 71 license = lib.licenses.gpl3Plus; 72 maintainers = with lib.maintainers; [ ambroisie ]; 73 }; 74}