When comparing SUDS vs zeep, the Slant community recommends zeep for most people. In the question“What are the best SOAP client libraries for Python?” zeep is ranked 1st while SUDS is ranked 2nd. The most important reason people chose zeep is:
Compatible with Python 2.7, 3.3, 3.4, 3.5, 3.6 and PyPy.
Ranked in these QuestionsQuestion Ranking
Pros
Pro WSDL caching
While it is known that SUDS can have slow performance with large WSDLs, as it must download and parse the entire WSDL on startup, it has the handy feature of caching the WSDL. If you know that the file will not be updated regularly you can cache it for a specified time, otherwise it will default to cache for 1 day. By doing this you save the client from having to download and parse the entire WSDL each time it connects.
Pro Python 3.x compatibility
Users can achieve Python 3.x compatibility from forked versions of the official SUDS library.
Pro Compatible with multiple Python versions
Compatible with Python 2.7, 3.3, 3.4, 3.5, 3.6 and PyPy.
Pro Build on top of lxml and requests
Pro Supports automatic retry on error
Retries can be configured in Requests transport for a wide variety of errors.
Pro Caches WSDL files by default
Local cache is configurable and can be disabled (e.g. using all wsdl files from local disk).
Pro Handles correctly circular dependencies in WSDL files
Pro Supports WSDL files according to the standard
Identifies errors in WSDL files; uses without errors standard-compliant files.
Pro Support for WSA and WSSE
Pro Support for Asyncio
Support for asyncio via aiohttp (Python 3.5+).
Pro Support for Soap 1.1, Soap 1.2 and HTTP bindings
Cons
Con Outdated
It's been more than 2 years since it was updated. It is outdated to the point that its hosting point (fedorahosted.org) has closed shop, although some forks can still be found on github. Multiple workarounds are needed for modern features (e.g. HTTPS, encryption). Its main fork (jurko) is unmaintained for several years; a newer fork on github (suds-community) ports to Python3, but there are too few commits to fix all the bugs.
Con Does not support Retry on error
Its default implementation does not support Retry configuration. To use, it requires a custom implementation of the Transport, based on Requests.
Con Does not handle circular WSDL references
Con Requires non-standard WSDL files
Importing local file imports in wsdl require URI format contrary to the standard; URI formats specified by standard generate errors.
Con No official Python 3.x support
Development on the original project SUDS has stalled and it looks like it will not continue. The forked version gives Python 3.x support, but support and installation may be cumbersome for individuals to undertake.
Con Lacks SSL support
Con Buggy
In some cases, received XML is not correctly parsed into objects.