Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
51 commits
Select commit Hold shift + click to select a range
50e9279
Update README.rst
mvantellingen Nov 3, 2022
df0ce40
Added return of value for accepted string type for xsd:base64Binary.
Apr 3, 2020
5a06276
Added assert for accepted string type for xsd:base64Binary.
Apr 3, 2020
ea2e166
remove six reference
mvantellingen Nov 3, 2022
703c975
Update
mvantellingen Nov 3, 2022
ec71c49
Bump version: 4.1.0 → 4.2.0
mvantellingen Nov 3, 2022
790151c
Fix testcase for windows / python 3.11
mvantellingen Nov 3, 2022
84513a7
fix formatting
mvantellingen Nov 3, 2022
09019c8
Remove reference to modern/fast
mvantellingen Nov 5, 2022
7d22412
Fix error when closing session in transport destructor
mvantellingen Nov 10, 2022
4e5ebad
Bump version: 4.2.0 → 4.2.1
mvantellingen Nov 20, 2022
5547801
Create .github/FUNDING.yml
mvantellingen Mar 3, 2023
d0d737a
Get rid of deprecated cgi module.
shulcsm Mar 6, 2023
377d931
Fix to deserializer if result type does not have a length
holstebroe Nov 20, 2022
97be3bc
Fix settings access for Python 3.12
whalesalad Feb 23, 2024
36f9c96
Update readme to note 3.12 compatibility
whalesalad Feb 23, 2024
50b7b40
drop python<=3.7 support
kloczek Jul 2, 2024
d59dd13
update module metadata to support python>=3.8 only.
kloczek Jul 2, 2024
5f35e85
filter all code over `ruff` to drop unused imports
kloczek Jul 2, 2024
0bf80d6
support timezone data in iso date strings
mvantellingen Oct 13, 2024
e1a1d3a
replace deprecated `datetime.datetime.utcnow()`
mvantellingen Oct 13, 2024
6ba7d2e
🐛[#705] Properly close 'file://' resources
CharString Sep 15, 2023
040bbcd
Add a network pytest mark for tests that use the network
mcepl Dec 19, 2023
aac0564
fix minor formatting issues with `make format`
mvantellingen Oct 13, 2024
9a39f19
update test dependencies to latest versions
mvantellingen Oct 13, 2024
3e43bc2
Run tests only for Python 3.9 - 3.13
mvantellingen Oct 13, 2024
9aacbf2
Skip tests for xmlsec on Python 3.13 for now
mvantellingen Oct 13, 2024
66727be
run tests on pull requets
mvantellingen Oct 13, 2024
224746c
fix handling coverage artifacts with latest action
mvantellingen Oct 13, 2024
dd63af1
use oidc to upload package to pypi
mvantellingen Oct 13, 2024
381eb30
Replace setup.py with pyproject.toml
mvantellingen Oct 13, 2024
4683977
pass codecov token
mvantellingen Oct 13, 2024
7f9b69c
Update changelog for 4.3.0
mvantellingen Oct 13, 2024
dbdcac5
update bumpversion config for pyproject.toml
mvantellingen Oct 13, 2024
fcf5818
Bump version: 4.2.1 → 4.3.0
mvantellingen Oct 13, 2024
ccf4b25
Add sponsors section
mvantellingen Oct 13, 2024
4d78da3
fix release steps for pyproject.toml
mvantellingen Oct 13, 2024
ec2e034
Create SECURITY.md
mvantellingen Oct 13, 2024
3b20576
[FIX] No visitor defined for '{http://www.w3.org/2001/XMLSchema}notat…
AllePilli Sep 2, 2024
d1b0257
Fix regression in parsing xsd:Date with negative timezone
mvantellingen Oct 16, 2024
41a5115
Bump version: 4.3.0 → 4.3.1
mvantellingen Oct 16, 2024
7ebe1fa
Update proxy argument in httpx Client/AsyncClient
aschollmeier-gcmlp Dec 4, 2024
dc0b318
Correct httpx version comparison
aschollmeier-gcmlp Dec 14, 2024
f90dc50
Avoid potential AttributeError in httpx version check
aschollmeier-gcmlp Dec 14, 2024
db66342
Reformat using newer version of black.
iksteen Sep 15, 2025
add5b00
update changelog
mvantellingen Sep 15, 2025
a345e02
Bump version: 4.3.1 → 4.3.2
mvantellingen Sep 15, 2025
368861c
Use standard library for date and time when possible
JuneStepp Nov 4, 2024
80cab29
feat(wsse): add pure-Python WS-Security signing (no xmlsec dependency)
martincollignon Mar 20, 2026
bf9edf5
Merge remote-tracking branch 'upstream/master' into feat/pure-python-…
martincollignon Mar 20, 2026
041c538
feat(wsse): add key identifiers, header layout, and timestamp validation
martincollignon Mar 20, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .bumpversion.cfg
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
[bumpversion]
current_version = 4.1.0
current_version = 4.3.2
commit = true
tag = true
tag_name = {new_version}

[bumpversion:file:setup.py]
[bumpversion:file:pyproject.toml]

[bumpversion:file:docs/conf.py]

Expand Down
3 changes: 3 additions & 0 deletions .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# These are supported funding model platforms

github: [mvantellingen]
24 changes: 14 additions & 10 deletions .github/workflows/python-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,18 +7,22 @@ on:
jobs:
release:
runs-on: ubuntu-latest
environment: release
permissions:
id-token: write
steps:
- uses: actions/checkout@v2
- name: Set up Python 3.7
uses: actions/setup-python@v1
- uses: actions/checkout@v4

- name: Set up Python 3.12
uses: actions/setup-python@v5
with:
python-version: 3.7
python-version: 3.12

- name: Install build requirements
run: python -m pip install wheel
run: python -m pip install wheel build

- name: Build package
run: python setup.py sdist bdist_wheel
run: python -m build

- name: Publish package
uses: pypa/gh-action-pypi-publish@master
with:
user: __token__
password: ${{ secrets.pypi_password }}
uses: pypa/gh-action-pypi-publish@release/v1
66 changes: 48 additions & 18 deletions .github/workflows/python-test.yml
Original file line number Diff line number Diff line change
@@ -1,19 +1,27 @@
name: Python Tests

on: [push]
on:
push:
branches:
- main
pull_request:
types: [opened, synchronize]

jobs:

format:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Set up Python 3.7
uses: actions/setup-python@v2
- uses: actions/checkout@v4

- name: Set up Python 3.12
uses: actions/setup-python@v5
with:
python-version: 3.7
python-version: 3.12

- name: Install dependencies
run: pip install tox

- name: Validate formatting
run: tox -e format

Expand All @@ -24,56 +32,78 @@ jobs:
max-parallel: 4
matrix:
platform: [ubuntu-latest, macos-latest, windows-latest]
python-version: ["3.7", "3.8", "3.9", "3.10", "3.11"]
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"]
# # TODO: Remove Windows exclusion when binary wheel available for lxml
# exclude:
# - { platform: windows-latest, python-version: "3.11" }


steps:
- name: Install system dependencies
if: matrix.platform == 'ubuntu-latest'
run: |
sudo apt-get update
sudo apt-get install libssl-dev libxmlsec1 libxmlsec1-dev libxmlsec1-openssl libxslt1-dev pkg-config

- name: Install system dependencies
if: matrix.platform == 'macos-latest'
run: |
brew install libxmlsec1 libxslt pkgconfig
- uses: actions/checkout@v2

- uses: actions/checkout@v4

- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}

- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install tox tox-gh-actions

- name: Test with tox
run: tox
env:
PLATFORM: ${{ matrix.platform }}

- name: Prepare artifacts
run: mkdir .coverage-data && mv .coverage.* .coverage-data/
- uses: actions/upload-artifact@master

- uses: actions/upload-artifact@v4
with:
name: coverage-data
path: .coverage-data/
name: coverage-data-${{ matrix.platform }}-${{ matrix.python-version }}
path: .coverage-data/.coverage.*
include-hidden-files: true
retention-days: 1

coverage:
runs-on: ubuntu-latest
needs: [test]
steps:
- uses: actions/checkout@v2
- uses: actions/download-artifact@master
- uses: actions/checkout@v4

- uses: actions/download-artifact@v4
with:
name: coverage-data
pattern: coverage-data-*
merge-multiple: true
path: .
- name: Set up Python 3.7
uses: actions/setup-python@v2

- name: Set up Python 3.12
uses: actions/setup-python@v5
with:
python-version: 3.7
python-version: 3.12

- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install tox

- name: Prepare Coverage report
run: tox -e coverage-report

- name: Upload to codecov
uses: codecov/codecov-action@v1.0.6
if: github.ref == 'refs/heads/main'
uses: codecov/codecov-action@v4
with:
token: ${{ secrets.CODECOV_TOKEN }}
25 changes: 24 additions & 1 deletion CHANGES
Original file line number Diff line number Diff line change
@@ -1,4 +1,26 @@
4.2.0 (2022-111-03)
4.3.2 (2025-09-15)
-----------------
- Support newer versions of httpx (#1447)

4.3.1 (2024-10-16)
------------------
- Fix regression in parsing xsd:Date with negative timezone

4.3.0 (2024-10-13)
------------------
- Drop support for Python 3.7 and 3.8 and add support for Python 3.12 and 3.13 (#1421, #1408)
- Add workaround to support date values with timezone in combination with
isodate 0.7.2 (#1431)
- Replace deprecated `datetime.datetime.utcnow()`
- Properly close 'file://' resources (#1339)
- Complete migration to pyproject.toml (remove setup.py)


4.2.1 (2022-11-10)
-------------------
- Fix error regarding closing session in async transport (#1347)

4.2.0 (2022-11-03)
-------------------
- Drop support for Python 3.6
- Allow embedding CDATA elements in simple types (#1339)
Expand All @@ -8,6 +30,7 @@
- Fix IndexError when empty body response (#1287)
- Add support for context manager on Client (#1166)
- Allow Ws Addressing plugin to use a different URL (#1328)
- Accept strings for xsd base64Binary (#1072)


4.1.0 (2021-08-15)
Expand Down
59 changes: 59 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
# Zeep: Python SOAP client
[![Documentation Status](https://readthedocs.org/projects/python-zeep/badge/?version=latest)](https://readthedocs.org/projects/python-zeep/)
[![Python Tests](https://github.com/mvantellingen/python-zeep/workflows/Python%20Tests/badge.svg)](https://github.com/mvantellingen/python-zeep/actions?query=workflow%3A%22Python+Tests%22)
[![Coverage](https://codecov.io/gh/mvantellingen/python-zeep/graph/badge.svg?token=zwew4hc8ih)](https://codecov.io/gh/mvantellingen/python-zeep)
[![PyPI version](https://img.shields.io/pypi/v/zeep.svg)](https://pypi.python.org/pypi/zeep/)

A Python SOAP client

## Highlights:
- Compatible with Python 3.9, 3.10, 3.11, 3.12, 3.13 and PyPy3
- Built on top of lxml, requests, and httpx
- Support for Soap 1.1, Soap 1.2, and HTTP bindings
- Support for WS-Addressing headers
- Support for WSSE (UserNameToken / x.509 signing)
- Support for asyncio using the httpx module
- Experimental support for XOP messages

Please see the [documentation](http://docs.python-zeep.org/) for more information.

## Status

> [!NOTE]
> I consider this library to be stable. Since no new developments happen around the SOAP specification, it won't be updated that much. Good PRs which fix bugs are always welcome, however.


## Installation

```bash
pip install zeep
```

Zeep uses the lxml library for parsing XML. See [lxml installation requirements](https://lxml.de/installation.html).

## Usage

```python
from zeep import Client

client = Client('tests/wsdl_files/example.rst')
client.service.ping()
```

To quickly inspect a WSDL file, use:

```bash
python -m zeep <url-to-wsdl>
```

Please see the [documentation](http://docs.python-zeep.org) for more information.


# Sponsors
[![Kraken Tech](https://camo.githubusercontent.com/ecc2b8426b961f8895e4f42741c006839e4488fbe9ba8e92cfa02d48c7fdb3f1/68747470733a2f2f7374617469632e6f63746f70757363646e2e636f6d2f6b746c2f6b72616b656e2d6c6f676f2d772d67726f75702d7365636f6e646172792d323032322e706e67)](https://github.com/octoenergy)

# Support

If you want to report a bug, please first read [the bug reporting guidelines](http://docs.python-zeep.org/en/master/reporting_bugs.html).

Please only report bugs, not support requests, to the GitHub issue tracker.
76 changes: 0 additions & 76 deletions README.rst

This file was deleted.

4 changes: 4 additions & 0 deletions SECURITY.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# Security Policy

If you discover a security vulnerability, please report it by emailing to michaelvantellingen@gmail.com.
I take all security concerns seriously and will respond promptly to evaluate and address the issue.
2 changes: 1 addition & 1 deletion docs/_templates/sidebar-intro.html
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<img class="logo" src="{{ pathto('_static/zeep-logo.png', 1) }}">
</a>

<p>Zeep is a modern SOAP client for Python</p>
<p>Zeep is a SOAP client for Python</p>
<p>
<iframe src="http://ghbtns.com/github-btn.html?user=mvantellingen&repo=python-zeep&type=watch&count=true&size=large"
allowtransparency="true" frameborder="0" scrolling="0" width="200px" height="35px"></iframe>
Expand Down
Loading