1{ lib
2, aiohttp
3, aioresponses
4, attrs
5, buildPythonPackage
6, cached-property
7, defusedxml
8, fetchFromGitHub
9, fetchpatch
10, freezegun
11, httpx
12, isodate
13, lxml
14, mock
15, platformdirs
16, pretend
17, pytest-asyncio
18, pytest-httpx
19, pytestCheckHook
20, pythonOlder
21, pytz
22, requests
23, requests-toolbelt
24, requests-file
25, requests-mock
26, xmlsec
27}:
28
29buildPythonPackage rec {
30 pname = "zeep";
31 version = "4.1.0";
32
33 disabled = pythonOlder "3.6";
34
35 src = fetchFromGitHub {
36 owner = "mvantellingen";
37 repo = "python-zeep";
38 rev = version;
39 sha256 = "sha256-fJLr2LJpbNQTl183R56G7sJILfm04R39qpJxLogQLoo=";
40 };
41
42 patches = [
43 (fetchpatch {
44 # fixes pytest_httpx test case; https://github.com/mvantellingen/python-zeep/pull/1293
45 url = "https://github.com/mvantellingen/python-zeep/commit/2907848185adcb4e6d8c093db6c617c64cb8c8bf.patch";
46 hash = "sha256-hpksgMfrBLvYtI1QIs1aHBtFq7C1PWpnAj8BW5ak1/4=";
47 })
48 ];
49
50 propagatedBuildInputs = [
51 attrs
52 cached-property
53 defusedxml
54 httpx
55 isodate
56 lxml
57 platformdirs
58 pytz
59 requests
60 requests-file
61 requests-toolbelt
62 xmlsec
63 ];
64
65 checkInputs = [
66 aiohttp
67 aioresponses
68 freezegun
69 mock
70 pretend
71 pytest-asyncio
72 pytest-httpx
73 pytestCheckHook
74 requests-mock
75 ];
76
77 preCheck = ''
78 export HOME=$(mktemp -d);
79 '';
80
81 disabledTests = [
82 # lxml.etree.XMLSyntaxError: Extra content at the end of the document, line 2, column 64
83 "test_mime_content_serialize_text_xml"
84 # Tests are outdated
85 "test_load"
86 "test_load_cache"
87 "test_post"
88 ];
89
90 pythonImportsCheck = [
91 "zeep"
92 ];
93
94 meta = with lib; {
95 description = "Python SOAP client";
96 homepage = "http://docs.python-zeep.org";
97 license = licenses.mit;
98 maintainers = with maintainers; [ rvl ];
99 };
100}