1{ lib 2, backports-datetime-fromisoformat 3, backports-zoneinfo 4, buildPythonPackage 5, cached-property 6, defusedxml 7, dnspython 8, fetchFromGitHub 9, flake8 10, isodate 11, lxml 12, oauthlib 13, psutil 14, pygments 15, python-dateutil 16, pythonOlder 17, pytz 18, pyyaml 19, requests 20, requests_ntlm 21, requests_oauthlib 22, requests-kerberos 23, requests-mock 24, tzdata 25, tzlocal 26}: 27 28buildPythonPackage rec { 29 pname = "exchangelib"; 30 version = "4.6.1"; 31 format = "setuptools"; 32 33 disabled = pythonOlder "3.6"; 34 35 src = fetchFromGitHub { 36 owner = "ecederstrand"; 37 repo = pname; 38 rev = "v${version}"; 39 sha256 = "sha256-9MvxQe5VnR+UHB5DSn6EtExKTYsTvzZzCCaTTkCBQkU="; 40 }; 41 42 propagatedBuildInputs = [ 43 cached-property 44 defusedxml 45 dnspython 46 isodate 47 lxml 48 oauthlib 49 pygments 50 requests 51 requests_ntlm 52 requests_oauthlib 53 requests-kerberos 54 tzdata 55 tzlocal 56 ] ++ lib.optionals (pythonOlder "3.9") [ 57 backports-zoneinfo 58 ] ++ lib.optionals (pythonOlder "3.7") [ 59 backports-datetime-fromisoformat 60 ]; 61 62 checkInputs = [ 63 flake8 64 psutil 65 python-dateutil 66 pytz 67 pyyaml 68 requests-mock 69 ]; 70 71 pythonImportsCheck = [ 72 "exchangelib" 73 ]; 74 75 meta = with lib; { 76 description = "Client for Microsoft Exchange Web Services (EWS)"; 77 homepage = "https://github.com/ecederstrand/exchangelib"; 78 license = licenses.bsd2; 79 maintainers = with maintainers; [ catern ]; 80 }; 81}