1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 setuptools,
6 pytestCheckHook,
7 pythonOlder,
8 python-dotenv,
9 pytz,
10 requests,
11 typing-extensions,
12 yarl,
13}:
14
15buildPythonPackage rec {
16 pname = "transmission-rpc";
17 version = "7.0.11";
18 pyproject = true;
19
20 disabled = pythonOlder "3.8";
21
22 src = fetchFromGitHub {
23 owner = "Trim21";
24 repo = "transmission-rpc";
25 tag = "v${version}";
26 hash = "sha256-t07TuLLHfbxvWh+7854OMigfGC8jHzvpd4QO3v0M15I=";
27 };
28
29 build-system = [ setuptools ];
30
31 dependencies = [
32 requests
33 typing-extensions
34 ];
35
36 nativeCheckInputs = [
37 python-dotenv
38 pytz
39 pytestCheckHook
40 yarl
41 ];
42
43 pythonImportsCheck = [ "transmission_rpc" ];
44
45 disabledTests = [
46 # Tests require a running Transmission instance
47 "test_groups"
48 "test_real"
49 ];
50
51 meta = with lib; {
52 description = "Python module that implements the Transmission bittorent client RPC protocol";
53 homepage = "https://github.com/Trim21/transmission-rpc";
54 changelog = "https://github.com/trim21/transmission-rpc/releases/tag/v${version}";
55 license = licenses.mit;
56 maintainers = with maintainers; [ eyjhb ];
57 };
58}