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