suds
Lightweight SOAP client (community fork)
What it is and what it does
Suds is a Python SOAP client that abstracts away the complexity of WSDL and XML schema handling by reading service definitions at runtime and providing a simple object-oriented API. Instead of manually constructing SOAP messages, you instantiate a Client with a WSDL URL, inspect available methods, and call them as if they were local functions—Suds handles encoding, decoding, and transport behind the scenes.
The library supports the three main SOAP binding styles (Document/Literal, RPC/Literal, and RPC/Encoded) and includes a factory namespace for creating complex types defined in the WSDL. It relies on Python's standard logging module for debugging, allowing you to inspect sent and received SOAP messages at the module level. The package has no external runtime dependencies and is maintained as a community fork of the original suds project, with active releases and support for Python 3.7 and later.
Use it for:
- Calling legacy SOAP-based web services from Python applications without manually writing XML or SOAP envelope code.
- Integrating with enterprise services (e.g., ERP, CRM systems) that expose SOAP endpoints and provide WSDL documents.
- Building client-side proxies for SOAP services where you need runtime WSDL parsing rather than code generation.
- Debugging SOAP service interactions by enabling module-level logging to inspect messages and HTTP headers.
- Consuming complex WSDL types by using the factory namespace to instantiate objects matching service schema definitions.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Suds is a lightweight SOAP client library that lets you consume SOAP-based web services by reading WSDL at runtime and presenting an RPC-like interface without requiring code generation.
Yes, if you need to consume SOAP web services. Suds is actively maintained, has no external dependencies, installs easily, and carries no known security vulnerabilities. The LGPL copyleft license is a consideration if you plan to distribute proprietary code—you'll need to disclose your use and ensure license compatibility. For internal tools or open-source projects, it's a solid choice.
Install
suds on PyPI
pip
pip install sudsuv
uv add sudspoetry
poetry add sudsInstalling suds
Before you install
Installation is straightforward with low friction—the package is pure Python and ships as a wheel. The project is actively maintained as a community fork with recent releases, though the description notes historical installation issues with very old Python versions and setuptools versions that are no longer relevant.
License in practice
Suds is licensed under LGPL (copyleft). This means you can use it freely but must disclose your use of the library and make your own source code available under a compatible license if you distribute your application.
Quickstart
from suds.client import Client
url = 'http://example.com/service?wsdl'
client = Client(url)
result = client.service.someMethod('arg1', 'arg2')
print(result)
Requires a valid WSDL URL accessible at runtime; the service endpoint must be reachable when the client is instantiated.
Verify before relying
- Whether the package handles modern SOAP extensions (WS-Security, WS-Addressing) beyond Document/Literal, RPC/Literal, and RPC/Encoded (section 5).
- Performance characteristics and memory footprint when working with large WSDL schemas or high-volume SOAP messages.
- Compatibility with Python 3.11+ given the fact sheet lists support only through 3.10.
Package facts
| License | (specified using classifiers) (copyleft) |
| Python support | supports the current Python release (>=3.7) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | none |
| Maintenance | actively maintained — 720 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 592,985/month — #5,850 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: suds-1.2.0-py3-none-any.whl
Keywords: SOAP, web, service, client
Tags
More Internet packages
Botocore provides low-level, data-driven access…
permissive · top 100 on PyPI
aiobotocoreProvides an async client for AWS services using…
permissive · top 100 on PyPI
pydanticPydantic validates Python data structures…
permissive · top 100 on PyPI
filelockProvides a platform-independent file locking…
permissive · top 100 on PyPI
fastapiFastAPI is a Python web framework for building…
permissive · top 100 on PyPI
googleapis-common-protosProvides common Protocol Buffer message…
permissive · top 100 on PyPI
suds-communityLightweight SOAP-based web service client that…
copyleft · top 5,000 on PyPI
suds-jurkoProvides a lightweight SOAP client for calling…
copyleft · top 15,000 on PyPI
suds-py3A lightweight SOAP client library for Python 3…
copyleft · top 5,000 on PyPI
zeepZeep is a Python SOAP client that handles SOAP…
permissive · top 1,000 on PyPI
polarionProvides a Python client for interacting with…
permissive · top 15,000 on PyPI
spyneSpyne is a framework for building remote…
copyleft · top 15,000 on PyPI
xsdataxsdata generates Python dataclasses from XML…
permissive · top 5,000 on PyPI
netsuitesdkA Python SDK that wraps NetSuite's SOAP web…
permissive · top 15,000 on PyPI
xmlschemaValidates XML documents against XSD schemas and…
permissive · top 5,000 on PyPI
Salesforce-FuelSDK-SansProvides Python bindings to Salesforce…
permissive · top 15,000 on PyPI