1{ 2 lib, 3 aiohttp, 4 aresponses, 5 backoff, 6 beautifulsoup4, 7 buildPythonPackage, 8 certifi, 9 docutils, 10 fetchFromGitHub, 11 poetry-core, 12 pytest-aiohttp, 13 pytest-asyncio, 14 pytestCheckHook, 15 pythonOlder, 16 pytz, 17 types-pytz, 18 voluptuous, 19 websockets, 20}: 21 22buildPythonPackage rec { 23 pname = "simplisafe-python"; 24 version = "2024.01.0"; 25 pyproject = true; 26 27 disabled = pythonOlder "3.10"; 28 29 src = fetchFromGitHub { 30 owner = "bachya"; 31 repo = "simplisafe-python"; 32 tag = version; 33 hash = "sha256-ewbR2FI0t2F8HF0ZL5omsclB9OPAjHygGLPtSkVlvgM="; 34 }; 35 36 nativeBuildInputs = [ poetry-core ]; 37 38 propagatedBuildInputs = [ 39 aiohttp 40 backoff 41 beautifulsoup4 42 certifi 43 docutils 44 pytz 45 voluptuous 46 websockets 47 ]; 48 49 nativeCheckInputs = [ 50 aresponses 51 pytest-aiohttp 52 pytest-asyncio 53 pytestCheckHook 54 types-pytz 55 ]; 56 57 disabledTests = [ 58 # simplipy/api.py:253: InvalidCredentialsError 59 "test_request_error_failed_retry" 60 "test_update_error" 61 # ClientConnectorError: Cannot connect to host auth.simplisafe.com:443 ssl:default [Temporary failure in name resolution] 62 "test_client_async_from_refresh_token_unknown_error" 63 ]; 64 65 disabledTestPaths = [ 66 # Ignore the examples as they are prefixed with test_ 67 "examples/" 68 ]; 69 70 pythonImportsCheck = [ "simplipy" ]; 71 72 __darwinAllowLocalNetworking = true; 73 74 meta = with lib; { 75 changelog = "https://github.com/bachya/simplisafe-python/releases/tag/${version}"; 76 description = "Python library the SimpliSafe API"; 77 homepage = "https://simplisafe-python.readthedocs.io/"; 78 license = with licenses; [ mit ]; 79 maintainers = with maintainers; [ fab ]; 80 }; 81}