python3-commons 0.18.1__tar.gz → 0.18.2__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.
Files changed (74) hide show
  1. {python3_commons-0.18.1/src/python3_commons.egg-info → python3_commons-0.18.2}/PKG-INFO +1 -1
  2. {python3_commons-0.18.1 → python3_commons-0.18.2}/src/python3_commons/soap_client.py +22 -2
  3. {python3_commons-0.18.1 → python3_commons-0.18.2/src/python3_commons.egg-info}/PKG-INFO +1 -1
  4. {python3_commons-0.18.1 → python3_commons-0.18.2}/.coveragerc +0 -0
  5. {python3_commons-0.18.1 → python3_commons-0.18.2}/.devcontainer/Dockerfile +0 -0
  6. {python3_commons-0.18.1 → python3_commons-0.18.2}/.devcontainer/devcontainer.json +0 -0
  7. {python3_commons-0.18.1 → python3_commons-0.18.2}/.devcontainer/docker-compose.yml +0 -0
  8. {python3_commons-0.18.1 → python3_commons-0.18.2}/.env_template +0 -0
  9. {python3_commons-0.18.1 → python3_commons-0.18.2}/.github/workflows/checks.yml +0 -0
  10. {python3_commons-0.18.1 → python3_commons-0.18.2}/.github/workflows/python-publish.yaml +0 -0
  11. {python3_commons-0.18.1 → python3_commons-0.18.2}/.github/workflows/release-on-tag-push.yml +0 -0
  12. {python3_commons-0.18.1 → python3_commons-0.18.2}/.gitignore +0 -0
  13. {python3_commons-0.18.1 → python3_commons-0.18.2}/.pre-commit-config.yaml +0 -0
  14. {python3_commons-0.18.1 → python3_commons-0.18.2}/.python-version +0 -0
  15. {python3_commons-0.18.1 → python3_commons-0.18.2}/AUTHORS.rst +0 -0
  16. {python3_commons-0.18.1 → python3_commons-0.18.2}/CHANGELOG.rst +0 -0
  17. {python3_commons-0.18.1 → python3_commons-0.18.2}/LICENSE +0 -0
  18. {python3_commons-0.18.1 → python3_commons-0.18.2}/README.md +0 -0
  19. {python3_commons-0.18.1 → python3_commons-0.18.2}/README.rst +0 -0
  20. {python3_commons-0.18.1 → python3_commons-0.18.2}/docs/Makefile +0 -0
  21. {python3_commons-0.18.1 → python3_commons-0.18.2}/docs/_static/.gitignore +0 -0
  22. {python3_commons-0.18.1 → python3_commons-0.18.2}/docs/authors.rst +0 -0
  23. {python3_commons-0.18.1 → python3_commons-0.18.2}/docs/changelog.rst +0 -0
  24. {python3_commons-0.18.1 → python3_commons-0.18.2}/docs/conf.py +0 -0
  25. {python3_commons-0.18.1 → python3_commons-0.18.2}/docs/index.rst +0 -0
  26. {python3_commons-0.18.1 → python3_commons-0.18.2}/docs/license.rst +0 -0
  27. {python3_commons-0.18.1 → python3_commons-0.18.2}/pyproject.toml +0 -0
  28. {python3_commons-0.18.1 → python3_commons-0.18.2}/setup.cfg +0 -0
  29. {python3_commons-0.18.1 → python3_commons-0.18.2}/src/python3_commons/__init__.py +0 -0
  30. {python3_commons-0.18.1 → python3_commons-0.18.2}/src/python3_commons/api_client.py +0 -0
  31. {python3_commons-0.18.1 → python3_commons-0.18.2}/src/python3_commons/async_functools.py +0 -0
  32. {python3_commons-0.18.1 → python3_commons-0.18.2}/src/python3_commons/audit.py +0 -0
  33. {python3_commons-0.18.1 → python3_commons-0.18.2}/src/python3_commons/auth.py +0 -0
  34. {python3_commons-0.18.1 → python3_commons-0.18.2}/src/python3_commons/cache.py +0 -0
  35. {python3_commons-0.18.1 → python3_commons-0.18.2}/src/python3_commons/conf.py +0 -0
  36. {python3_commons-0.18.1 → python3_commons-0.18.2}/src/python3_commons/db/__init__.py +0 -0
  37. {python3_commons-0.18.1 → python3_commons-0.18.2}/src/python3_commons/db/helpers.py +0 -0
  38. {python3_commons-0.18.1 → python3_commons-0.18.2}/src/python3_commons/db/models/__init__.py +0 -0
  39. {python3_commons-0.18.1 → python3_commons-0.18.2}/src/python3_commons/db/models/auth.py +0 -0
  40. {python3_commons-0.18.1 → python3_commons-0.18.2}/src/python3_commons/db/models/common.py +0 -0
  41. {python3_commons-0.18.1 → python3_commons-0.18.2}/src/python3_commons/db/models/rbac.py +0 -0
  42. {python3_commons-0.18.1 → python3_commons-0.18.2}/src/python3_commons/db/models/users.py +0 -0
  43. {python3_commons-0.18.1 → python3_commons-0.18.2}/src/python3_commons/exceptions.py +0 -0
  44. {python3_commons-0.18.1 → python3_commons-0.18.2}/src/python3_commons/fs.py +0 -0
  45. {python3_commons-0.18.1 → python3_commons-0.18.2}/src/python3_commons/generators.py +0 -0
  46. {python3_commons-0.18.1 → python3_commons-0.18.2}/src/python3_commons/helpers.py +0 -0
  47. {python3_commons-0.18.1 → python3_commons-0.18.2}/src/python3_commons/log/__init__.py +0 -0
  48. {python3_commons-0.18.1 → python3_commons-0.18.2}/src/python3_commons/log/filters.py +0 -0
  49. {python3_commons-0.18.1 → python3_commons-0.18.2}/src/python3_commons/log/formatters.py +0 -0
  50. {python3_commons-0.18.1 → python3_commons-0.18.2}/src/python3_commons/object_storage.py +0 -0
  51. {python3_commons-0.18.1 → python3_commons-0.18.2}/src/python3_commons/permissions.py +0 -0
  52. {python3_commons-0.18.1 → python3_commons-0.18.2}/src/python3_commons/serializers/__init__.py +0 -0
  53. {python3_commons-0.18.1 → python3_commons-0.18.2}/src/python3_commons/serializers/common.py +0 -0
  54. {python3_commons-0.18.1 → python3_commons-0.18.2}/src/python3_commons/serializers/json.py +0 -0
  55. {python3_commons-0.18.1 → python3_commons-0.18.2}/src/python3_commons/serializers/msgpack.py +0 -0
  56. {python3_commons-0.18.1 → python3_commons-0.18.2}/src/python3_commons/serializers/msgspec.py +0 -0
  57. {python3_commons-0.18.1 → python3_commons-0.18.2}/src/python3_commons.egg-info/SOURCES.txt +0 -0
  58. {python3_commons-0.18.1 → python3_commons-0.18.2}/src/python3_commons.egg-info/dependency_links.txt +0 -0
  59. {python3_commons-0.18.1 → python3_commons-0.18.2}/src/python3_commons.egg-info/requires.txt +0 -0
  60. {python3_commons-0.18.1 → python3_commons-0.18.2}/src/python3_commons.egg-info/top_level.txt +0 -0
  61. {python3_commons-0.18.1 → python3_commons-0.18.2}/tests/__init__.py +0 -0
  62. {python3_commons-0.18.1 → python3_commons-0.18.2}/tests/integration/__init__.py +0 -0
  63. {python3_commons-0.18.1 → python3_commons-0.18.2}/tests/integration/test_cache.py +0 -0
  64. {python3_commons-0.18.1 → python3_commons-0.18.2}/tests/integration/test_osc.py +0 -0
  65. {python3_commons-0.18.1 → python3_commons-0.18.2}/tests/unit/__init__.py +0 -0
  66. {python3_commons-0.18.1 → python3_commons-0.18.2}/tests/unit/conftest.py +0 -0
  67. {python3_commons-0.18.1 → python3_commons-0.18.2}/tests/unit/log/__init__.py +0 -0
  68. {python3_commons-0.18.1 → python3_commons-0.18.2}/tests/unit/log/test_formatters.py +0 -0
  69. {python3_commons-0.18.1 → python3_commons-0.18.2}/tests/unit/test_async_functools.py +0 -0
  70. {python3_commons-0.18.1 → python3_commons-0.18.2}/tests/unit/test_audit.py +0 -0
  71. {python3_commons-0.18.1 → python3_commons-0.18.2}/tests/unit/test_helpers.py +0 -0
  72. {python3_commons-0.18.1 → python3_commons-0.18.2}/tests/unit/test_msgpack.py +0 -0
  73. {python3_commons-0.18.1 → python3_commons-0.18.2}/tests/unit/test_msgspec.py +0 -0
  74. {python3_commons-0.18.1 → python3_commons-0.18.2}/uv.lock +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: python3-commons
3
- Version: 0.18.1
3
+ Version: 0.18.2
4
4
  Summary: Re-usable Python3 code
5
5
  Author-email: Oleg Korsak <kamikaze.is.waiting.you@gmail.com>
6
6
  License-Expression: GPL-3.0
@@ -4,6 +4,8 @@ Async SOAP client built on aiohttp + zeep.
4
4
 
5
5
  from __future__ import annotations
6
6
 
7
+ import asyncio
8
+ import concurrent.futures
7
9
  import logging
8
10
  from collections.abc import AsyncIterator, Sequence
9
11
  from contextlib import asynccontextmanager
@@ -165,6 +167,20 @@ class AsyncTransport(Transport):
165
167
 
166
168
  return await _fetch()
167
169
 
170
+ def load(self, url: str) -> bytes:
171
+ """Sync entry-point zeep calls during WSDL document init."""
172
+ if not url:
173
+ return b''
174
+
175
+ try:
176
+ loop = asyncio.get_event_loop()
177
+
178
+ return loop.run_until_complete(self._load_remote_data(url))
179
+ except RuntimeError:
180
+ with concurrent.futures.ThreadPoolExecutor(max_workers=1) as pool:
181
+ future = pool.submit(asyncio.run, self._load_remote_data(url))
182
+ return future.result()
183
+
168
184
  async def post(
169
185
  self,
170
186
  address: str,
@@ -256,5 +272,9 @@ async def soap_client(
256
272
  """
257
273
  transport = AsyncTransport.from_config(config, session=session)
258
274
 
259
- async with transport:
260
- yield build_soap_client(wsdl_url, transport, plugins)
275
+ try:
276
+ client = build_soap_client(wsdl_url, transport, plugins) # WSDL loaded here (sync via load())
277
+
278
+ yield client
279
+ finally:
280
+ await transport.aclose()
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: python3-commons
3
- Version: 0.18.1
3
+ Version: 0.18.2
4
4
  Summary: Re-usable Python3 code
5
5
  Author-email: Oleg Korsak <kamikaze.is.waiting.you@gmail.com>
6
6
  License-Expression: GPL-3.0