A lightweight SOAP python client for consuming Web Services.
Ranked in these QuestionsQuestion Ranking
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.
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.