1{ 2 lib, 3 aiofiles, 4 aiohttp, 5 aioresponses, 6 asyncclick, 7 buildPythonPackage, 8 fetchPypi, 9 firebase-messaging, 10 freezegun, 11 hatchling, 12 oauthlib, 13 pytest-asyncio, 14 pytest-freezer, 15 pytest-mock, 16 pytest-socket, 17 pytestCheckHook, 18 pythonOlder, 19 pytz, 20 typing-extensions, 21 websockets, 22}: 23 24buildPythonPackage rec { 25 pname = "ring-doorbell"; 26 version = "0.9.13"; 27 pyproject = true; 28 29 disabled = pythonOlder "3.9"; 30 31 src = fetchPypi { 32 pname = "ring_doorbell"; 33 inherit version; 34 hash = "sha256-M8lHODHdWXLvrDbQMeEgGaQMYCXicHTQta+XjJxSQlM="; 35 }; 36 37 pythonRelaxDeps = [ "requests-oauthlib" ]; 38 39 build-system = [ hatchling ]; 40 41 dependencies = [ 42 aiofiles 43 aiohttp 44 asyncclick 45 firebase-messaging 46 oauthlib 47 pytz 48 typing-extensions 49 websockets 50 ]; 51 52 nativeCheckInputs = [ 53 aioresponses 54 freezegun 55 pytest-asyncio 56 pytest-freezer 57 pytest-mock 58 pytest-socket 59 pytestCheckHook 60 ]; 61 62 pythonImportsCheck = [ "ring_doorbell" ]; 63 64 meta = with lib; { 65 description = "Library to communicate with Ring Door Bell"; 66 homepage = "https://github.com/tchellomello/python-ring-doorbell"; 67 changelog = "https://github.com/tchellomello/python-ring-doorbell/blob/${version}/CHANGELOG.md"; 68 license = licenses.lgpl3Plus; 69 maintainers = with maintainers; [ graham33 ]; 70 mainProgram = "ring-doorbell"; 71 }; 72}