nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 aiohttp,
4 aioresponses,
5 attrs,
6 buildPythonPackage,
7 defusedxml,
8 fetchFromGitHub,
9 freezegun,
10 httpx,
11 isodate,
12 lxml,
13 mock,
14 packaging,
15 platformdirs,
16 pretend,
17 pytest-asyncio,
18 pytest-httpx,
19 pytestCheckHook,
20 pytz,
21 requests,
22 requests-toolbelt,
23 requests-file,
24 requests-mock,
25 setuptools,
26 xmlsec,
27}:
28
29buildPythonPackage rec {
30 pname = "zeep";
31 version = "4.3.2";
32 pyproject = true;
33
34 src = fetchFromGitHub {
35 owner = "mvantellingen";
36 repo = "python-zeep";
37 tag = version;
38 hash = "sha256-mGX61fAbFwheamOgK5lq/A/3FmTCuv0UfAlhOUwX2zg=";
39 };
40
41 build-system = [ setuptools ];
42
43 dependencies = [
44 attrs
45 defusedxml
46 isodate
47 lxml
48 packaging
49 platformdirs
50 pytz
51 requests
52 requests-file
53 requests-toolbelt
54 ];
55
56 optional-dependencies = {
57 async = [ httpx ];
58 xmlsec = [ xmlsec ];
59 };
60
61 pythonImportsCheck = [ "zeep" ];
62
63 nativeCheckInputs = [
64 aiohttp
65 aioresponses
66 freezegun
67 mock
68 pretend
69 pytest-asyncio
70 pytest-httpx
71 pytestCheckHook
72 requests-mock
73 ]
74 ++ lib.concatAttrValues optional-dependencies;
75
76 disabledTests = [
77 # Failed: External connections not allowed during tests.
78 "test_has_expired"
79 "test_has_not_expired"
80 "test_memory_cache_timeout"
81 "test_bytes_like_password_digest"
82 "test_password_digest"
83 ];
84
85 preCheck = ''
86 export HOME=$TMPDIR
87 '';
88
89 meta = {
90 changelog = "https://github.com/mvantellingen/python-zeep/releases/tag/${src.tag}";
91 description = "Python SOAP client";
92 homepage = "http://docs.python-zeep.org";
93 license = lib.licenses.mit;
94 };
95}