nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 buildPythonPackage,
4 cached-property,
5 defusedxml,
6 dnspython,
7 fetchFromGitHub,
8 isodate,
9 lxml,
10 oauthlib,
11 psutil,
12 pygments,
13 python-dateutil,
14 pytz,
15 pyyaml,
16 requests,
17 requests-ntlm,
18 requests-gssapi,
19 requests-oauthlib,
20 requests-mock,
21 setuptools,
22 tzdata,
23 tzlocal,
24}:
25
26buildPythonPackage rec {
27 pname = "exchangelib";
28 version = "5.6.0";
29 pyproject = true;
30
31 src = fetchFromGitHub {
32 owner = "ecederstrand";
33 repo = "exchangelib";
34 tag = "v${version}";
35 hash = "sha256-tmJq0AZLuOic63ziIr173lbz6sDF/u75Y2ASYnHHDTM=";
36 };
37
38 pythonRelaxDeps = [ "defusedxml" ];
39
40 build-system = [ setuptools ];
41
42 dependencies = [
43 cached-property
44 defusedxml
45 dnspython
46 isodate
47 lxml
48 oauthlib
49 pygments
50 requests
51 requests-ntlm
52 requests-oauthlib
53 tzdata
54 tzlocal
55 ];
56
57 optional-dependencies = {
58 complete = [
59 requests-gssapi
60 # requests-negotiate-sspi
61 ];
62 kerberos = [ requests-gssapi ];
63 # sspi = [
64 # requests-negotiate-sspi
65 # ];
66 };
67
68 nativeCheckInputs = [
69 psutil
70 python-dateutil
71 pytz
72 pyyaml
73 requests-mock
74 ];
75
76 pythonImportsCheck = [ "exchangelib" ];
77
78 meta = {
79 description = "Client for Microsoft Exchange Web Services (EWS)";
80 homepage = "https://github.com/ecederstrand/exchangelib";
81 changelog = "https://github.com/ecederstrand/exchangelib/blob/${src.tag}/CHANGELOG.md";
82 license = lib.licenses.bsd2;
83 };
84}