1{ 2 lib, 3 asyncclick, 4 buildPythonPackage, 5 fetchPypi, 6 firebase-messaging, 7 oauthlib, 8 poetry-core, 9 pytest-asyncio, 10 pytest-mock, 11 pytest-socket, 12 pytestCheckHook, 13 pythonOlder, 14 pytz, 15 requests, 16 requests-mock, 17 requests-oauthlib, 18}: 19 20buildPythonPackage rec { 21 pname = "ring-doorbell"; 22 version = "0.8.11"; 23 pyproject = true; 24 25 disabled = pythonOlder "3.8"; 26 27 src = fetchPypi { 28 pname = "ring_doorbell"; 29 inherit version; 30 hash = "sha256-XygVfIf6zlKy2kv/9TKLG8MpYX4YnzYIKiSG7nP5YI8="; 31 }; 32 33 build-system = [ poetry-core ]; 34 35 dependencies = [ 36 asyncclick 37 oauthlib 38 pytz 39 requests 40 requests-oauthlib 41 ]; 42 43 passthru.optional-dependencies = { 44 listen = [ firebase-messaging ]; 45 }; 46 47 nativeCheckInputs = [ 48 pytest-asyncio 49 pytest-mock 50 pytest-socket 51 pytestCheckHook 52 requests-mock 53 ]; 54 55 pythonImportsCheck = [ "ring_doorbell" ]; 56 57 meta = with lib; { 58 description = "Library to communicate with Ring Door Bell"; 59 homepage = "https://github.com/tchellomello/python-ring-doorbell"; 60 changelog = "https://github.com/tchellomello/python-ring-doorbell/releases/tag/${version}"; 61 license = licenses.lgpl3Plus; 62 maintainers = with maintainers; [ graham33 ]; 63 mainProgram = "ring-doorbell"; 64 }; 65}