Registry / http-networking / suds-community

suds-community

JSON →
library1.2.0pypypi✓ verified 24d ago

suds-community is a lightweight SOAP-based web service client for Python, designed to provide an RPC-like interface to SOAP services and abstract away the complexities of WSDLs. It is a community-maintained fork of the 'suds-jurko' project, which itself originated from the unmaintained 'suds' library. The project is actively developed, with the current version being 1.2.0, released in August 2024.

pip install suds-community
INSTALL
IMPORT
SIG · SUDS-COMMUNITY
S
suds-community
http-networkingpythonv1.2.0
Install
1.6s avg
Import
175ms
Disk
17MB
Pass rate
10/ 10
Env Coverage10 / 10
glibc
3.93.13
musl
3.93.13
Install & Compatibility
Where this runs
tested against v1.2.0 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
py 3.103.95 runs
installs and imports cleanly · install 0.0s · import 0.184s · 18.9MB
glibc
py 3.103.95 runs
installs and imports cleanly · install 1.6s · import 0.166s · 19MB
17MB installed
● package 17MB
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

Client
from suds.client import Client
from suds import Client
The Client class is located within the 'client' submodule.

Initialize a `Client` with a WSDL URL to interact with a SOAP web service. The `client.service` object exposes available methods directly, which can be inspected by printing the object itself. The `client.factory` can be used to create complex types if required by the service.

from suds.client import Client # A public WSDL for a simple calculator service # NOTE: This WSDL is an example, real-world services require valid endpoints and proper authentication wsdl_url = 'http://www.dneonline.com/calculator.asmx?WSDL' try: client = Client(wsdl_url) print(f"Connected to service: {client.service}") print("Available methods:") print(client.service) # Example: Call the 'Add' method result = client.service.Add(10, 5) print(f"10 + 5 = {result}") # Example: Call the 'Divide' method result = client.service.Divide(10, 2) print(f"10 / 2 = {result}") except Exception as e: print(f"An error occurred: {e}")
Debug
Known issues
breakingThe `suds-community` package is a fork of `suds-jurko`, which itself forked the original `suds` library. Ensure you install `suds-community` as 'pip install suds-community' and import from `suds` (e.g., `from suds.client import Client`). Do not confuse it with the unmaintained original `suds` or `suds-jurko`, which may have Python 2 compatibility issues or different behaviors.
fix
Always install `suds-community` and use the imports as shown in the quickstart. Review your `requirements.txt` to ensure the correct package is specified.
affects: <= 1.0.0 of original suds, suds-jurko
gotchaWhen dealing with WSDLs that define multiple services or ports, `suds-community` will default to the first service and first port if not explicitly specified. This can lead to unexpected behavior if the desired service or port is not the default.
fix
Explicitly select the desired service and port using client options or subscripting the service object: `client.set_options(service='MyService', port='MyPort')` or `client.service['MyService']['MyPort'].myMethod()`.
affects: All versions
deprecatedEarlier versions of `suds` (prior to `suds-community` and even `suds-jurko` forks) had a known security vulnerability (CVE-2013-2217) related to the default cache location. `suds-community` has implemented a fix for this by using a separate temporary folder per process.
fix
Ensure you are using `suds-community` version 0.7.0 or newer to benefit from this fix. Regularly update your packages to mitigate known vulnerabilities.
affects: Original `suds` (<0.4.1) and potentially early `suds-jurko` versions. Not applicable to `suds-community` v0.7.0+.
gotchaDue to how `suds-community` is packaged and named versus the historical `suds` package, a `pip download suds` command might fail with a message like "has inconsistent name: expected 'suds', but metadata has 'suds-community'".
fix
Use `pip download suds-community` instead of `pip download suds` when explicitly trying to download the `suds-community` package.
affects: All versions
Upgrade
Version history
1.2.0latest on PyPI · released Aug 24, 2024
Audit
Dependencies
pythonrequiredRequires Python 3.7 or newer for compatibility.
Agent activity
14 hits · last 30 days
node
12
OpenAI (training)
1
Resources
suds-community — pip install suds-community · libregistry