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