Skip to content

Commit

Permalink
Replace setup.py with pyproject.toml
Browse files Browse the repository at this point in the history
This also moves the README from rST to markdown
  • Loading branch information
mvantellingen committed Oct 13, 2024
1 parent dd63af1 commit de7dbdd
Show file tree
Hide file tree
Showing 5 changed files with 116 additions and 170 deletions.
55 changes: 55 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
# 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 Status](http://codecov.io/github/mvantellingen/python-zeep/coverage.svg?branch=master)](http://codecov.io/github/mvantellingen/python-zeep?branch=master)
[![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.

# 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.
82 changes: 0 additions & 82 deletions README.rst

This file was deleted.

61 changes: 61 additions & 0 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,3 +1,61 @@
[project]
name = "zeep"
version = "4.2.1"
description = "A Python SOAP client"
readme = "README.md"
license = { text = "MIT" }
authors = [
{ name = "Michael van Tellingen", email = "[email protected]" }
]
requires-python = ">=3.8"
classifiers = [
"Development Status :: 5 - Production/Stable",
"License :: OSI Approved :: MIT License",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: Implementation :: CPython",
"Programming Language :: Python :: Implementation :: PyPy",
]
dependencies = [
"attrs>=17.2.0",
"isodate>=0.5.4",
"lxml>=4.6.0",
"platformdirs>=1.4.0",
"requests>=2.7.0",
"requests-toolbelt>=0.7.1",
"requests-file>=1.5.1",
"pytz",
]

[project.urls]
Repository = "https://github.com/mvantellingen/python-zeep"
Documentation = "https://docs.python-zeep.org"
Changelog = "https://github.com/mvantellingen/python-zeep/blob/main/CHANGES"

[project.optional-dependencies]
docs = ["sphinx>=1.4.0"]
test = [
"coverage[toml]==7.6.2",
"freezegun==1.5.1",
"pretend==1.0.9",
"pytest-cov==5.0.0",
"pytest-httpx",
"pytest-asyncio",
"pytest==8.3.3",
"requests_mock==1.12.1",
# Linting
"isort==5.13.2",
"flake8==7.1.1",
"flake8-blind-except==0.2.1",
"flake8-debugger==4.1.2",
"flake8-imports==0.1.1",
]
async = ["httpx>=0.15.0"]
xmlsec = ["xmlsec>=0.6.1"]

[build-system]
requires = ["setuptools>=40.6.0", "wheel"]
build-backend = "setuptools.build_meta"
Expand Down Expand Up @@ -31,3 +89,6 @@ markers = [
"requests",
"network: test case requires network connection",
]

[tool.flake8]
max-line-length = 99
2 changes: 0 additions & 2 deletions setup.cfg

This file was deleted.

86 changes: 0 additions & 86 deletions setup.py

This file was deleted.

0 comments on commit de7dbdd

Please sign in to comment.