python3-commons 0.18.6__tar.gz → 0.18.7__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {python3_commons-0.18.6/src/python3_commons.egg-info → python3_commons-0.18.7}/PKG-INFO +1 -1
- {python3_commons-0.18.6 → python3_commons-0.18.7}/src/python3_commons/soap_client.py +69 -65
- {python3_commons-0.18.6 → python3_commons-0.18.7/src/python3_commons.egg-info}/PKG-INFO +1 -1
- {python3_commons-0.18.6 → python3_commons-0.18.7}/.coveragerc +0 -0
- {python3_commons-0.18.6 → python3_commons-0.18.7}/.devcontainer/Dockerfile +0 -0
- {python3_commons-0.18.6 → python3_commons-0.18.7}/.devcontainer/devcontainer.json +0 -0
- {python3_commons-0.18.6 → python3_commons-0.18.7}/.devcontainer/docker-compose.yml +0 -0
- {python3_commons-0.18.6 → python3_commons-0.18.7}/.env_template +0 -0
- {python3_commons-0.18.6 → python3_commons-0.18.7}/.github/workflows/checks.yml +0 -0
- {python3_commons-0.18.6 → python3_commons-0.18.7}/.github/workflows/python-publish.yaml +0 -0
- {python3_commons-0.18.6 → python3_commons-0.18.7}/.github/workflows/release-on-tag-push.yml +0 -0
- {python3_commons-0.18.6 → python3_commons-0.18.7}/.gitignore +0 -0
- {python3_commons-0.18.6 → python3_commons-0.18.7}/.pre-commit-config.yaml +0 -0
- {python3_commons-0.18.6 → python3_commons-0.18.7}/.python-version +0 -0
- {python3_commons-0.18.6 → python3_commons-0.18.7}/AUTHORS.rst +0 -0
- {python3_commons-0.18.6 → python3_commons-0.18.7}/CHANGELOG.rst +0 -0
- {python3_commons-0.18.6 → python3_commons-0.18.7}/LICENSE +0 -0
- {python3_commons-0.18.6 → python3_commons-0.18.7}/README.md +0 -0
- {python3_commons-0.18.6 → python3_commons-0.18.7}/README.rst +0 -0
- {python3_commons-0.18.6 → python3_commons-0.18.7}/docs/Makefile +0 -0
- {python3_commons-0.18.6 → python3_commons-0.18.7}/docs/_static/.gitignore +0 -0
- {python3_commons-0.18.6 → python3_commons-0.18.7}/docs/authors.rst +0 -0
- {python3_commons-0.18.6 → python3_commons-0.18.7}/docs/changelog.rst +0 -0
- {python3_commons-0.18.6 → python3_commons-0.18.7}/docs/conf.py +0 -0
- {python3_commons-0.18.6 → python3_commons-0.18.7}/docs/index.rst +0 -0
- {python3_commons-0.18.6 → python3_commons-0.18.7}/docs/license.rst +0 -0
- {python3_commons-0.18.6 → python3_commons-0.18.7}/pyproject.toml +0 -0
- {python3_commons-0.18.6 → python3_commons-0.18.7}/setup.cfg +0 -0
- {python3_commons-0.18.6 → python3_commons-0.18.7}/src/python3_commons/__init__.py +0 -0
- {python3_commons-0.18.6 → python3_commons-0.18.7}/src/python3_commons/api_client.py +0 -0
- {python3_commons-0.18.6 → python3_commons-0.18.7}/src/python3_commons/async_functools.py +0 -0
- {python3_commons-0.18.6 → python3_commons-0.18.7}/src/python3_commons/audit.py +0 -0
- {python3_commons-0.18.6 → python3_commons-0.18.7}/src/python3_commons/auth.py +0 -0
- {python3_commons-0.18.6 → python3_commons-0.18.7}/src/python3_commons/cache.py +0 -0
- {python3_commons-0.18.6 → python3_commons-0.18.7}/src/python3_commons/conf.py +0 -0
- {python3_commons-0.18.6 → python3_commons-0.18.7}/src/python3_commons/db/__init__.py +0 -0
- {python3_commons-0.18.6 → python3_commons-0.18.7}/src/python3_commons/db/helpers.py +0 -0
- {python3_commons-0.18.6 → python3_commons-0.18.7}/src/python3_commons/db/models/__init__.py +0 -0
- {python3_commons-0.18.6 → python3_commons-0.18.7}/src/python3_commons/db/models/auth.py +0 -0
- {python3_commons-0.18.6 → python3_commons-0.18.7}/src/python3_commons/db/models/common.py +0 -0
- {python3_commons-0.18.6 → python3_commons-0.18.7}/src/python3_commons/db/models/rbac.py +0 -0
- {python3_commons-0.18.6 → python3_commons-0.18.7}/src/python3_commons/db/models/users.py +0 -0
- {python3_commons-0.18.6 → python3_commons-0.18.7}/src/python3_commons/exceptions.py +0 -0
- {python3_commons-0.18.6 → python3_commons-0.18.7}/src/python3_commons/fs.py +0 -0
- {python3_commons-0.18.6 → python3_commons-0.18.7}/src/python3_commons/generators.py +0 -0
- {python3_commons-0.18.6 → python3_commons-0.18.7}/src/python3_commons/helpers.py +0 -0
- {python3_commons-0.18.6 → python3_commons-0.18.7}/src/python3_commons/log/__init__.py +0 -0
- {python3_commons-0.18.6 → python3_commons-0.18.7}/src/python3_commons/log/filters.py +0 -0
- {python3_commons-0.18.6 → python3_commons-0.18.7}/src/python3_commons/log/formatters.py +0 -0
- {python3_commons-0.18.6 → python3_commons-0.18.7}/src/python3_commons/object_storage.py +0 -0
- {python3_commons-0.18.6 → python3_commons-0.18.7}/src/python3_commons/permissions.py +0 -0
- {python3_commons-0.18.6 → python3_commons-0.18.7}/src/python3_commons/serializers/__init__.py +0 -0
- {python3_commons-0.18.6 → python3_commons-0.18.7}/src/python3_commons/serializers/common.py +0 -0
- {python3_commons-0.18.6 → python3_commons-0.18.7}/src/python3_commons/serializers/json.py +0 -0
- {python3_commons-0.18.6 → python3_commons-0.18.7}/src/python3_commons/serializers/msgpack.py +0 -0
- {python3_commons-0.18.6 → python3_commons-0.18.7}/src/python3_commons/serializers/msgspec.py +0 -0
- {python3_commons-0.18.6 → python3_commons-0.18.7}/src/python3_commons.egg-info/SOURCES.txt +0 -0
- {python3_commons-0.18.6 → python3_commons-0.18.7}/src/python3_commons.egg-info/dependency_links.txt +0 -0
- {python3_commons-0.18.6 → python3_commons-0.18.7}/src/python3_commons.egg-info/requires.txt +0 -0
- {python3_commons-0.18.6 → python3_commons-0.18.7}/src/python3_commons.egg-info/top_level.txt +0 -0
- {python3_commons-0.18.6 → python3_commons-0.18.7}/tests/__init__.py +0 -0
- {python3_commons-0.18.6 → python3_commons-0.18.7}/tests/integration/__init__.py +0 -0
- {python3_commons-0.18.6 → python3_commons-0.18.7}/tests/integration/test_cache.py +0 -0
- {python3_commons-0.18.6 → python3_commons-0.18.7}/tests/integration/test_osc.py +0 -0
- {python3_commons-0.18.6 → python3_commons-0.18.7}/tests/unit/__init__.py +0 -0
- {python3_commons-0.18.6 → python3_commons-0.18.7}/tests/unit/conftest.py +0 -0
- {python3_commons-0.18.6 → python3_commons-0.18.7}/tests/unit/log/__init__.py +0 -0
- {python3_commons-0.18.6 → python3_commons-0.18.7}/tests/unit/log/test_formatters.py +0 -0
- {python3_commons-0.18.6 → python3_commons-0.18.7}/tests/unit/test_async_functools.py +0 -0
- {python3_commons-0.18.6 → python3_commons-0.18.7}/tests/unit/test_audit.py +0 -0
- {python3_commons-0.18.6 → python3_commons-0.18.7}/tests/unit/test_helpers.py +0 -0
- {python3_commons-0.18.6 → python3_commons-0.18.7}/tests/unit/test_msgpack.py +0 -0
- {python3_commons-0.18.6 → python3_commons-0.18.7}/tests/unit/test_msgspec.py +0 -0
- {python3_commons-0.18.6 → python3_commons-0.18.7}/uv.lock +0 -0
|
@@ -68,11 +68,11 @@ class AsyncTransport(Transport):
|
|
|
68
68
|
"""
|
|
69
69
|
|
|
70
70
|
def __init__(
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
71
|
+
self,
|
|
72
|
+
*,
|
|
73
|
+
session: ClientSession,
|
|
74
|
+
config: TransportConfig,
|
|
75
|
+
_owns_session: bool = False,
|
|
76
76
|
) -> None:
|
|
77
77
|
super().__init__()
|
|
78
78
|
self._session = session
|
|
@@ -81,10 +81,10 @@ class AsyncTransport(Transport):
|
|
|
81
81
|
|
|
82
82
|
@classmethod
|
|
83
83
|
def from_config(
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
84
|
+
cls,
|
|
85
|
+
config: TransportConfig | None = None,
|
|
86
|
+
*,
|
|
87
|
+
session: ClientSession | None = None,
|
|
88
88
|
) -> Self:
|
|
89
89
|
config = config or TransportConfig()
|
|
90
90
|
owns_session = session is None
|
|
@@ -163,60 +163,64 @@ class AsyncTransport(Transport):
|
|
|
163
163
|
with concurrent.futures.ThreadPoolExecutor(max_workers=1) as pool:
|
|
164
164
|
return pool.submit(asyncio.run, _fetch()).result()
|
|
165
165
|
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
166
|
+
async def post(
|
|
167
|
+
self,
|
|
168
|
+
address: str,
|
|
169
|
+
message: bytes,
|
|
170
|
+
headers: dict[str, str],
|
|
171
|
+
*,
|
|
172
|
+
timeout: int | None = None,
|
|
173
|
+
) -> Response:
|
|
174
|
+
logger.debug('SOAP POST → %s\n%s', address, message)
|
|
175
|
+
|
|
176
|
+
async with self._session.post(
|
|
177
|
+
address,
|
|
178
|
+
data=message,
|
|
179
|
+
headers=headers,
|
|
180
|
+
proxy=self._config.proxy,
|
|
181
|
+
timeout=ClientTimeout(total=timeout) if timeout is not None else None,
|
|
182
|
+
) as resp:
|
|
183
|
+
body = await resp.read()
|
|
184
|
+
logger.debug('SOAP ← %s (HTTP %d)\n%s', address, resp.status, body)
|
|
185
|
+
return self._build_response(resp, body)
|
|
186
|
+
|
|
187
|
+
def post_xml(
|
|
188
|
+
self,
|
|
189
|
+
address: str,
|
|
190
|
+
envelope: Any,
|
|
191
|
+
headers: dict[str, str],
|
|
192
|
+
) -> Response:
|
|
193
|
+
"""
|
|
194
|
+
Sync entry-point zeep calls from a thread executor during send_async.
|
|
195
|
+
Bridges back into the running event loop via run_coroutine_threadsafe.
|
|
196
|
+
"""
|
|
197
|
+
loop = asyncio.get_event_loop()
|
|
198
|
+
future = asyncio.run_coroutine_threadsafe(
|
|
199
|
+
self.post(address, etree_to_string(envelope), headers),
|
|
200
|
+
loop,
|
|
201
|
+
)
|
|
202
|
+
return future.result()
|
|
203
|
+
|
|
204
|
+
async def get(
|
|
205
|
+
self,
|
|
206
|
+
address: str,
|
|
207
|
+
params: dict[str, str],
|
|
208
|
+
headers: dict[str, str],
|
|
209
|
+
) -> Response:
|
|
210
|
+
async with self._session.get(
|
|
211
|
+
address,
|
|
212
|
+
params=params,
|
|
213
|
+
headers=headers,
|
|
214
|
+
proxy=self._config.proxy,
|
|
215
|
+
) as resp:
|
|
216
|
+
body = await resp.read()
|
|
217
|
+
return self._build_response(resp, body)
|
|
214
218
|
|
|
215
219
|
|
|
216
220
|
def build_soap_client(
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
221
|
+
wsdl_url: str,
|
|
222
|
+
transport: AsyncTransport,
|
|
223
|
+
plugins: Sequence[Plugin] | None = None,
|
|
220
224
|
) -> AsyncClient:
|
|
221
225
|
if not wsdl_url:
|
|
222
226
|
msg = 'wsdl_url must be a non-empty string.'
|
|
@@ -228,11 +232,11 @@ def build_soap_client(
|
|
|
228
232
|
|
|
229
233
|
@asynccontextmanager
|
|
230
234
|
async def soap_client(
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
235
|
+
wsdl_url: str,
|
|
236
|
+
*,
|
|
237
|
+
config: TransportConfig | None = None,
|
|
238
|
+
session: ClientSession | None = None,
|
|
239
|
+
plugins: Sequence[Plugin] | None = None,
|
|
236
240
|
) -> AsyncIterator[AsyncClient]:
|
|
237
241
|
"""
|
|
238
242
|
Async context manager yielding a ready-to-use zeep AsyncClient.
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python3_commons-0.18.6 → python3_commons-0.18.7}/src/python3_commons/serializers/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python3_commons-0.18.6 → python3_commons-0.18.7}/src/python3_commons/serializers/msgpack.py
RENAMED
|
File without changes
|
{python3_commons-0.18.6 → python3_commons-0.18.7}/src/python3_commons/serializers/msgspec.py
RENAMED
|
File without changes
|
|
File without changes
|
{python3_commons-0.18.6 → python3_commons-0.18.7}/src/python3_commons.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
|
File without changes
|
{python3_commons-0.18.6 → python3_commons-0.18.7}/src/python3_commons.egg-info/top_level.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|