python3-commons 0.17.0__tar.gz → 0.17.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 (73) hide show
  1. {python3_commons-0.17.0/src/python3_commons.egg-info → python3_commons-0.17.2}/PKG-INFO +6 -2
  2. {python3_commons-0.17.0 → python3_commons-0.17.2}/pyproject.toml +6 -1
  3. {python3_commons-0.17.0 → python3_commons-0.17.2}/src/python3_commons/api_client.py +12 -12
  4. {python3_commons-0.17.0 → python3_commons-0.17.2}/src/python3_commons/audit.py +1 -1
  5. {python3_commons-0.17.0 → python3_commons-0.17.2}/src/python3_commons/auth.py +1 -1
  6. {python3_commons-0.17.0 → python3_commons-0.17.2}/src/python3_commons/cache.py +6 -6
  7. {python3_commons-0.17.0 → python3_commons-0.17.2}/src/python3_commons/db/__init__.py +1 -1
  8. {python3_commons-0.17.0 → python3_commons-0.17.2}/src/python3_commons/db/helpers.py +2 -2
  9. {python3_commons-0.17.0 → python3_commons-0.17.2}/src/python3_commons/db/models/auth.py +1 -1
  10. {python3_commons-0.17.0 → python3_commons-0.17.2}/src/python3_commons/db/models/common.py +1 -1
  11. {python3_commons-0.17.0 → python3_commons-0.17.2}/src/python3_commons/db/models/rbac.py +1 -1
  12. {python3_commons-0.17.0 → python3_commons-0.17.2}/src/python3_commons/db/models/users.py +1 -1
  13. {python3_commons-0.17.0 → python3_commons-0.17.2}/src/python3_commons/object_storage.py +5 -5
  14. {python3_commons-0.17.0 → python3_commons-0.17.2}/src/python3_commons/permissions.py +1 -1
  15. {python3_commons-0.17.0 → python3_commons-0.17.2/src/python3_commons.egg-info}/PKG-INFO +6 -2
  16. {python3_commons-0.17.0 → python3_commons-0.17.2}/src/python3_commons.egg-info/requires.txt +6 -1
  17. {python3_commons-0.17.0 → python3_commons-0.17.2}/uv.lock +14 -2
  18. {python3_commons-0.17.0 → python3_commons-0.17.2}/.coveragerc +0 -0
  19. {python3_commons-0.17.0 → python3_commons-0.17.2}/.devcontainer/Dockerfile +0 -0
  20. {python3_commons-0.17.0 → python3_commons-0.17.2}/.devcontainer/devcontainer.json +0 -0
  21. {python3_commons-0.17.0 → python3_commons-0.17.2}/.devcontainer/docker-compose.yml +0 -0
  22. {python3_commons-0.17.0 → python3_commons-0.17.2}/.env_template +0 -0
  23. {python3_commons-0.17.0 → python3_commons-0.17.2}/.github/workflows/checks.yml +0 -0
  24. {python3_commons-0.17.0 → python3_commons-0.17.2}/.github/workflows/python-publish.yaml +0 -0
  25. {python3_commons-0.17.0 → python3_commons-0.17.2}/.github/workflows/release-on-tag-push.yml +0 -0
  26. {python3_commons-0.17.0 → python3_commons-0.17.2}/.gitignore +0 -0
  27. {python3_commons-0.17.0 → python3_commons-0.17.2}/.pre-commit-config.yaml +0 -0
  28. {python3_commons-0.17.0 → python3_commons-0.17.2}/.python-version +0 -0
  29. {python3_commons-0.17.0 → python3_commons-0.17.2}/AUTHORS.rst +0 -0
  30. {python3_commons-0.17.0 → python3_commons-0.17.2}/CHANGELOG.rst +0 -0
  31. {python3_commons-0.17.0 → python3_commons-0.17.2}/LICENSE +0 -0
  32. {python3_commons-0.17.0 → python3_commons-0.17.2}/README.md +0 -0
  33. {python3_commons-0.17.0 → python3_commons-0.17.2}/README.rst +0 -0
  34. {python3_commons-0.17.0 → python3_commons-0.17.2}/docs/Makefile +0 -0
  35. {python3_commons-0.17.0 → python3_commons-0.17.2}/docs/_static/.gitignore +0 -0
  36. {python3_commons-0.17.0 → python3_commons-0.17.2}/docs/authors.rst +0 -0
  37. {python3_commons-0.17.0 → python3_commons-0.17.2}/docs/changelog.rst +0 -0
  38. {python3_commons-0.17.0 → python3_commons-0.17.2}/docs/conf.py +0 -0
  39. {python3_commons-0.17.0 → python3_commons-0.17.2}/docs/index.rst +0 -0
  40. {python3_commons-0.17.0 → python3_commons-0.17.2}/docs/license.rst +0 -0
  41. {python3_commons-0.17.0 → python3_commons-0.17.2}/setup.cfg +0 -0
  42. {python3_commons-0.17.0 → python3_commons-0.17.2}/src/python3_commons/__init__.py +0 -0
  43. {python3_commons-0.17.0 → python3_commons-0.17.2}/src/python3_commons/async_functools.py +0 -0
  44. {python3_commons-0.17.0 → python3_commons-0.17.2}/src/python3_commons/conf.py +0 -0
  45. {python3_commons-0.17.0 → python3_commons-0.17.2}/src/python3_commons/db/models/__init__.py +0 -0
  46. {python3_commons-0.17.0 → python3_commons-0.17.2}/src/python3_commons/exceptions.py +0 -0
  47. {python3_commons-0.17.0 → python3_commons-0.17.2}/src/python3_commons/fs.py +0 -0
  48. {python3_commons-0.17.0 → python3_commons-0.17.2}/src/python3_commons/generators.py +0 -0
  49. {python3_commons-0.17.0 → python3_commons-0.17.2}/src/python3_commons/helpers.py +0 -0
  50. {python3_commons-0.17.0 → python3_commons-0.17.2}/src/python3_commons/log/__init__.py +0 -0
  51. {python3_commons-0.17.0 → python3_commons-0.17.2}/src/python3_commons/log/filters.py +0 -0
  52. {python3_commons-0.17.0 → python3_commons-0.17.2}/src/python3_commons/log/formatters.py +0 -0
  53. {python3_commons-0.17.0 → python3_commons-0.17.2}/src/python3_commons/serializers/__init__.py +0 -0
  54. {python3_commons-0.17.0 → python3_commons-0.17.2}/src/python3_commons/serializers/common.py +0 -0
  55. {python3_commons-0.17.0 → python3_commons-0.17.2}/src/python3_commons/serializers/json.py +0 -0
  56. {python3_commons-0.17.0 → python3_commons-0.17.2}/src/python3_commons/serializers/msgpack.py +0 -0
  57. {python3_commons-0.17.0 → python3_commons-0.17.2}/src/python3_commons/serializers/msgspec.py +0 -0
  58. {python3_commons-0.17.0 → python3_commons-0.17.2}/src/python3_commons.egg-info/SOURCES.txt +0 -0
  59. {python3_commons-0.17.0 → python3_commons-0.17.2}/src/python3_commons.egg-info/dependency_links.txt +0 -0
  60. {python3_commons-0.17.0 → python3_commons-0.17.2}/src/python3_commons.egg-info/top_level.txt +0 -0
  61. {python3_commons-0.17.0 → python3_commons-0.17.2}/tests/__init__.py +0 -0
  62. {python3_commons-0.17.0 → python3_commons-0.17.2}/tests/integration/__init__.py +0 -0
  63. {python3_commons-0.17.0 → python3_commons-0.17.2}/tests/integration/test_cache.py +0 -0
  64. {python3_commons-0.17.0 → python3_commons-0.17.2}/tests/integration/test_osc.py +0 -0
  65. {python3_commons-0.17.0 → python3_commons-0.17.2}/tests/unit/__init__.py +0 -0
  66. {python3_commons-0.17.0 → python3_commons-0.17.2}/tests/unit/conftest.py +0 -0
  67. {python3_commons-0.17.0 → python3_commons-0.17.2}/tests/unit/log/__init__.py +0 -0
  68. {python3_commons-0.17.0 → python3_commons-0.17.2}/tests/unit/log/test_formatters.py +0 -0
  69. {python3_commons-0.17.0 → python3_commons-0.17.2}/tests/unit/test_async_functools.py +0 -0
  70. {python3_commons-0.17.0 → python3_commons-0.17.2}/tests/unit/test_audit.py +0 -0
  71. {python3_commons-0.17.0 → python3_commons-0.17.2}/tests/unit/test_helpers.py +0 -0
  72. {python3_commons-0.17.0 → python3_commons-0.17.2}/tests/unit/test_msgpack.py +0 -0
  73. {python3_commons-0.17.0 → python3_commons-0.17.2}/tests/unit/test_msgspec.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: python3-commons
3
- Version: 0.17.0
3
+ Version: 0.17.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
@@ -16,12 +16,16 @@ Requires-Dist: msgpack~=1.1.2
16
16
  Requires-Dist: msgspec==0.21.1
17
17
  Requires-Dist: pydantic-settings~=2.14.0
18
18
  Provides-Extra: all
19
- Requires-Dist: python3_commons[audit,authn,authz,database,object-storage,valkey]; extra == "all"
19
+ Requires-Dist: python3_commons[api-client,audit,authn,authz,cache,database,object-storage]; extra == "all"
20
20
  Provides-Extra: api-client
21
21
  Requires-Dist: aiohttp[speedups]<3.15.0,>=3.13.5; extra == "api-client"
22
22
  Requires-Dist: lxml~=6.1.0; extra == "api-client"
23
23
  Requires-Dist: zeep~=4.3.2; extra == "api-client"
24
24
  Requires-Dist: python3_commons[object-storage]; extra == "api-client"
25
+ Provides-Extra: audit
26
+ Requires-Dist: lxml~=6.1.0; extra == "audit"
27
+ Requires-Dist: zeep~=4.3.2; extra == "audit"
28
+ Requires-Dist: python3_commons[object-storage]; extra == "audit"
25
29
  Provides-Extra: authn
26
30
  Requires-Dist: aiohttp[speedups]<3.15.0,>=3.13.5; extra == "authn"
27
31
  Provides-Extra: authz
@@ -25,7 +25,7 @@ dependencies = [
25
25
 
26
26
  [project.optional-dependencies]
27
27
  all = [
28
- "python3_commons[audit,authn,authz,database,object-storage,valkey]"
28
+ "python3_commons[api-client,audit,authn,authz,cache,database,object-storage]"
29
29
  ]
30
30
  api-client = [
31
31
  "aiohttp[speedups]>=3.13.5,<3.15.0",
@@ -33,6 +33,11 @@ api-client = [
33
33
  "zeep~=4.3.2",
34
34
  "python3_commons[object-storage]"
35
35
  ]
36
+ audit = [
37
+ "lxml~=6.1.0",
38
+ "zeep~=4.3.2",
39
+ "python3_commons[object-storage]"
40
+ ]
36
41
  authn = [
37
42
  "aiohttp[speedups]>=3.13.5,<3.15.0",
38
43
  ]
@@ -13,7 +13,7 @@ try:
13
13
  from aiohttp import ClientResponse, ClientSession, ClientTimeout, client_exceptions
14
14
  from aiohttp.abc import URL
15
15
  except ImportError as e:
16
- msg = 'Install python3_commons[api-client] to use this feature'
16
+ msg = 'Install python3-commons[api-client] to use this feature'
17
17
  raise RuntimeError(msg) from e
18
18
 
19
19
  from python3_commons import audit
@@ -25,7 +25,7 @@ logger = logging.getLogger(__name__)
25
25
 
26
26
 
27
27
  async def _store_response_for_audit(
28
- response: ClientResponse, audit_name: str, uri_path: str, method: str, request_id: str
28
+ response: ClientResponse, audit_name: str, uri_path: str, method: str, request_id: str
29
29
  ) -> None:
30
30
  response_text = await response.text()
31
31
 
@@ -43,16 +43,16 @@ async def _store_response_for_audit(
43
43
 
44
44
  @asynccontextmanager
45
45
  async def request(
46
- client: ClientSession,
47
- base_url: str,
48
- uri: str,
49
- query: Mapping | None = None,
50
- method: Literal['get', 'post', 'put', 'patch', 'options', 'head', 'delete'] = 'get',
51
- headers: Mapping | None = None,
52
- json: Mapping | Sequence | str | None = None,
53
- data: bytes | None = None,
54
- timeout: ClientTimeout | Enum | None = None,
55
- audit_name: str | None = None,
46
+ client: ClientSession,
47
+ base_url: str,
48
+ uri: str,
49
+ query: Mapping | None = None,
50
+ method: Literal['get', 'post', 'put', 'patch', 'options', 'head', 'delete'] = 'get',
51
+ headers: Mapping | None = None,
52
+ json: Mapping | Sequence | str | None = None,
53
+ data: bytes | None = None,
54
+ timeout: ClientTimeout | Enum | None = None,
55
+ audit_name: str | None = None,
56
56
  ) -> AsyncGenerator[ClientResponse]:
57
57
  now = datetime.now(tz=UTC)
58
58
  date_path = now.strftime('%Y/%m/%d')
@@ -9,7 +9,7 @@ try:
9
9
  from lxml import etree
10
10
  from zeep.plugins import Plugin
11
11
  except ImportError as e:
12
- msg = 'Install python3_commons[api-client] to use this feature'
12
+ msg = 'Install python3-commons[api-client] to use this feature'
13
13
  raise RuntimeError(msg) from e
14
14
 
15
15
  from python3_commons import object_storage
@@ -8,7 +8,7 @@ from typing import TypeVar
8
8
  try:
9
9
  import aiohttp
10
10
  except ImportError as e:
11
- msg = 'Install python3_commons[authn] to use this feature'
11
+ msg = 'Install python3-commons[authn] to use this feature'
12
12
  raise RuntimeError(msg) from e
13
13
 
14
14
  import msgspec
@@ -10,7 +10,7 @@ try:
10
10
  from valkey.asyncio.retry import Retry
11
11
  from valkey.backoff import FullJitterBackoff
12
12
  except ImportError as e:
13
- msg = 'Install python3_commons[cache] to use this feature'
13
+ msg = 'Install python3-commons[cache] to use this feature'
14
14
  raise RuntimeError(msg) from e
15
15
 
16
16
  from python3_commons.conf import valkey_settings
@@ -81,11 +81,11 @@ def get_valkey_client() -> Valkey:
81
81
 
82
82
 
83
83
  async def scan(
84
- cursor: int = 0,
85
- match: bytes | str | memoryview | None = None,
86
- count: int | None = None,
87
- _type: str | None = None,
88
- **kwargs,
84
+ cursor: int = 0,
85
+ match: bytes | str | memoryview | None = None,
86
+ count: int | None = None,
87
+ _type: str | None = None,
88
+ **kwargs,
89
89
  ) -> ResponseT:
90
90
  return await get_valkey_client().scan(cursor, match, count, _type, **kwargs)
91
91
 
@@ -9,7 +9,7 @@ try:
9
9
  from sqlalchemy.ext.asyncio.session import async_sessionmaker
10
10
  from sqlalchemy.orm import declarative_base
11
11
  except ImportError as e:
12
- msg = 'Install python3_commons[database] to use this feature'
12
+ msg = 'Install python3-commons[database] to use this feature'
13
13
  raise RuntimeError(msg) from e
14
14
 
15
15
  if TYPE_CHECKING:
@@ -6,7 +6,7 @@ try:
6
6
  import sqlalchemy as sa
7
7
  from sqlalchemy import asc, desc, func
8
8
  except ImportError as e:
9
- msg = 'Install python3_commons[database] to use this feature'
9
+ msg = 'Install python3-commons[database] to use this feature'
10
10
  raise RuntimeError(msg) from e
11
11
 
12
12
  if TYPE_CHECKING:
@@ -16,7 +16,7 @@ logger = logging.getLogger(__name__)
16
16
 
17
17
 
18
18
  def get_query(
19
- search: Mapping[str, str] | None = None, order_by: str | None = None, columns: Mapping | None = None
19
+ search: Mapping[str, str] | None = None, order_by: str | None = None, columns: Mapping | None = None
20
20
  ) -> tuple[ColumnElement[bool] | None, tuple[ColumnElement[bool]] | None]:
21
21
  """
22
22
  :columns:
@@ -5,7 +5,7 @@ try:
5
5
  from sqlalchemy import UUID, DateTime, ForeignKey, String
6
6
  from sqlalchemy.orm import Mapped, mapped_column
7
7
  except ImportError as e:
8
- msg = 'Install python3_commons[database] to use this feature'
8
+ msg = 'Install python3-commons[database] to use this feature'
9
9
  raise RuntimeError(msg) from e
10
10
 
11
11
  from python3_commons.db import Base
@@ -9,7 +9,7 @@ try:
9
9
  from sqlalchemy.sql import expression
10
10
  from sqlalchemy.sql.ddl import CreateColumn
11
11
  except ImportError as e:
12
- msg = 'Install python3_commons[database] to use this feature'
12
+ msg = 'Install python3-commons[database] to use this feature'
13
13
  raise RuntimeError(msg) from e
14
14
 
15
15
 
@@ -6,7 +6,7 @@ try:
6
6
  from sqlalchemy.dialects.postgresql import UUID
7
7
  from sqlalchemy.orm import Mapped, mapped_column
8
8
  except ImportError as e:
9
- msg = 'Install python3_commons[database] to use this feature'
9
+ msg = 'Install python3-commons[database] to use this feature'
10
10
  raise RuntimeError(msg) from e
11
11
 
12
12
  from python3_commons.db import Base
@@ -4,7 +4,7 @@ try:
4
4
  from sqlalchemy import UUID, ForeignKey, String
5
5
  from sqlalchemy.orm import Mapped, mapped_column
6
6
  except ImportError as e:
7
- msg = 'Install python3_commons[database] to use this feature'
7
+ msg = 'Install python3-commons[database] to use this feature'
8
8
  raise RuntimeError(msg) from e
9
9
 
10
10
  from python3_commons.db import Base
@@ -10,7 +10,7 @@ try:
10
10
  from botocore.config import Config
11
11
  from object_storage_client import ObjectStorageClient
12
12
  except ImportError as e:
13
- msg = 'Install python3_commons[object-storage] to use this feature'
13
+ msg = 'Install python3-commons[object-storage] to use this feature'
14
14
  raise RuntimeError(msg) from e
15
15
 
16
16
  if TYPE_CHECKING:
@@ -136,7 +136,7 @@ async def list_objects(bucket_name: str, prefix: str, *, recursive: bool = True)
136
136
 
137
137
 
138
138
  async def get_object_streams(
139
- bucket_name: str, path: str, *, recursive: bool = True
139
+ bucket_name: str, path: str, *, recursive: bool = True
140
140
  ) -> AsyncGenerator[tuple[str, datetime, StreamingBody]]:
141
141
  async for obj in list_objects(bucket_name, path, recursive=recursive):
142
142
  object_name = obj['Key']
@@ -147,7 +147,7 @@ async def get_object_streams(
147
147
 
148
148
 
149
149
  async def get_objects(
150
- bucket_name: str, path: str, *, recursive: bool = True
150
+ bucket_name: str, path: str, *, recursive: bool = True
151
151
  ) -> AsyncGenerator[tuple[str, datetime, bytes]]:
152
152
  async for object_name, last_modified, stream in get_object_streams(bucket_name, path, recursive=recursive):
153
153
  data = await stream.read()
@@ -169,7 +169,7 @@ async def remove_object(bucket_name: str, object_name: str) -> None:
169
169
 
170
170
 
171
171
  async def remove_objects(
172
- bucket_name: str, prefix: str | None = None, object_names: Iterable[str] | None = None
172
+ bucket_name: str, prefix: str | None = None, object_names: Iterable[str] | None = None
173
173
  ) -> Sequence[Mapping] | None:
174
174
  storage = ObjectStorage(s3_settings)
175
175
 
@@ -192,7 +192,7 @@ async def remove_objects(
192
192
  chunk_size = 1000
193
193
 
194
194
  for i in range(0, len(objects_to_delete), chunk_size):
195
- chunk = objects_to_delete[i : i + chunk_size]
195
+ chunk = objects_to_delete[i: i + chunk_size]
196
196
 
197
197
  response = await s3_client.delete_objects(Bucket=bucket_name, Delete={'Objects': chunk})
198
198
 
@@ -6,7 +6,7 @@ try:
6
6
  import sqlalchemy as sa
7
7
  from sqlalchemy import and_, exists, func
8
8
  except ImportError as e:
9
- msg = 'Install python3_commons[authz] to use this feature'
9
+ msg = 'Install python3-commons[authz] to use this feature'
10
10
  raise RuntimeError(msg) from e
11
11
 
12
12
  from python3_commons.db.models.rbac import RBACApiKeyRole, RBACPermission, RBACRolePermission, RBACUserRole
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: python3-commons
3
- Version: 0.17.0
3
+ Version: 0.17.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
@@ -16,12 +16,16 @@ Requires-Dist: msgpack~=1.1.2
16
16
  Requires-Dist: msgspec==0.21.1
17
17
  Requires-Dist: pydantic-settings~=2.14.0
18
18
  Provides-Extra: all
19
- Requires-Dist: python3_commons[audit,authn,authz,database,object-storage,valkey]; extra == "all"
19
+ Requires-Dist: python3_commons[api-client,audit,authn,authz,cache,database,object-storage]; extra == "all"
20
20
  Provides-Extra: api-client
21
21
  Requires-Dist: aiohttp[speedups]<3.15.0,>=3.13.5; extra == "api-client"
22
22
  Requires-Dist: lxml~=6.1.0; extra == "api-client"
23
23
  Requires-Dist: zeep~=4.3.2; extra == "api-client"
24
24
  Requires-Dist: python3_commons[object-storage]; extra == "api-client"
25
+ Provides-Extra: audit
26
+ Requires-Dist: lxml~=6.1.0; extra == "audit"
27
+ Requires-Dist: zeep~=4.3.2; extra == "audit"
28
+ Requires-Dist: python3_commons[object-storage]; extra == "audit"
25
29
  Provides-Extra: authn
26
30
  Requires-Dist: aiohttp[speedups]<3.15.0,>=3.13.5; extra == "authn"
27
31
  Provides-Extra: authz
@@ -3,7 +3,7 @@ msgspec==0.21.1
3
3
  pydantic-settings~=2.14.0
4
4
 
5
5
  [all]
6
- python3_commons[audit,authn,authz,database,object-storage,valkey]
6
+ python3_commons[api-client,audit,authn,authz,cache,database,object-storage]
7
7
 
8
8
  [api-client]
9
9
  aiohttp[speedups]<3.15.0,>=3.13.5
@@ -11,6 +11,11 @@ lxml~=6.1.0
11
11
  zeep~=4.3.2
12
12
  python3_commons[object-storage]
13
13
 
14
+ [audit]
15
+ lxml~=6.1.0
16
+ zeep~=4.3.2
17
+ python3_commons[object-storage]
18
+
14
19
  [authn]
15
20
  aiohttp[speedups]<3.15.0,>=3.13.5
16
21
 
@@ -1002,8 +1002,11 @@ all = [
1002
1002
  { name = "aiobotocore" },
1003
1003
  { name = "aiohttp", extra = ["speedups"] },
1004
1004
  { name = "asyncpg" },
1005
+ { name = "lxml" },
1005
1006
  { name = "object-storage-client" },
1006
1007
  { name = "sqlalchemy", extra = ["asyncio"] },
1008
+ { name = "valkey", extra = ["libvalkey"] },
1009
+ { name = "zeep" },
1007
1010
  ]
1008
1011
  api-client = [
1009
1012
  { name = "aiobotocore" },
@@ -1012,6 +1015,12 @@ api-client = [
1012
1015
  { name = "object-storage-client" },
1013
1016
  { name = "zeep" },
1014
1017
  ]
1018
+ audit = [
1019
+ { name = "aiobotocore" },
1020
+ { name = "lxml" },
1021
+ { name = "object-storage-client" },
1022
+ { name = "zeep" },
1023
+ ]
1015
1024
  authn = [
1016
1025
  { name = "aiohttp", extra = ["speedups"] },
1017
1026
  ]
@@ -1055,18 +1064,21 @@ requires-dist = [
1055
1064
  { name = "aiohttp", extras = ["speedups"], marker = "extra == 'authn'", specifier = ">=3.13.5,<3.15.0" },
1056
1065
  { name = "asyncpg", marker = "extra == 'database'", specifier = "~=0.31.0" },
1057
1066
  { name = "lxml", marker = "extra == 'api-client'", specifier = "~=6.1.0" },
1067
+ { name = "lxml", marker = "extra == 'audit'", specifier = "~=6.1.0" },
1058
1068
  { name = "msgpack", specifier = "~=1.1.2" },
1059
1069
  { name = "msgspec", specifier = "==0.21.1" },
1060
1070
  { name = "object-storage-client", marker = "extra == 'object-storage'", specifier = "==0.0.22" },
1061
1071
  { name = "pydantic-settings", specifier = "~=2.14.0" },
1062
- { name = "python3-commons", extras = ["audit", "authn", "authz", "database", "object-storage", "valkey"], marker = "extra == 'all'" },
1072
+ { name = "python3-commons", extras = ["api-client", "audit", "authn", "authz", "cache", "database", "object-storage"], marker = "extra == 'all'" },
1063
1073
  { name = "python3-commons", extras = ["database"], marker = "extra == 'authz'" },
1064
1074
  { name = "python3-commons", extras = ["object-storage"], marker = "extra == 'api-client'" },
1075
+ { name = "python3-commons", extras = ["object-storage"], marker = "extra == 'audit'" },
1065
1076
  { name = "sqlalchemy", extras = ["asyncio"], marker = "extra == 'database'", specifier = "~=2.0.49" },
1066
1077
  { name = "valkey", extras = ["libvalkey"], marker = "extra == 'cache'", specifier = "~=6.1.1" },
1067
1078
  { name = "zeep", marker = "extra == 'api-client'", specifier = "~=4.3.2" },
1079
+ { name = "zeep", marker = "extra == 'audit'", specifier = "~=4.3.2" },
1068
1080
  ]
1069
- provides-extras = ["all", "api-client", "authn", "authz", "cache", "database", "object-storage"]
1081
+ provides-extras = ["all", "api-client", "audit", "authn", "authz", "cache", "database", "object-storage"]
1070
1082
 
1071
1083
  [package.metadata.requires-dev]
1072
1084
  dev = [