Subject: [bug#53190] [PATCH 5/5] gnu: Add python-zeep.

From: Vinicius Monego <[email-masked]>
Date: Tue, 11 Jan 2022 16:25:18 +0000

* gnu/packages/python-web.scm (python-zeep): New variable.
---
 gnu/packages/python-web.scm | 69 +++++++++++++++++++++++++++++++++++++
 1 file changed, 69 insertions(+)

diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index c41860f4c9..98826d5e1f 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -5176,6 +5176,75 @@ Plus all the standard features of requests:
 @end itemize")
     (license license:bsd-3)))
 
+(define-public python-zeep
+  (package
+    (name "python-zeep")
+    (version "4.1.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "zeep" version))
+       (sha256
+        (base32 "1ranr4hkjd2kbbhxa3is1qlgkankj3sml5gla6bqs0kbvpmg4rsq"))))
+    (build-system python-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         ;; There is a bug somewhere that makes platformdirs appear as verison
+         ;; 0.0.0 to setup.py.  Remove it from the requirements.
+         (add-after 'unpack 'remove-requirement
+           (lambda _
+             (substitute* "setup.py"
+               ((".*platformdirs.*") ""))))
+         (add-before 'check 'set-home
+           (lambda _
+             (setenv "HOME" (getcwd)))) ; one test requires write access
+         (replace 'check
+           (lambda* (#:key inputs outputs tests? #:allow-other-keys)
+             (when tests?
+               (add-installed-pythonpath inputs outputs)
+               (invoke "python" "-m" "pytest")))))))
+    (propagated-inputs
+     (list python-attrs
+           python-cached-property
+           python-isodate
+           python-lxml
+           python-platformdirs
+           python-pytz
+           python-requests
+           python-requests-file
+           python-requests-toolbelt))
+    (native-inputs
+     (list python-aiohttp
+           python-aioresponses
+           python-coverage
+           python-flake8
+           python-flake8-blind-except
+           python-flake8-debugger
+           python-flake8-imports
+           python-freezegun
+           python-isort
+           python-mock
+           python-pretend
+           python-pytest
+           python-pytest-asyncio
+           python-pytest-cov
+           python-pytest-httpx
+           python-requests-mock))
+    (home-page "https://docs.python-zeep.org/en/stable/")
+    (synopsis "Python SOAP client based on lxml / requests")
+    (description "Zeep is a Python SOAP client.  Highlights:
+
+@itemize
+@item Build on top of @code{lxml} and @code{requests}.
+@item Support for Soap 1.1, Soap 1.2 and HTTP bindings.
+@item Support for WS-Addressing headers.
+@item Support for WSSE (UserNameToken / x.509 signing).
+@item Support for @code{asyncio} via @code{httpx}.
+@item Experimental support for XOP messages.
+@end itemize")
+    (license license:expat)))
+
 (define-public python-wsgiprox
   (package
     (name "python-wsgiprox")
-- 
2.30.2