1{ lib
2, aiohttp
3, aioresponses
4, attrs
5, buildPythonPackage
6, defusedxml
7, fetchFromGitHub
8, freezegun
9, httpx
10, isodate
11, lxml
12, mock
13, platformdirs
14, pretend
15, pytest-asyncio
16, pytest-httpx
17, pytestCheckHook
18, pythonOlder
19, pytz
20, requests
21, requests-toolbelt
22, requests-file
23, requests-mock
24, xmlsec
25}:
26
27buildPythonPackage rec {
28 pname = "zeep";
29 version = "4.2.1";
30 format = "setuptools";
31
32 disabled = pythonOlder "3.6";
33
34 src = fetchFromGitHub {
35 owner = "mvantellingen";
36 repo = "python-zeep";
37 rev = "refs/tags/${version}";
38 hash = "sha256-8f6kS231gbaZ8qyE8BKMcbnZsm8o2+iBoTlQrs5X+jY=";
39 };
40
41 propagatedBuildInputs = [
42 attrs
43 defusedxml
44 isodate
45 lxml
46 platformdirs
47 pytz
48 requests
49 requests-file
50 requests-toolbelt
51 ];
52
53 passthru.optional-dependencies = {
54 async_require = [
55 httpx
56 ];
57 xmlsec_require = [
58 xmlsec
59 ];
60 };
61
62 pythonImportsCheck = [
63 "zeep"
64 ];
65
66 nativeCheckInputs = [
67 aiohttp
68 aioresponses
69 freezegun
70 mock
71 pretend
72 pytest-asyncio
73 pytest-httpx
74 pytestCheckHook
75 requests-mock
76 ]
77 ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
78
79 preCheck = ''
80 export HOME=$TMPDIR
81 '';
82
83 meta = with lib; {
84 changelog = "https://github.com/mvantellingen/python-zeep/releases/tag/${version}";
85 description = "Python SOAP client";
86 homepage = "http://docs.python-zeep.org";
87 license = licenses.mit;
88 maintainers = with maintainers; [ rvl ];
89 };
90}