python3-commons 0.20.11__tar.gz → 0.20.13__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 (78) hide show
  1. {python3_commons-0.20.11 → python3_commons-0.20.13}/.pre-commit-config.yaml +2 -2
  2. {python3_commons-0.20.11/src/python3_commons.egg-info → python3_commons-0.20.13}/PKG-INFO +6 -6
  3. {python3_commons-0.20.11 → python3_commons-0.20.13}/pyproject.toml +5 -5
  4. {python3_commons-0.20.11 → python3_commons-0.20.13/src/python3_commons.egg-info}/PKG-INFO +6 -6
  5. {python3_commons-0.20.11 → python3_commons-0.20.13}/src/python3_commons.egg-info/requires.txt +5 -5
  6. {python3_commons-0.20.11 → python3_commons-0.20.13}/uv.lock +65 -65
  7. {python3_commons-0.20.11 → python3_commons-0.20.13}/.coveragerc +0 -0
  8. {python3_commons-0.20.11 → python3_commons-0.20.13}/.devcontainer/Dockerfile +0 -0
  9. {python3_commons-0.20.11 → python3_commons-0.20.13}/.devcontainer/devcontainer.json +0 -0
  10. {python3_commons-0.20.11 → python3_commons-0.20.13}/.devcontainer/docker-compose.yml +0 -0
  11. {python3_commons-0.20.11 → python3_commons-0.20.13}/.env_template +0 -0
  12. {python3_commons-0.20.11 → python3_commons-0.20.13}/.github/workflows/checks.yml +0 -0
  13. {python3_commons-0.20.11 → python3_commons-0.20.13}/.github/workflows/python-publish.yaml +0 -0
  14. {python3_commons-0.20.11 → python3_commons-0.20.13}/.github/workflows/release-on-tag-push.yml +0 -0
  15. {python3_commons-0.20.11 → python3_commons-0.20.13}/.gitignore +0 -0
  16. {python3_commons-0.20.11 → python3_commons-0.20.13}/.python-version +0 -0
  17. {python3_commons-0.20.11 → python3_commons-0.20.13}/AUTHORS.rst +0 -0
  18. {python3_commons-0.20.11 → python3_commons-0.20.13}/CHANGELOG.rst +0 -0
  19. {python3_commons-0.20.11 → python3_commons-0.20.13}/LICENSE +0 -0
  20. {python3_commons-0.20.11 → python3_commons-0.20.13}/README.md +0 -0
  21. {python3_commons-0.20.11 → python3_commons-0.20.13}/README.rst +0 -0
  22. {python3_commons-0.20.11 → python3_commons-0.20.13}/docs/Makefile +0 -0
  23. {python3_commons-0.20.11 → python3_commons-0.20.13}/docs/_static/.gitignore +0 -0
  24. {python3_commons-0.20.11 → python3_commons-0.20.13}/docs/authors.rst +0 -0
  25. {python3_commons-0.20.11 → python3_commons-0.20.13}/docs/changelog.rst +0 -0
  26. {python3_commons-0.20.11 → python3_commons-0.20.13}/docs/conf.py +0 -0
  27. {python3_commons-0.20.11 → python3_commons-0.20.13}/docs/index.rst +0 -0
  28. {python3_commons-0.20.11 → python3_commons-0.20.13}/docs/license.rst +0 -0
  29. {python3_commons-0.20.11 → python3_commons-0.20.13}/setup.cfg +0 -0
  30. {python3_commons-0.20.11 → python3_commons-0.20.13}/src/python3_commons/__init__.py +0 -0
  31. {python3_commons-0.20.11 → python3_commons-0.20.13}/src/python3_commons/api_client.py +0 -0
  32. {python3_commons-0.20.11 → python3_commons-0.20.13}/src/python3_commons/async_functools.py +0 -0
  33. {python3_commons-0.20.11 → python3_commons-0.20.13}/src/python3_commons/audit.py +0 -0
  34. {python3_commons-0.20.11 → python3_commons-0.20.13}/src/python3_commons/auth.py +0 -0
  35. {python3_commons-0.20.11 → python3_commons-0.20.13}/src/python3_commons/cache.py +0 -0
  36. {python3_commons-0.20.11 → python3_commons-0.20.13}/src/python3_commons/conf.py +0 -0
  37. {python3_commons-0.20.11 → python3_commons-0.20.13}/src/python3_commons/db/__init__.py +0 -0
  38. {python3_commons-0.20.11 → python3_commons-0.20.13}/src/python3_commons/db/helpers.py +0 -0
  39. {python3_commons-0.20.11 → python3_commons-0.20.13}/src/python3_commons/db/models/__init__.py +0 -0
  40. {python3_commons-0.20.11 → python3_commons-0.20.13}/src/python3_commons/db/models/auth.py +0 -0
  41. {python3_commons-0.20.11 → python3_commons-0.20.13}/src/python3_commons/db/models/common.py +0 -0
  42. {python3_commons-0.20.11 → python3_commons-0.20.13}/src/python3_commons/db/models/rbac.py +0 -0
  43. {python3_commons-0.20.11 → python3_commons-0.20.13}/src/python3_commons/db/models/users.py +0 -0
  44. {python3_commons-0.20.11 → python3_commons-0.20.13}/src/python3_commons/exceptions.py +0 -0
  45. {python3_commons-0.20.11 → python3_commons-0.20.13}/src/python3_commons/fs.py +0 -0
  46. {python3_commons-0.20.11 → python3_commons-0.20.13}/src/python3_commons/generators.py +0 -0
  47. {python3_commons-0.20.11 → python3_commons-0.20.13}/src/python3_commons/helpers.py +0 -0
  48. {python3_commons-0.20.11 → python3_commons-0.20.13}/src/python3_commons/log/__init__.py +0 -0
  49. {python3_commons-0.20.11 → python3_commons-0.20.13}/src/python3_commons/log/filters.py +0 -0
  50. {python3_commons-0.20.11 → python3_commons-0.20.13}/src/python3_commons/log/formatters.py +0 -0
  51. {python3_commons-0.20.11 → python3_commons-0.20.13}/src/python3_commons/object_storage.py +0 -0
  52. {python3_commons-0.20.11 → python3_commons-0.20.13}/src/python3_commons/permissions.py +0 -0
  53. {python3_commons-0.20.11 → python3_commons-0.20.13}/src/python3_commons/serializers/__init__.py +0 -0
  54. {python3_commons-0.20.11 → python3_commons-0.20.13}/src/python3_commons/serializers/common.py +0 -0
  55. {python3_commons-0.20.11 → python3_commons-0.20.13}/src/python3_commons/serializers/json.py +0 -0
  56. {python3_commons-0.20.11 → python3_commons-0.20.13}/src/python3_commons/serializers/msgpack.py +0 -0
  57. {python3_commons-0.20.11 → python3_commons-0.20.13}/src/python3_commons/serializers/msgspec.py +0 -0
  58. {python3_commons-0.20.11 → python3_commons-0.20.13}/src/python3_commons/soap_client.py +0 -0
  59. {python3_commons-0.20.11 → python3_commons-0.20.13}/src/python3_commons.egg-info/SOURCES.txt +0 -0
  60. {python3_commons-0.20.11 → python3_commons-0.20.13}/src/python3_commons.egg-info/dependency_links.txt +0 -0
  61. {python3_commons-0.20.11 → python3_commons-0.20.13}/src/python3_commons.egg-info/top_level.txt +0 -0
  62. {python3_commons-0.20.11 → python3_commons-0.20.13}/tests/__init__.py +0 -0
  63. {python3_commons-0.20.11 → python3_commons-0.20.13}/tests/integration/__init__.py +0 -0
  64. {python3_commons-0.20.11 → python3_commons-0.20.13}/tests/integration/conftest.py +0 -0
  65. {python3_commons-0.20.11 → python3_commons-0.20.13}/tests/integration/test_auth.py +0 -0
  66. {python3_commons-0.20.11 → python3_commons-0.20.13}/tests/integration/test_cache.py +0 -0
  67. {python3_commons-0.20.11 → python3_commons-0.20.13}/tests/integration/test_osc.py +0 -0
  68. {python3_commons-0.20.11 → python3_commons-0.20.13}/tests/unit/__init__.py +0 -0
  69. {python3_commons-0.20.11 → python3_commons-0.20.13}/tests/unit/conftest.py +0 -0
  70. {python3_commons-0.20.11 → python3_commons-0.20.13}/tests/unit/db/__init__.py +0 -0
  71. {python3_commons-0.20.11 → python3_commons-0.20.13}/tests/unit/db/test_async_session_manager.py +0 -0
  72. {python3_commons-0.20.11 → python3_commons-0.20.13}/tests/unit/log/__init__.py +0 -0
  73. {python3_commons-0.20.11 → python3_commons-0.20.13}/tests/unit/log/test_formatters.py +0 -0
  74. {python3_commons-0.20.11 → python3_commons-0.20.13}/tests/unit/test_async_functools.py +0 -0
  75. {python3_commons-0.20.11 → python3_commons-0.20.13}/tests/unit/test_audit.py +0 -0
  76. {python3_commons-0.20.11 → python3_commons-0.20.13}/tests/unit/test_helpers.py +0 -0
  77. {python3_commons-0.20.11 → python3_commons-0.20.13}/tests/unit/test_msgpack.py +0 -0
  78. {python3_commons-0.20.11 → python3_commons-0.20.13}/tests/unit/test_msgspec.py +0 -0
@@ -1,12 +1,12 @@
1
1
  repos:
2
2
  - repo: https://github.com/astral-sh/uv-pre-commit
3
- rev: 0.11.16
3
+ rev: 0.11.17
4
4
  hooks:
5
5
  - id: uv-lock
6
6
  # - id: uv-export
7
7
 
8
8
  - repo: https://github.com/astral-sh/ruff-pre-commit
9
- rev: v0.15.14
9
+ rev: v0.15.15
10
10
  hooks:
11
11
  # Run the linter.
12
12
  - id: ruff-check
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: python3-commons
3
- Version: 0.20.11
3
+ Version: 0.20.13
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
@@ -13,13 +13,13 @@ Description-Content-Type: text/x-rst
13
13
  License-File: LICENSE
14
14
  License-File: AUTHORS.rst
15
15
  Requires-Dist: msgpack~=1.1.2
16
- Requires-Dist: msgspec==0.21.1
16
+ Requires-Dist: msgspec~=0.21.1
17
17
  Requires-Dist: pydantic-settings~=2.14.1
18
18
  Provides-Extra: all
19
19
  Requires-Dist: python3_commons[api-client,audit,authn,authz,cache,database,object-storage,soap-client]; extra == "all"
20
20
  Provides-Extra: api-client
21
21
  Requires-Dist: aiohttp[speedups]<3.15.0,>=3.13.5; extra == "api-client"
22
- Requires-Dist: certifi==2026.5.20; extra == "api-client"
22
+ Requires-Dist: certifi~=2026.5.20; extra == "api-client"
23
23
  Requires-Dist: python3_commons[audit,object-storage]; extra == "api-client"
24
24
  Provides-Extra: audit
25
25
  Requires-Dist: lxml~=6.1.1; extra == "audit"
@@ -27,7 +27,7 @@ Requires-Dist: zeep[async]~=4.3.2; extra == "audit"
27
27
  Requires-Dist: python3_commons[object-storage]; extra == "audit"
28
28
  Provides-Extra: authn
29
29
  Requires-Dist: aiohttp[speedups]<3.15.0,>=3.13.5; extra == "authn"
30
- Requires-Dist: certifi==2026.5.20; extra == "authn"
30
+ Requires-Dist: certifi~=2026.5.20; extra == "authn"
31
31
  Requires-Dist: python3_commons[api-client]; extra == "authn"
32
32
  Provides-Extra: authz
33
33
  Requires-Dist: python3_commons[database]; extra == "authz"
@@ -39,10 +39,10 @@ Requires-Dist: asyncpg~=0.31.0; extra == "database"
39
39
  Requires-Dist: SQLAlchemy[asyncio]~=2.0.50; extra == "database"
40
40
  Provides-Extra: object-storage
41
41
  Requires-Dist: aiobotocore~=3.7.0; extra == "object-storage"
42
- Requires-Dist: object-storage-client==0.0.30; extra == "object-storage"
42
+ Requires-Dist: object-storage-client~=0.0.31; extra == "object-storage"
43
43
  Provides-Extra: soap-client
44
44
  Requires-Dist: aiohttp[speedups]<3.15.0,>=3.13.5; extra == "soap-client"
45
- Requires-Dist: certifi==2026.5.20; extra == "soap-client"
45
+ Requires-Dist: certifi~=2026.5.20; extra == "soap-client"
46
46
  Requires-Dist: lxml~=6.1.1; extra == "soap-client"
47
47
  Requires-Dist: requests~=2.34.2; extra == "soap-client"
48
48
  Requires-Dist: zeep[async]~=4.3.2; extra == "soap-client"
@@ -19,7 +19,7 @@ keywords = []
19
19
  requires-python = ">=3.14.0,<3.15.0"
20
20
  dependencies = [
21
21
  "msgpack~=1.1.2",
22
- "msgspec==0.21.1",
22
+ "msgspec~=0.21.1",
23
23
  "pydantic-settings~=2.14.1"
24
24
  ]
25
25
 
@@ -29,7 +29,7 @@ all = [
29
29
  ]
30
30
  api-client = [
31
31
  "aiohttp[speedups]>=3.13.5,<3.15.0",
32
- "certifi==2026.5.20",
32
+ "certifi~=2026.5.20",
33
33
  "python3_commons[audit,object-storage]"
34
34
  ]
35
35
  audit = [
@@ -39,7 +39,7 @@ audit = [
39
39
  ]
40
40
  authn = [
41
41
  "aiohttp[speedups]>=3.13.5,<3.15.0",
42
- "certifi==2026.5.20",
42
+ "certifi~=2026.5.20",
43
43
  "python3_commons[api-client]"
44
44
  ]
45
45
  authz = [
@@ -55,11 +55,11 @@ database = [
55
55
  ]
56
56
  object-storage = [
57
57
  "aiobotocore~=3.7.0",
58
- "object-storage-client==0.0.30"
58
+ "object-storage-client~=0.0.31"
59
59
  ]
60
60
  soap-client = [
61
61
  "aiohttp[speedups]>=3.13.5,<3.15.0",
62
- "certifi==2026.5.20",
62
+ "certifi~=2026.5.20",
63
63
  "lxml~=6.1.1",
64
64
  "requests~=2.34.2",
65
65
  "zeep[async]~=4.3.2",
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: python3-commons
3
- Version: 0.20.11
3
+ Version: 0.20.13
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
@@ -13,13 +13,13 @@ Description-Content-Type: text/x-rst
13
13
  License-File: LICENSE
14
14
  License-File: AUTHORS.rst
15
15
  Requires-Dist: msgpack~=1.1.2
16
- Requires-Dist: msgspec==0.21.1
16
+ Requires-Dist: msgspec~=0.21.1
17
17
  Requires-Dist: pydantic-settings~=2.14.1
18
18
  Provides-Extra: all
19
19
  Requires-Dist: python3_commons[api-client,audit,authn,authz,cache,database,object-storage,soap-client]; extra == "all"
20
20
  Provides-Extra: api-client
21
21
  Requires-Dist: aiohttp[speedups]<3.15.0,>=3.13.5; extra == "api-client"
22
- Requires-Dist: certifi==2026.5.20; extra == "api-client"
22
+ Requires-Dist: certifi~=2026.5.20; extra == "api-client"
23
23
  Requires-Dist: python3_commons[audit,object-storage]; extra == "api-client"
24
24
  Provides-Extra: audit
25
25
  Requires-Dist: lxml~=6.1.1; extra == "audit"
@@ -27,7 +27,7 @@ Requires-Dist: zeep[async]~=4.3.2; extra == "audit"
27
27
  Requires-Dist: python3_commons[object-storage]; extra == "audit"
28
28
  Provides-Extra: authn
29
29
  Requires-Dist: aiohttp[speedups]<3.15.0,>=3.13.5; extra == "authn"
30
- Requires-Dist: certifi==2026.5.20; extra == "authn"
30
+ Requires-Dist: certifi~=2026.5.20; extra == "authn"
31
31
  Requires-Dist: python3_commons[api-client]; extra == "authn"
32
32
  Provides-Extra: authz
33
33
  Requires-Dist: python3_commons[database]; extra == "authz"
@@ -39,10 +39,10 @@ Requires-Dist: asyncpg~=0.31.0; extra == "database"
39
39
  Requires-Dist: SQLAlchemy[asyncio]~=2.0.50; extra == "database"
40
40
  Provides-Extra: object-storage
41
41
  Requires-Dist: aiobotocore~=3.7.0; extra == "object-storage"
42
- Requires-Dist: object-storage-client==0.0.30; extra == "object-storage"
42
+ Requires-Dist: object-storage-client~=0.0.31; extra == "object-storage"
43
43
  Provides-Extra: soap-client
44
44
  Requires-Dist: aiohttp[speedups]<3.15.0,>=3.13.5; extra == "soap-client"
45
- Requires-Dist: certifi==2026.5.20; extra == "soap-client"
45
+ Requires-Dist: certifi~=2026.5.20; extra == "soap-client"
46
46
  Requires-Dist: lxml~=6.1.1; extra == "soap-client"
47
47
  Requires-Dist: requests~=2.34.2; extra == "soap-client"
48
48
  Requires-Dist: zeep[async]~=4.3.2; extra == "soap-client"
@@ -1,5 +1,5 @@
1
1
  msgpack~=1.1.2
2
- msgspec==0.21.1
2
+ msgspec~=0.21.1
3
3
  pydantic-settings~=2.14.1
4
4
 
5
5
  [all]
@@ -7,7 +7,7 @@ python3_commons[api-client,audit,authn,authz,cache,database,object-storage,soap-
7
7
 
8
8
  [api-client]
9
9
  aiohttp[speedups]<3.15.0,>=3.13.5
10
- certifi==2026.5.20
10
+ certifi~=2026.5.20
11
11
  python3_commons[audit,object-storage]
12
12
 
13
13
  [audit]
@@ -17,7 +17,7 @@ python3_commons[object-storage]
17
17
 
18
18
  [authn]
19
19
  aiohttp[speedups]<3.15.0,>=3.13.5
20
- certifi==2026.5.20
20
+ certifi~=2026.5.20
21
21
  python3_commons[api-client]
22
22
 
23
23
  [authz]
@@ -33,11 +33,11 @@ SQLAlchemy[asyncio]~=2.0.50
33
33
 
34
34
  [object-storage]
35
35
  aiobotocore~=3.7.0
36
- object-storage-client==0.0.30
36
+ object-storage-client~=0.0.31
37
37
 
38
38
  [soap-client]
39
39
  aiohttp[speedups]<3.15.0,>=3.13.5
40
- certifi==2026.5.20
40
+ certifi~=2026.5.20
41
41
  lxml~=6.1.1
42
42
  requests~=2.34.2
43
43
  zeep[async]~=4.3.2
@@ -527,11 +527,11 @@ wheels = [
527
527
 
528
528
  [[package]]
529
529
  name = "idna"
530
- version = "3.16"
530
+ version = "3.17"
531
531
  source = { registry = "https://pypi.org/simple" }
532
- sdist = { url = "https://files.pythonhosted.org/packages/1a/88/bcf9709822fe69d02c2a6a77956c98ce6ea8ca8767a9aadcedc7eb6a2390/idna-3.16.tar.gz", hash = "sha256:d7a6da03db833450fca25d2358ac9ff06cd624577a4aea3a596d5c0f77b8e03d", size = 203770, upload-time = "2026-05-22T00:16:18.781Z" }
532
+ sdist = { url = "https://files.pythonhosted.org/packages/b9/28/99c51f664567218d824af024c0251650fb27e4ca066df188dab0769c5b91/idna-3.17.tar.gz", hash = "sha256:5eb0cb53bc467c12eadcf6de83163ad8527cec9416f44b9b61b19caedad2b87f", size = 196048, upload-time = "2026-05-28T14:32:38.55Z" }
533
533
  wheels = [
534
- { url = "https://files.pythonhosted.org/packages/94/16/70255075a9859a0e3adb789b68ceb0e210dec03934245fd98d248226572f/idna-3.16-py3-none-any.whl", hash = "sha256:cc246e3a3f89580c3a951b5ad298ca4638078b2cdd4f115654332b5c26daded5", size = 74165, upload-time = "2026-05-22T00:16:16.698Z" },
534
+ { url = "https://files.pythonhosted.org/packages/de/a7/f76514cc40ad6234098ecdebda08732d75964776c51a42845b7da10649e2/idna-3.17-py3-none-any.whl", hash = "sha256:466e48829084efe2548012b855df21540b96f2e20e51bd124c851536556a592c", size = 65316, upload-time = "2026-05-28T14:32:37.035Z" },
535
535
  ]
536
536
 
537
537
  [[package]]
@@ -717,14 +717,14 @@ wheels = [
717
717
 
718
718
  [[package]]
719
719
  name = "object-storage-client"
720
- version = "0.0.30"
720
+ version = "0.0.32"
721
721
  source = { registry = "https://pypi.org/simple" }
722
- sdist = { url = "https://files.pythonhosted.org/packages/4d/de/2a1604fd29b4d5c5934c0f12acb6fadb644c44d3bb91ee89021fc73627de/object_storage_client-0.0.30.tar.gz", hash = "sha256:48bb4afb4f5f4871167d2593ac77147deae09849b138c29b51fb1ab32e0c6e4c", size = 42287, upload-time = "2026-05-19T15:00:13.826Z" }
722
+ sdist = { url = "https://files.pythonhosted.org/packages/5a/87/b510aeb99d3a691d779d880eb5ad5390555703c711e1efb8a3fae826a5f8/object_storage_client-0.0.32.tar.gz", hash = "sha256:80809c69ac091d4b3a4eb96f2cef2117ada942410ba3130d1de3429acaf91407", size = 54901, upload-time = "2026-05-29T17:14:09.293Z" }
723
723
  wheels = [
724
- { url = "https://files.pythonhosted.org/packages/39/9c/e1d01b382e1f7bcceb5b4dce1246349f4777a420c07ef8249e3da1d085d0/object_storage_client-0.0.30-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:9ea41b5953aa2d9ce1f8947b55a1bf19fef194738ec90e97ccd802b4e18ec27c", size = 1945635, upload-time = "2026-05-19T15:00:12.34Z" },
725
- { url = "https://files.pythonhosted.org/packages/30/bc/67a991c7544d13356804047225c1822546c58199544c9f2dee66f2073023/object_storage_client-0.0.30-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8d6308f860bf6495f9bfcf57e66343042e84160dfb067b0a1cb8fb5a268de806", size = 2137471, upload-time = "2026-05-19T15:00:08.739Z" },
726
- { url = "https://files.pythonhosted.org/packages/55/b0/46cc1b484ba3850480b9c7142b69b909eacb6df2ae1ae3e93416fa6108db/object_storage_client-0.0.30-cp314-cp314-manylinux_2_28_aarch64.whl", hash = "sha256:ce2ae89142c997b69a5aff954d0a3e810d10586fad67c69e6f6083dae25b839e", size = 2131313, upload-time = "2026-05-19T15:00:14.988Z" },
727
- { url = "https://files.pythonhosted.org/packages/80/01/0909fd906c4c63c791394831a4ef49e007bf3256173941f9acf7bf4d623a/object_storage_client-0.0.30-cp314-cp314-win_amd64.whl", hash = "sha256:7a5cb07aa7928a5495b41c46901f9de11ead197f5e0c7b23d1e02688c7e35456", size = 2130202, upload-time = "2026-05-19T15:00:10.624Z" },
724
+ { url = "https://files.pythonhosted.org/packages/b0/87/6cedf83e84e8a2d1afb53a65131b6e5f1ddfb565afa1b67aad784bdaa2e8/object_storage_client-0.0.32-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:f22c2bfe40d3891dc5aaa96366596308f47a120536624d3fbfb0808e98455656", size = 2152879, upload-time = "2026-05-29T17:14:14.744Z" },
725
+ { url = "https://files.pythonhosted.org/packages/0b/9e/f37e6b3312b047eaf848f221c5530e1bf58ffa4ef2419ac7b78bf40cebfd/object_storage_client-0.0.32-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f1803bd864ef480196d85bff3bf8835f833b10e2ca67374b856bcb2f6e8c6c03", size = 2515485, upload-time = "2026-05-29T17:14:08.155Z" },
726
+ { url = "https://files.pythonhosted.org/packages/5f/90/5573da551de8e2e220aa52aeb76346bcf6aa588725e53d4ef132ee580b27/object_storage_client-0.0.32-cp314-cp314-manylinux_2_28_aarch64.whl", hash = "sha256:87e365d052b96ad635bc33f9265b3e04256576134346d7de11daa1baa3d80ab2", size = 2401737, upload-time = "2026-05-29T17:14:10.283Z" },
727
+ { url = "https://files.pythonhosted.org/packages/d6/58/fe724140d0858e117fb173cc048511d0470c6a8da81108afedc1803ba223/object_storage_client-0.0.32-cp314-cp314-win_amd64.whl", hash = "sha256:0875c4a619ff7ad386a14936683f270eaeb155bc70863185461e37a12b2b988a", size = 2315103, upload-time = "2026-05-29T17:14:18.112Z" },
728
728
  ]
729
729
 
730
730
  [[package]]
@@ -747,11 +747,11 @@ wheels = [
747
747
 
748
748
  [[package]]
749
749
  name = "platformdirs"
750
- version = "4.9.6"
750
+ version = "4.10.0"
751
751
  source = { registry = "https://pypi.org/simple" }
752
- sdist = { url = "https://files.pythonhosted.org/packages/9f/4a/0883b8e3802965322523f0b200ecf33d31f10991d0401162f4b23c698b42/platformdirs-4.9.6.tar.gz", hash = "sha256:3bfa75b0ad0db84096ae777218481852c0ebc6c727b3168c1b9e0118e458cf0a", size = 29400, upload-time = "2026-04-09T00:04:10.812Z" }
752
+ sdist = { url = "https://files.pythonhosted.org/packages/d7/47/e4501f49c178ae1d9f4a75073fda4204f52647993f075a9db4d14930e0c5/platformdirs-4.10.0.tar.gz", hash = "sha256:31e761a6a0ca04faf7353ea759bdba55652be214725111e5aac52dfa29d4bef7", size = 31224, upload-time = "2026-05-28T03:32:53.587Z" }
753
753
  wheels = [
754
- { url = "https://files.pythonhosted.org/packages/75/a6/a0a304dc33b49145b21f4808d763822111e67d1c3a32b524a1baf947b6e1/platformdirs-4.9.6-py3-none-any.whl", hash = "sha256:e61adb1d5e5cb3441b4b7710bea7e4c12250ca49439228cc1021c00dcfac0917", size = 21348, upload-time = "2026-04-09T00:04:09.463Z" },
754
+ { url = "https://files.pythonhosted.org/packages/81/e6/cd9575ac904136b3cbf7aa7ee819ef86eedb7274e46f230e94ea4342e729/platformdirs-4.10.0-py3-none-any.whl", hash = "sha256:fb516cdb12eb0d857d0cd85a7c57cea4d060bee4578d6cf5a14dfdf8cbf8784a", size = 22743, upload-time = "2026-05-28T03:32:52.175Z" },
755
755
  ]
756
756
 
757
757
  [[package]]
@@ -1035,15 +1035,15 @@ wheels = [
1035
1035
 
1036
1036
  [[package]]
1037
1037
  name = "python-discovery"
1038
- version = "1.3.1"
1038
+ version = "1.4.0"
1039
1039
  source = { registry = "https://pypi.org/simple" }
1040
1040
  dependencies = [
1041
1041
  { name = "filelock" },
1042
1042
  { name = "platformdirs" },
1043
1043
  ]
1044
- sdist = { url = "https://files.pythonhosted.org/packages/48/60/e88788207d81e46362cfbef0d4aaf4c0f49efc3c12d4c3fa3f542c34ebec/python_discovery-1.3.1.tar.gz", hash = "sha256:62f6db28064c9613e7ca76cb3f00c38c839a07c31c00dfe7ed0986493d2150a6", size = 68011, upload-time = "2026-05-12T20:53:36.336Z" }
1044
+ sdist = { url = "https://files.pythonhosted.org/packages/a6/12/38c1a0b1e64806780c9563e3fc9f6e472251839662587cfbe9bfaf2ae10a/python_discovery-1.4.0.tar.gz", hash = "sha256:eb8bc7daad3c226c147e45bb4e970a1feb1bf4048ee178e6db59e197b8010ce3", size = 68455, upload-time = "2026-05-28T01:15:37.639Z" }
1045
1045
  wheels = [
1046
- { url = "https://files.pythonhosted.org/packages/b7/6f/a05a317a66fee0aad270011461f1a63a453ed12471249f172f7d2e2bc7b4/python_discovery-1.3.1-py3-none-any.whl", hash = "sha256:ed188687ebb3b82c01a17cd5ac62fc94d9f6487a7f1a0f9dfe89753fec91039c", size = 33185, upload-time = "2026-05-12T20:53:34.969Z" },
1046
+ { url = "https://files.pythonhosted.org/packages/c8/8d/3d316429f65029532bb1e28ff77b797d86b5ac3915bb44ca4e19aa283d43/python_discovery-1.4.0-py3-none-any.whl", hash = "sha256:26ed78d703e234879a66244c7d4114563fb13ec5cd30a2d1357e5fb4850782da", size = 33217, upload-time = "2026-05-28T01:15:36.573Z" },
1047
1047
  ]
1048
1048
 
1049
1049
  [[package]]
@@ -1155,14 +1155,14 @@ requires-dist = [
1155
1155
  { name = "aiohttp", extras = ["speedups"], marker = "extra == 'authn'", specifier = ">=3.13.5,<3.15.0" },
1156
1156
  { name = "aiohttp", extras = ["speedups"], marker = "extra == 'soap-client'", specifier = ">=3.13.5,<3.15.0" },
1157
1157
  { name = "asyncpg", marker = "extra == 'database'", specifier = "~=0.31.0" },
1158
- { name = "certifi", marker = "extra == 'api-client'", specifier = "==2026.5.20" },
1159
- { name = "certifi", marker = "extra == 'authn'", specifier = "==2026.5.20" },
1160
- { name = "certifi", marker = "extra == 'soap-client'", specifier = "==2026.5.20" },
1158
+ { name = "certifi", marker = "extra == 'api-client'", specifier = "~=2026.5.20" },
1159
+ { name = "certifi", marker = "extra == 'authn'", specifier = "~=2026.5.20" },
1160
+ { name = "certifi", marker = "extra == 'soap-client'", specifier = "~=2026.5.20" },
1161
1161
  { name = "lxml", marker = "extra == 'audit'", specifier = "~=6.1.1" },
1162
1162
  { name = "lxml", marker = "extra == 'soap-client'", specifier = "~=6.1.1" },
1163
1163
  { name = "msgpack", specifier = "~=1.1.2" },
1164
- { name = "msgspec", specifier = "==0.21.1" },
1165
- { name = "object-storage-client", marker = "extra == 'object-storage'", specifier = "==0.0.30" },
1164
+ { name = "msgspec", specifier = "~=0.21.1" },
1165
+ { name = "object-storage-client", marker = "extra == 'object-storage'", specifier = "~=0.0.31" },
1166
1166
  { name = "pydantic-settings", specifier = "~=2.14.1" },
1167
1167
  { name = "python3-commons", extras = ["api-client"], marker = "extra == 'authn'" },
1168
1168
  { name = "python3-commons", extras = ["api-client"], marker = "extra == 'authz'" },
@@ -1274,27 +1274,27 @@ wheels = [
1274
1274
 
1275
1275
  [[package]]
1276
1276
  name = "ruff"
1277
- version = "0.15.14"
1278
- source = { registry = "https://pypi.org/simple" }
1279
- sdist = { url = "https://files.pythonhosted.org/packages/dc/8a/8bce2894573e9dae6ff4d77fe34ad727d79b9e6238ad288c5638990d90f6/ruff-0.15.14.tar.gz", hash = "sha256:48e866b165be4a9bdbf310f7d3c9a07edef2fe8cd63ffeb4e00bb590506ebf9f", size = 4700910, upload-time = "2026-05-21T14:34:55.177Z" }
1280
- wheels = [
1281
- { url = "https://files.pythonhosted.org/packages/b9/c8/74a92c6ff9fcfb4f1f947126d3ebee8389276e161ecc85de5bda7cda51bd/ruff-0.15.14-py3-none-linux_armv6l.whl", hash = "sha256:8dd2db9416e487c8d4b01fa7056bb02c4d05969d4f8d17a08c229c2f4ff3c108", size = 10739177, upload-time = "2026-05-21T14:34:37.332Z" },
1282
- { url = "https://files.pythonhosted.org/packages/45/91/254a35c20acc38a7223c9d2d594af12e794432464f2cdeb52af1dc4a892d/ruff-0.15.14-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:be4ff55af755bd71a00ab3dc6bd7ffc467bd76e0df6881e286c2e3d23e8fb43b", size = 11144969, upload-time = "2026-05-21T14:34:43.978Z" },
1283
- { url = "https://files.pythonhosted.org/packages/56/9e/d13e40f83b8d0a94430e6778ce1d94a43b38cf2efe63278bdd2b4c65abbf/ruff-0.15.14-py3-none-macosx_11_0_arm64.whl", hash = "sha256:48d5909d7d06276ce7dde6d32bfa4b0d4cb2651145cd8ee4b440722cbc77832f", size = 10478207, upload-time = "2026-05-21T14:34:48.378Z" },
1284
- { url = "https://files.pythonhosted.org/packages/8d/f1/b15a7839fa4f332f8acec78e20564f26bb2d866e3d21710b877fd0263000/ruff-0.15.14-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ca8cbfa94c4f90984a67561978602746d4cd27103568f745fa90eee3f0d4107d", size = 10818459, upload-time = "2026-05-21T14:34:22.318Z" },
1285
- { url = "https://files.pythonhosted.org/packages/45/33/53d651177f84f94b400a0e27f8824eeada3dddc9d5ee8aeb048f4352a520/ruff-0.15.14-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:9a6bbc0333f1ab053423bcbf6226477d266ca7cec7738c4c8e3f55647803f3c4", size = 10541800, upload-time = "2026-05-21T14:34:20.209Z" },
1286
- { url = "https://files.pythonhosted.org/packages/b8/a6/868f87e0bf9786ed24b5d0d0ad8676b8a94fd1912f42cddf9cfc7857818a/ruff-0.15.14-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8a24a4f7605d7003a6674d4387651effd939dead3fddd0f36561eb77a9a2e542", size = 11342149, upload-time = "2026-05-21T14:34:46.365Z" },
1287
- { url = "https://files.pythonhosted.org/packages/a7/8b/38cd5c19faffdcc05a408d2b78edccc69492ab9720eadb49ea15ef80d768/ruff-0.15.14-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:049b5326e53ed80978f2fc041a280603f69dd6b0c95464342a2bb4572d9d9e2f", size = 12212563, upload-time = "2026-05-21T14:34:28.579Z" },
1288
- { url = "https://files.pythonhosted.org/packages/3e/4d/a3c5b874a556d5731e3e657aaf04311bb76f0a5c3ec220ed43051be6b64b/ruff-0.15.14-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d4ed42e6696c8dfa5f06728e6441993901f548eb92d73bc472cb5a38d1395fbf", size = 11493299, upload-time = "2026-05-21T14:34:41.836Z" },
1289
- { url = "https://files.pythonhosted.org/packages/1e/c0/56472c251d09858a53e51efbd485b09e1995d8731668b76d52e5dd6ee0f1/ruff-0.15.14-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:715c543cf450c4888251f91c52f1942a800541d9bddd7ac060aa4e6b77ae7cba", size = 11455931, upload-time = "2026-05-21T14:34:57.276Z" },
1290
- { url = "https://files.pythonhosted.org/packages/2c/4a/e2e7b4d8dbf233d4eace59c75bc3435fa6d8bd3bae82d351d4e4300c0fd1/ruff-0.15.14-py3-none-manylinux_2_31_riscv64.whl", hash = "sha256:72ebab6013ec887d439d8b7593737a0a4ffb06d45d209d4e4bf2e92813082d3f", size = 11400794, upload-time = "2026-05-21T14:34:39.773Z" },
1291
- { url = "https://files.pythonhosted.org/packages/97/c7/83c0539fe34c3e09136204d1e75d6052492364e0b3cb05e9465423f567d7/ruff-0.15.14-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:49072d36abdbe97a8dd7f480afe9c675699c0c495d4c84076e2c1203c4550581", size = 10804759, upload-time = "2026-05-21T14:34:31.045Z" },
1292
- { url = "https://files.pythonhosted.org/packages/86/a6/18f2bfc095a2ab4a78745644e428205532ce6653a5d0fa8501572891534d/ruff-0.15.14-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:958522aee105068640c2c2ceae08f413ae44d922f52a1374ac13d6a96032fc93", size = 10539517, upload-time = "2026-05-21T14:34:53.064Z" },
1293
- { url = "https://files.pythonhosted.org/packages/54/3a/5a8b3b69c654d4e4bf1d246ac5b49cbcdac6eaab6905925f8915f31e3b80/ruff-0.15.14-py3-none-musllinux_1_2_i686.whl", hash = "sha256:f3707da619a143a2e8830e2abab8224478d69ace2d28cb6c20543ae97c36bf61", size = 11065169, upload-time = "2026-05-21T14:34:24.484Z" },
1294
- { url = "https://files.pythonhosted.org/packages/ed/c5/8864e4e7925b836ea354b31d57641ec03830564e281a8b6f061f8c3e0ec1/ruff-0.15.14-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:bb01d645694e3ec0102105d07ef2d53703970407d59c04e59d3ba0b7a1d53553", size = 11560214, upload-time = "2026-05-21T14:34:50.975Z" },
1295
- { url = "https://files.pythonhosted.org/packages/36/38/012bf76752e1f89ed50b77b99532d90f3a3e287bc7918e1fc0948ac866ac/ruff-0.15.14-py3-none-win32.whl", hash = "sha256:6d0c1ad2a0ab718d39b6d8fd2217981ce4d625cd96a720095f798fb47d8b13e6", size = 10805548, upload-time = "2026-05-21T14:34:33.453Z" },
1296
- { url = "https://files.pythonhosted.org/packages/d1/b7/4ea2c170f10ad760fff2a5250beb18897719dc8b52b53a24cddbb9dd3f19/ruff-0.15.14-py3-none-win_amd64.whl", hash = "sha256:802342981e056db3851a7836e5b070f8f15f67d4a685ae2a6160939d364b2902", size = 11939523, upload-time = "2026-05-21T14:34:18.077Z" },
1297
- { url = "https://files.pythonhosted.org/packages/62/d5/bc97ff895ec35cf3925d4bd60f3b39d822f377a446906ec9bcc87405e59b/ruff-0.15.14-py3-none-win_arm64.whl", hash = "sha256:ff47b90a9ef6a40c9e2f3b479c1fb78531adf055b94c1eba0a7ba04b31951826", size = 11208607, upload-time = "2026-05-21T14:34:26.525Z" },
1277
+ version = "0.15.15"
1278
+ source = { registry = "https://pypi.org/simple" }
1279
+ sdist = { url = "https://files.pythonhosted.org/packages/84/6f/a76f7d96e5c962f5b69cee865e49c15c1116897c01990faa8a57edb62e7f/ruff-0.15.15.tar.gz", hash = "sha256:b8dff018130b46d8e5bf0f926ef6b60cf871d6d5ae45fc9334e09632daa741d6", size = 4706985, upload-time = "2026-05-28T14:16:57.784Z" }
1280
+ wheels = [
1281
+ { url = "https://files.pythonhosted.org/packages/fa/9d/3a45c05b8ab04b4705989de70a79008e27c8003296a0feaee9edc18dd7e9/ruff-0.15.15-py3-none-linux_armv6l.whl", hash = "sha256:cf93e5388f412e1b108b1f8b34a6e036b70fe8aff89393befad96fe48670311b", size = 10710652, upload-time = "2026-05-28T14:16:06.701Z" },
1282
+ { url = "https://files.pythonhosted.org/packages/05/66/da974431624bf3b49f6ee1f9543c02d929ff1cba78b0d5a79c38cf21f744/ruff-0.15.15-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:ac5a646d1f6a7dadd5d50842dae2c1f9862ac887ef5d1b1375e02def791fde6e", size = 11096615, upload-time = "2026-05-28T14:16:23.313Z" },
1283
+ { url = "https://files.pythonhosted.org/packages/8c/09/7443452e5d290230a712103f2fdceeef7184f3ec99a2bd01c8be78aaceb5/ruff-0.15.15-py3-none-macosx_11_0_arm64.whl", hash = "sha256:77d955a431430c66f72dd94e379ad38a16daea3d25094872ac4edf9e797be530", size = 10436683, upload-time = "2026-05-28T14:16:40.974Z" },
1284
+ { url = "https://files.pythonhosted.org/packages/53/01/d330c26a57fa4f3943a14424904027428315b700fe4d14a84bb123a649e5/ruff-0.15.15-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7614ee79c69788cf6cedd568069ade9cecc22a1ad20494efe8d0c9ebb4b622d4", size = 10769064, upload-time = "2026-05-28T14:16:28.905Z" },
1285
+ { url = "https://files.pythonhosted.org/packages/1d/85/cc8770f8bdff541b1da8392d1634141fe4a0e3f4ee596605959b7906c27f/ruff-0.15.15-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:3cdb1679e06a1f6b47bc384714ae96f6e2fb65ca441eb78c43d2ca554176ce1f", size = 10511987, upload-time = "2026-05-28T14:16:43.732Z" },
1286
+ { url = "https://files.pythonhosted.org/packages/7c/29/8c190c1472b63013583ba391f3342036e02010544c1270455ed8e519bdf3/ruff-0.15.15-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2728b93d7b23a603ea2c0ac6eb73d760bd38ec9de35f35fb41e18f7a3fee7622", size = 11275100, upload-time = "2026-05-28T14:16:55.244Z" },
1287
+ { url = "https://files.pythonhosted.org/packages/9f/6b/7e145ce2cc8e63d6834eca03d83a0e18d121def5c69f91b4cf4011ed4879/ruff-0.15.15-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:be582fcc0db438902c7792b08d6ddf6c9b9e21addaa10092c2c741cfb09e5a45", size = 12176903, upload-time = "2026-05-28T14:16:14.368Z" },
1288
+ { url = "https://files.pythonhosted.org/packages/80/a3/d5974637f68e451f7fadf015cf3101d1cd7d8ba5027cffe0b9e3826ebe6b/ruff-0.15.15-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7aa77465b8ecaf1a27bea098d696f7fed5e1eccbd10b321b682d6de586ae5627", size = 11404550, upload-time = "2026-05-28T14:16:20.138Z" },
1289
+ { url = "https://files.pythonhosted.org/packages/fe/1c/e6e5e568f22be4fb05d6244234aba384c06b451252453b821e1a529263cf/ruff-0.15.15-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:48decfa11d740de4889de623be1463308346312f2409a56e24aa280c86162dc4", size = 11382027, upload-time = "2026-05-28T14:16:46.615Z" },
1290
+ { url = "https://files.pythonhosted.org/packages/1d/01/170921b49fcd2e8858825593f91cf7146c3e40a5c3e6df763e4bb0484dde/ruff-0.15.15-py3-none-manylinux_2_31_riscv64.whl", hash = "sha256:a5015088452ca0081387063649ec67f06d3d1d6b8b936a1f836b5e9657ecd48c", size = 11366041, upload-time = "2026-05-28T14:16:26.247Z" },
1291
+ { url = "https://files.pythonhosted.org/packages/87/54/a7bad711d7de93254e15e06a4c375b89a03d18de45d3e5dcc86a4472fb1a/ruff-0.15.15-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:f5294aab6356c81600fcdea3a62bb1b924dfd5e91767c12318d3f68f86af57cd", size = 10741795, upload-time = "2026-05-28T14:16:17.11Z" },
1292
+ { url = "https://files.pythonhosted.org/packages/c9/31/38c075963668f8b41c6914ee0f6f318727fbe30ab9145cb29e6df464c5fa/ruff-0.15.15-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:db5bd4d802415cca656dc1616070b725952d6ae95eb5d4831e49fbd94a38f75f", size = 10511117, upload-time = "2026-05-28T14:16:31.767Z" },
1293
+ { url = "https://files.pythonhosted.org/packages/9d/96/6ff689e1f7e375d1d97075eca022f74c2bab59554a432fe4d2e6f091986a/ruff-0.15.15-py3-none-musllinux_1_2_i686.whl", hash = "sha256:587a6278ed42059191c1a466e490bd7930fb50bd2e255398bc29616c895a61cb", size = 10994867, upload-time = "2026-05-28T14:16:35.149Z" },
1294
+ { url = "https://files.pythonhosted.org/packages/c3/c2/5dce0ab9f92a8d534fa62b9bf9caca3eddb8c1a81b616f5e195ada4f0d6e/ruff-0.15.15-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:df0c1c084f5f4be9812f61518a45c440d3c30d69ce4bf6c5270e66d38338f02a", size = 11482101, upload-time = "2026-05-28T14:16:49.598Z" },
1295
+ { url = "https://files.pythonhosted.org/packages/b1/c0/1003b60edd697c649faf61f1a34094b1abb38fb3d1181e3f895781250a08/ruff-0.15.15-py3-none-win32.whl", hash = "sha256:29428ea79694afbe756d45fd59b36f22b6b020dc0443cf7de0173046236964b9", size = 10716774, upload-time = "2026-05-28T14:16:52.337Z" },
1296
+ { url = "https://files.pythonhosted.org/packages/02/a8/1269eddd6945a06c23f055ef7848886e37cf9d6a8bebb386a3115f01470c/ruff-0.15.15-py3-none-win_amd64.whl", hash = "sha256:8df0323902e15e24bc4bf246da830573d3cf3352bd0b9a164eab335d111ff4a4", size = 11868463, upload-time = "2026-05-28T14:16:11.333Z" },
1297
+ { url = "https://files.pythonhosted.org/packages/4e/b2/920464c907b191e37469d477a1aa8bc048b8f36c4c1610dfa4ab87b39e18/ruff-0.15.15-py3-none-win_arm64.whl", hash = "sha256:3c8ceca6792f38196b8f589bc92eccd03eef286602da92e5dc05cc42ef6441b7", size = 11138498, upload-time = "2026-05-28T14:16:38.425Z" },
1298
1298
  ]
1299
1299
 
1300
1300
  [[package]]
@@ -1363,27 +1363,27 @@ asyncio = [
1363
1363
 
1364
1364
  [[package]]
1365
1365
  name = "ty"
1366
- version = "0.0.39"
1367
- source = { registry = "https://pypi.org/simple" }
1368
- sdist = { url = "https://files.pythonhosted.org/packages/d0/8d/7b5c74dc287fbcb37bae9853cec13bf44717c1735298500e4aeba31579a9/ty-0.0.39.tar.gz", hash = "sha256:f750277e76a01ecd86185960eca73823c26a53c51103568d56d4d904575159fd", size = 5702365, upload-time = "2026-05-22T21:09:56.403Z" }
1369
- wheels = [
1370
- { url = "https://files.pythonhosted.org/packages/08/17/9b89802c26d12d0f7a27bc25d4066d941d42891e8898f9f26499f0067e32/ty-0.0.39-py3-none-linux_armv6l.whl", hash = "sha256:c1bb7ac70f1f7d70cc6655fd96558039e4562b10f489fa49c7ebfd5fcee73ad1", size = 11360431, upload-time = "2026-05-22T21:09:18.689Z" },
1371
- { url = "https://files.pythonhosted.org/packages/9c/c6/663ded50e823dbf9fb9d002eca46b7cb1fb2c72b744b84f22ce732a0ee0b/ty-0.0.39-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:3435b64c1e59c14c9aa39c20cc018823937cd38d55db853e74d95b8f420569b0", size = 11096281, upload-time = "2026-05-22T21:09:15.383Z" },
1372
- { url = "https://files.pythonhosted.org/packages/8b/ae/5d38ba9a6456ff4c78d212cf464fd8b9a25d8118465197b0b2dc891c0b19/ty-0.0.39-py3-none-macosx_11_0_arm64.whl", hash = "sha256:5f136377ce46c73677701a9e1ad730bf72f699bcec046e422eb79d0886cac3ab", size = 10529674, upload-time = "2026-05-22T21:09:46.471Z" },
1373
- { url = "https://files.pythonhosted.org/packages/be/6f/43638cb8106445d3c8817256a0731cde9dd7b6a53ae2e881294bc1930ca3/ty-0.0.39-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:36b65fb0cc17f03e851d40e210d420be94ab8bc52d041328ad1e45f616036a61", size = 11055561, upload-time = "2026-05-22T21:09:36.981Z" },
1374
- { url = "https://files.pythonhosted.org/packages/91/17/95e62cf4458527ce78dc386eba18f8b10c3fb64cd8c9e7e59b262ff6029d/ty-0.0.39-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:4967967bfadf3860ff84c3fccdbaec8edf8aa20d0d727521084733d853de6657", size = 11127185, upload-time = "2026-05-22T21:09:31.395Z" },
1375
- { url = "https://files.pythonhosted.org/packages/4e/c0/93666c213db5c71ab1b1f1a0db5f66bf8c7c0e0b0bf59859f5da8f0b3c36/ty-0.0.39-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9e10ecb1297099ddf9a1f054f8bd921d1863ce85fb819a3c96ed27865a1ba6ed", size = 11608459, upload-time = "2026-05-22T21:09:12.862Z" },
1376
- { url = "https://files.pythonhosted.org/packages/79/85/3b26585afc8b50230d6464bb0642feef4fab3f847e38b1f0ffa971a81446/ty-0.0.39-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9b19cca70e465d71b0510656343883d62372bbe74b7845cae7c0e701d6d5264b", size = 12177101, upload-time = "2026-05-22T21:09:40.519Z" },
1377
- { url = "https://files.pythonhosted.org/packages/49/4a/1039e4f6afc576dc1c3a4d22a6478904a1ad3766597cd0b93c077ab9dfce/ty-0.0.39-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:56c6704b01b9b3d80ff26b2918423b742516d1e469bef830e9254dcedc9185bf", size = 11827815, upload-time = "2026-05-22T21:09:49.89Z" },
1378
- { url = "https://files.pythonhosted.org/packages/e2/c5/4688652870e350a76a8157f7ffb59ad54f37d5d10725aa7076f66ac94ec8/ty-0.0.39-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:40b7840ff46764b6a6757f4ade1cd0530fc3e8a0b435ca93e7602360e4cb90b6", size = 11694429, upload-time = "2026-05-22T21:09:21.568Z" },
1379
- { url = "https://files.pythonhosted.org/packages/fc/72/8a1c4e823bb5bdc935a1c8140e100304e36a68a4139592f170aa9736fdb7/ty-0.0.39-py3-none-manylinux_2_31_riscv64.whl", hash = "sha256:1c62a3a87ce26b50819f0dbf03bd95f23f19eeb87bbc7aa732ec64277c77f1aa", size = 11869846, upload-time = "2026-05-22T21:09:28.053Z" },
1380
- { url = "https://files.pythonhosted.org/packages/17/9f/cf982457b861ae22d657c5dcdbc631199f7f90264279db1d17230dfbc3ff/ty-0.0.39-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:f8c34bc81a9c3516e49904e9d8330aac385377cca98390193ea02b903a40fcf0", size = 11029763, upload-time = "2026-05-22T21:09:06.791Z" },
1381
- { url = "https://files.pythonhosted.org/packages/46/c9/95b64f6d43ae6e8f0b7e13dacf9c196d35819af22b1924171fba31383156/ty-0.0.39-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:66f5ab11586a64e79cb692ad685ee5469325c31b5f30bd3554f52f36dbe28cc4", size = 11146761, upload-time = "2026-05-22T21:09:10.178Z" },
1382
- { url = "https://files.pythonhosted.org/packages/52/69/0a89cfb06f7632a05bf56c78e0affb4a40f81759e275376cea75c9c5abe9/ty-0.0.39-py3-none-musllinux_1_2_i686.whl", hash = "sha256:e8d89732bcbbcb091f439e556dfc4932f198b118b47d5b85212c60662099670e", size = 11281843, upload-time = "2026-05-22T21:09:34.234Z" },
1383
- { url = "https://files.pythonhosted.org/packages/0e/53/64c4a27067a46643fea2b3fcf21a8a2f838d91a65ffdd14f2e82945b9538/ty-0.0.39-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:eceb6c91dcd05a231119f82abdd9aa337513de23ca6ac990bc44f88791dc1799", size = 11792477, upload-time = "2026-05-22T21:09:24.923Z" },
1384
- { url = "https://files.pythonhosted.org/packages/1a/e8/02f4dd4a12bcdbda0006f9c7ff3b99a4be06bd0d257d3bd4a5b66de074e6/ty-0.0.39-py3-none-win32.whl", hash = "sha256:891c3262314dbc80bf3e872634d23dd216306945daa9a9fcc206ce5ed21ac4c9", size = 10615377, upload-time = "2026-05-22T21:09:43.167Z" },
1385
- { url = "https://files.pythonhosted.org/packages/b5/5a/aaeb22faa8d4dae90a287d4c3636c671edcff3b99be5f4fc8b79ad71eef6/ty-0.0.39-py3-none-win_amd64.whl", hash = "sha256:ba7f2d54452535419e90f6f03ff39282999e87b43c21c00559f6d7ad711a36d5", size = 11710711, upload-time = "2026-05-22T21:09:53.179Z" },
1386
- { url = "https://files.pythonhosted.org/packages/a3/17/ae7339651bfcaa5f54698c8c70eaf5031baa400ecb67baec31d03a56cbd4/ty-0.0.39-py3-none-win_arm64.whl", hash = "sha256:eb4cf0fefbbfedf9a352597bb2431ebdcb7eb3a595c0f825f228e897a0ec285d", size = 11081409, upload-time = "2026-05-22T21:09:03.741Z" },
1366
+ version = "0.0.40"
1367
+ source = { registry = "https://pypi.org/simple" }
1368
+ sdist = { url = "https://files.pythonhosted.org/packages/5a/f8/a754c96967b71de8723f88be17df8738216bd382ffed229cd500b7a24d13/ty-0.0.40.tar.gz", hash = "sha256:883b53dd98f6e5b33ab1c8e1a3cd94b0f29c762ef22cdf1e86aaffb4fd711c67", size = 5726484, upload-time = "2026-05-27T17:55:43.615Z" }
1369
+ wheels = [
1370
+ { url = "https://files.pythonhosted.org/packages/2c/42/d029a72165ad39f95228b67355927fbd35c821dc8e3e475d49f47c2eeb1e/ty-0.0.40-py3-none-linux_armv6l.whl", hash = "sha256:9defb4742450e569a6a09de286a04008d6c2e815112da4362c88b6eaa2f52a36", size = 11406372, upload-time = "2026-05-27T17:55:49.633Z" },
1371
+ { url = "https://files.pythonhosted.org/packages/23/99/7f8ea09b7e49afbf795cb3341a3217f30f228db7e62a2268ed8cbbf813d6/ty-0.0.40-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:868258a3330db88b683fcafe2c4e936d6226a6312799bf15b585d93557b2d38c", size = 11159782, upload-time = "2026-05-27T17:55:47.405Z" },
1372
+ { url = "https://files.pythonhosted.org/packages/04/d8/1ea745ee97a98b26ae9564d19a430a76a35297cd450e84dcaad22e1f7ee8/ty-0.0.40-py3-none-macosx_11_0_arm64.whl", hash = "sha256:589c81060cf1e7a9ffa2f45bfa35ffd9b9fbd214104e3f13959f113627efcd91", size = 10594139, upload-time = "2026-05-27T17:55:37.206Z" },
1373
+ { url = "https://files.pythonhosted.org/packages/39/1a/fbef21273c6617ff4715b4827ee1c0b6550aa7d1df4b8c43b325545c1cf4/ty-0.0.40-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7b06108990cb338d941c315ae6e9ba2fff8f518bc15d3f33e5619ff6a6c9beab", size = 11114156, upload-time = "2026-05-27T17:55:56.11Z" },
1374
+ { url = "https://files.pythonhosted.org/packages/3c/f9/389fc4976d7ec016a7473cf1274bf9c4f491bb54c66649bd022bff9f2b6a/ty-0.0.40-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:3913ef37336bec4f96bd2512f8c3a543ca34c259b7170f7eb5adf75b3ed7f04c", size = 11189050, upload-time = "2026-05-27T17:55:54.099Z" },
1375
+ { url = "https://files.pythonhosted.org/packages/fa/a9/4ecabbf4bdda7df0d99d8d3892c6edac0efc8c4cae756a5109178a3d0e86/ty-0.0.40-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8fd1486bd5fe48779a8aa857137f3642a0a9161f5cf57d4380f4a0ecea01c8f3", size = 11664266, upload-time = "2026-05-27T17:55:28.17Z" },
1376
+ { url = "https://files.pythonhosted.org/packages/45/02/0aa78730116507c265afb1d6d5961c583b49d4c2e368c4a49fd81bcae6dc/ty-0.0.40-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1668364d5254a734329917ee66c2c5fdd5665389d41043f6fce0f22ddb32b749", size = 12187743, upload-time = "2026-05-27T17:56:04.337Z" },
1377
+ { url = "https://files.pythonhosted.org/packages/e6/68/ccabf2d173523598271a385c1d3f864dbda23e5ebdc67f5969b9e830ea05/ty-0.0.40-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:43f77a73edb91e5dfa2ab9af7c4cac64614f8cc121f38a8875f22e830d3aba6a", size = 11862999, upload-time = "2026-05-27T17:55:58.087Z" },
1378
+ { url = "https://files.pythonhosted.org/packages/03/8d/6d7ec22771bb23d534797cdb446eb644bccfe7a62b729bb99e7235a02fc3/ty-0.0.40-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1274ce0212ecbfed01bda7c3659c46e8bd0068e32d00c46c790466a95274c3df", size = 11743896, upload-time = "2026-05-27T17:56:00.017Z" },
1379
+ { url = "https://files.pythonhosted.org/packages/cd/a4/f9fa076b010c91cb249b1fcc3476569b7b8462cb4b688da2d04c23a0622f/ty-0.0.40-py3-none-manylinux_2_31_riscv64.whl", hash = "sha256:5ee1261dbc363e5cc1a0c5bb0c8612c192bfe53491214df8bc85a540835685f9", size = 11883581, upload-time = "2026-05-27T17:56:02.319Z" },
1380
+ { url = "https://files.pythonhosted.org/packages/fd/0f/5b776a2328c756d574dd4d6afbd30fc24e1ab4b76935c7c3c23f27ebbcb9/ty-0.0.40-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:6220e2cd5cdc4683dd87fb150d195bbd9f1a021395e04cb08bd3c66ea6da6ef8", size = 11093946, upload-time = "2026-05-27T17:55:33.284Z" },
1381
+ { url = "https://files.pythonhosted.org/packages/64/c4/eb23154bae83ad7c2935e9e5916660fb3e31598a92ee232aebd79410480c/ty-0.0.40-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:46b9ed69d01d98ef046afac9983c68336f572605ea2a27b90fbe6f80bfc8d6b7", size = 11210737, upload-time = "2026-05-27T17:55:45.523Z" },
1382
+ { url = "https://files.pythonhosted.org/packages/ff/19/1fb2529703f708cacfd13a89f98613cae2907dfa941b26976467e6119803/ty-0.0.40-py3-none-musllinux_1_2_i686.whl", hash = "sha256:ddbca9fab4406260f141674ab5efcfe7b02bd468e6985e4cdde0a21626e69ffe", size = 11332563, upload-time = "2026-05-27T17:55:41.674Z" },
1383
+ { url = "https://files.pythonhosted.org/packages/87/69/b3f5a8ef26c31204e0391147b3adcdb0674eda3e7d99868478ef168a41c6/ty-0.0.40-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:b1fcc082a749e6dc11b68fe9aab0420238bbf2a2374c2c7aa3c22e8c1618b136", size = 11843216, upload-time = "2026-05-27T17:55:35.367Z" },
1384
+ { url = "https://files.pythonhosted.org/packages/ac/e8/20193069d32787f3e1a6ec8940aaa3759d3de8f48f9281bcc0c5cb0939da/ty-0.0.40-py3-none-win32.whl", hash = "sha256:75feb115b3587824c5bdf8f8305e9547b0d1e398e3077b0addc7a1988ea9bb50", size = 10670731, upload-time = "2026-05-27T17:55:31.316Z" },
1385
+ { url = "https://files.pythonhosted.org/packages/a3/f9/8b2aa4da61db81322d4a2f9db227afeb48110ca15ae31d380f64c64ceb63/ty-0.0.40-py3-none-win_amd64.whl", hash = "sha256:b0f905edaad788bd61f779a85801b60a267a25ed57fca05aaddd168d9d8896be", size = 11766211, upload-time = "2026-05-27T17:55:51.898Z" },
1386
+ { url = "https://files.pythonhosted.org/packages/04/87/369056ed46f1b235130ec0595393262f9cd2061ca3dab276d490980f9343/ty-0.0.40-py3-none-win_arm64.whl", hash = "sha256:07da2b09d9130e2c9a257d2a29beb53105835b0256ee5fdb288fe1aab83fee47", size = 11117369, upload-time = "2026-05-27T17:55:39.329Z" },
1387
1387
  ]
1388
1388
 
1389
1389
  [[package]]
@@ -1479,7 +1479,7 @@ wheels = [
1479
1479
 
1480
1480
  [[package]]
1481
1481
  name = "virtualenv"
1482
- version = "21.3.3"
1482
+ version = "21.4.1"
1483
1483
  source = { registry = "https://pypi.org/simple" }
1484
1484
  dependencies = [
1485
1485
  { name = "distlib" },
@@ -1487,9 +1487,9 @@ dependencies = [
1487
1487
  { name = "platformdirs" },
1488
1488
  { name = "python-discovery" },
1489
1489
  ]
1490
- sdist = { url = "https://files.pythonhosted.org/packages/15/ba/1f6e8c957e4932be060dcdc482d339c12e0216351478add3645cdaa53c05/virtualenv-21.3.3.tar.gz", hash = "sha256:f5bda277e553b1c2b3c1a8debfc30496e1288cc93ce6b7b71b3280047e317328", size = 7613784, upload-time = "2026-05-13T18:01:30.19Z" }
1490
+ sdist = { url = "https://files.pythonhosted.org/packages/95/f0/b47ecf438211a25a97f8f0e4b23c22bc2496ebfea18dd6ec16210f09cc36/virtualenv-21.4.1.tar.gz", hash = "sha256:2ca543c713b72840ceffd94e9bdedfbd09a661defa1f7f69e5429ad4059442e2", size = 7613344, upload-time = "2026-05-28T04:12:49.905Z" }
1491
1491
  wheels = [
1492
- { url = "https://files.pythonhosted.org/packages/f4/34/a9dbe051de88a63eb7408ea66630bac38e72f7f6077d4be58737106860d9/virtualenv-21.3.3-py3-none-any.whl", hash = "sha256:7d5987d8369e098e41406efb780a3d4ca79280097293899e351a6407ee153ab3", size = 7594554, upload-time = "2026-05-13T18:01:27.815Z" },
1492
+ { url = "https://files.pythonhosted.org/packages/ff/dc/ac4f3a987a87e1a18556896f257c4e15c95ed157b7975347ec6b313b75ce/virtualenv-21.4.1-py3-none-any.whl", hash = "sha256:caf4ff72d1b4039057f41d8e8466e859513d67c0400d9c6b62c02c9d1ebc3e12", size = 7594078, upload-time = "2026-05-28T04:12:47.686Z" },
1493
1493
  ]
1494
1494
 
1495
1495
  [[package]]