1{ 2 lib, 3 buildPythonPackage, 4 fetchFromGitHub, 5 pythonAtLeast, 6 setuptools, 7 certifi, 8 click, 9 keyring, 10 keyrings-alt, 11 requests, 12 tzlocal, 13 pytest-mock, 14 pytestCheckHook, 15}: 16 17buildPythonPackage rec { 18 pname = "pyicloud"; 19 version = "1.0.0"; 20 pyproject = true; 21 22 src = fetchFromGitHub { 23 owner = "picklepete"; 24 repo = pname; 25 rev = version; 26 hash = "sha256-2E1pdHHt8o7CGpdG+u4xy5OyNCueUGVw5CY8oicYd5w="; 27 }; 28 29 nativeBuildInputs = [ setuptools ]; 30 31 propagatedBuildInputs = [ 32 certifi 33 click 34 keyring 35 keyrings-alt 36 requests 37 tzlocal 38 ]; 39 40 nativeCheckInputs = [ 41 pytest-mock 42 pytestCheckHook 43 ]; 44 45 disabledTests = lib.optionals (pythonAtLeast "3.12") [ 46 # https://github.com/picklepete/pyicloud/issues/446 47 "test_storage" 48 ]; 49 50 meta = with lib; { 51 description = "PyiCloud is a module which allows pythonistas to interact with iCloud webservices"; 52 mainProgram = "icloud"; 53 homepage = "https://github.com/picklepete/pyicloud"; 54 license = licenses.mit; 55 maintainers = [ maintainers.mic92 ]; 56 }; 57}