python3-commons 0.16.4__tar.gz → 0.16.6__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.16.4 → python3_commons-0.16.6}/PKG-INFO +1 -1
  2. {python3_commons-0.16.4 → python3_commons-0.16.6}/src/python3_commons/log/formatters.py +1 -0
  3. {python3_commons-0.16.4 → python3_commons-0.16.6}/src/python3_commons/object_storage.py +6 -9
  4. {python3_commons-0.16.4 → python3_commons-0.16.6}/src/python3_commons.egg-info/PKG-INFO +1 -1
  5. {python3_commons-0.16.4 → python3_commons-0.16.6}/.coveragerc +0 -0
  6. {python3_commons-0.16.4 → python3_commons-0.16.6}/.devcontainer/Dockerfile +0 -0
  7. {python3_commons-0.16.4 → python3_commons-0.16.6}/.devcontainer/devcontainer.json +0 -0
  8. {python3_commons-0.16.4 → python3_commons-0.16.6}/.devcontainer/docker-compose.yml +0 -0
  9. {python3_commons-0.16.4 → python3_commons-0.16.6}/.env_template +0 -0
  10. {python3_commons-0.16.4 → python3_commons-0.16.6}/.github/workflows/checks.yml +0 -0
  11. {python3_commons-0.16.4 → python3_commons-0.16.6}/.github/workflows/python-publish.yaml +0 -0
  12. {python3_commons-0.16.4 → python3_commons-0.16.6}/.github/workflows/release-on-tag-push.yml +0 -0
  13. {python3_commons-0.16.4 → python3_commons-0.16.6}/.gitignore +0 -0
  14. {python3_commons-0.16.4 → python3_commons-0.16.6}/.pre-commit-config.yaml +0 -0
  15. {python3_commons-0.16.4 → python3_commons-0.16.6}/.python-version +0 -0
  16. {python3_commons-0.16.4 → python3_commons-0.16.6}/AUTHORS.rst +0 -0
  17. {python3_commons-0.16.4 → python3_commons-0.16.6}/CHANGELOG.rst +0 -0
  18. {python3_commons-0.16.4 → python3_commons-0.16.6}/LICENSE +0 -0
  19. {python3_commons-0.16.4 → python3_commons-0.16.6}/README.md +0 -0
  20. {python3_commons-0.16.4 → python3_commons-0.16.6}/README.rst +0 -0
  21. {python3_commons-0.16.4 → python3_commons-0.16.6}/docs/Makefile +0 -0
  22. {python3_commons-0.16.4 → python3_commons-0.16.6}/docs/_static/.gitignore +0 -0
  23. {python3_commons-0.16.4 → python3_commons-0.16.6}/docs/authors.rst +0 -0
  24. {python3_commons-0.16.4 → python3_commons-0.16.6}/docs/changelog.rst +0 -0
  25. {python3_commons-0.16.4 → python3_commons-0.16.6}/docs/conf.py +0 -0
  26. {python3_commons-0.16.4 → python3_commons-0.16.6}/docs/index.rst +0 -0
  27. {python3_commons-0.16.4 → python3_commons-0.16.6}/docs/license.rst +0 -0
  28. {python3_commons-0.16.4 → python3_commons-0.16.6}/pyproject.toml +0 -0
  29. {python3_commons-0.16.4 → python3_commons-0.16.6}/setup.cfg +0 -0
  30. {python3_commons-0.16.4 → python3_commons-0.16.6}/src/python3_commons/__init__.py +0 -0
  31. {python3_commons-0.16.4 → python3_commons-0.16.6}/src/python3_commons/api_client.py +0 -0
  32. {python3_commons-0.16.4 → python3_commons-0.16.6}/src/python3_commons/async_functools.py +0 -0
  33. {python3_commons-0.16.4 → python3_commons-0.16.6}/src/python3_commons/audit.py +0 -0
  34. {python3_commons-0.16.4 → python3_commons-0.16.6}/src/python3_commons/auth.py +0 -0
  35. {python3_commons-0.16.4 → python3_commons-0.16.6}/src/python3_commons/cache.py +0 -0
  36. {python3_commons-0.16.4 → python3_commons-0.16.6}/src/python3_commons/conf.py +0 -0
  37. {python3_commons-0.16.4 → python3_commons-0.16.6}/src/python3_commons/db/__init__.py +0 -0
  38. {python3_commons-0.16.4 → python3_commons-0.16.6}/src/python3_commons/db/helpers.py +0 -0
  39. {python3_commons-0.16.4 → python3_commons-0.16.6}/src/python3_commons/db/models/__init__.py +0 -0
  40. {python3_commons-0.16.4 → python3_commons-0.16.6}/src/python3_commons/db/models/auth.py +0 -0
  41. {python3_commons-0.16.4 → python3_commons-0.16.6}/src/python3_commons/db/models/common.py +0 -0
  42. {python3_commons-0.16.4 → python3_commons-0.16.6}/src/python3_commons/db/models/rbac.py +0 -0
  43. {python3_commons-0.16.4 → python3_commons-0.16.6}/src/python3_commons/db/models/users.py +0 -0
  44. {python3_commons-0.16.4 → python3_commons-0.16.6}/src/python3_commons/exceptions.py +0 -0
  45. {python3_commons-0.16.4 → python3_commons-0.16.6}/src/python3_commons/fs.py +0 -0
  46. {python3_commons-0.16.4 → python3_commons-0.16.6}/src/python3_commons/generators.py +0 -0
  47. {python3_commons-0.16.4 → python3_commons-0.16.6}/src/python3_commons/helpers.py +0 -0
  48. {python3_commons-0.16.4 → python3_commons-0.16.6}/src/python3_commons/log/__init__.py +0 -0
  49. {python3_commons-0.16.4 → python3_commons-0.16.6}/src/python3_commons/log/filters.py +0 -0
  50. {python3_commons-0.16.4 → python3_commons-0.16.6}/src/python3_commons/permissions.py +0 -0
  51. {python3_commons-0.16.4 → python3_commons-0.16.6}/src/python3_commons/serializers/__init__.py +0 -0
  52. {python3_commons-0.16.4 → python3_commons-0.16.6}/src/python3_commons/serializers/common.py +0 -0
  53. {python3_commons-0.16.4 → python3_commons-0.16.6}/src/python3_commons/serializers/json.py +0 -0
  54. {python3_commons-0.16.4 → python3_commons-0.16.6}/src/python3_commons/serializers/msgpack.py +0 -0
  55. {python3_commons-0.16.4 → python3_commons-0.16.6}/src/python3_commons/serializers/msgspec.py +0 -0
  56. {python3_commons-0.16.4 → python3_commons-0.16.6}/src/python3_commons.egg-info/SOURCES.txt +0 -0
  57. {python3_commons-0.16.4 → python3_commons-0.16.6}/src/python3_commons.egg-info/dependency_links.txt +0 -0
  58. {python3_commons-0.16.4 → python3_commons-0.16.6}/src/python3_commons.egg-info/requires.txt +0 -0
  59. {python3_commons-0.16.4 → python3_commons-0.16.6}/src/python3_commons.egg-info/top_level.txt +0 -0
  60. {python3_commons-0.16.4 → python3_commons-0.16.6}/tests/__init__.py +0 -0
  61. {python3_commons-0.16.4 → python3_commons-0.16.6}/tests/integration/__init__.py +0 -0
  62. {python3_commons-0.16.4 → python3_commons-0.16.6}/tests/integration/test_cache.py +0 -0
  63. {python3_commons-0.16.4 → python3_commons-0.16.6}/tests/integration/test_osc.py +0 -0
  64. {python3_commons-0.16.4 → python3_commons-0.16.6}/tests/unit/__init__.py +0 -0
  65. {python3_commons-0.16.4 → python3_commons-0.16.6}/tests/unit/conftest.py +0 -0
  66. {python3_commons-0.16.4 → python3_commons-0.16.6}/tests/unit/log/__init__.py +0 -0
  67. {python3_commons-0.16.4 → python3_commons-0.16.6}/tests/unit/log/test_formatters.py +0 -0
  68. {python3_commons-0.16.4 → python3_commons-0.16.6}/tests/unit/test_async_functools.py +0 -0
  69. {python3_commons-0.16.4 → python3_commons-0.16.6}/tests/unit/test_audit.py +0 -0
  70. {python3_commons-0.16.4 → python3_commons-0.16.6}/tests/unit/test_helpers.py +0 -0
  71. {python3_commons-0.16.4 → python3_commons-0.16.6}/tests/unit/test_msgpack.py +0 -0
  72. {python3_commons-0.16.4 → python3_commons-0.16.6}/tests/unit/test_msgspec.py +0 -0
  73. {python3_commons-0.16.4 → python3_commons-0.16.6}/uv.lock +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: python3-commons
3
- Version: 0.16.4
3
+ Version: 0.16.6
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
@@ -24,6 +24,7 @@ _STD_LOG_FIELDS: Final[frozenset[str]] = frozenset(
24
24
  'created',
25
25
  'msecs',
26
26
  'relativeCreated',
27
+ 'taskName',
27
28
  'thread',
28
29
  'threadName',
29
30
  'process',
@@ -31,12 +31,9 @@ def get_client() -> ObjectStorageClient:
31
31
  if not _CLIENT:
32
32
  with _CLIENT_LOCK:
33
33
  if not _CLIENT:
34
- client = ObjectStorageClient()
35
- _CLIENT = client
36
- else:
37
- client = _CLIENT
34
+ _CLIENT: ObjectStorageClient = ObjectStorageClient()
38
35
 
39
- return client
36
+ return _CLIENT
40
37
 
41
38
 
42
39
  class ObjectStorage(metaclass=SingletonMeta):
@@ -135,7 +132,7 @@ async def list_objects(bucket_name: str, prefix: str, *, recursive: bool = True)
135
132
 
136
133
 
137
134
  async def get_object_streams(
138
- bucket_name: str, path: str, *, recursive: bool = True
135
+ bucket_name: str, path: str, *, recursive: bool = True
139
136
  ) -> AsyncGenerator[tuple[str, datetime, StreamingBody]]:
140
137
  async for obj in list_objects(bucket_name, path, recursive=recursive):
141
138
  object_name = obj['Key']
@@ -146,7 +143,7 @@ async def get_object_streams(
146
143
 
147
144
 
148
145
  async def get_objects(
149
- bucket_name: str, path: str, *, recursive: bool = True
146
+ bucket_name: str, path: str, *, recursive: bool = True
150
147
  ) -> AsyncGenerator[tuple[str, datetime, bytes]]:
151
148
  async for object_name, last_modified, stream in get_object_streams(bucket_name, path, recursive=recursive):
152
149
  data = await stream.read()
@@ -168,7 +165,7 @@ async def remove_object(bucket_name: str, object_name: str) -> None:
168
165
 
169
166
 
170
167
  async def remove_objects(
171
- bucket_name: str, prefix: str | None = None, object_names: Iterable[str] | None = None
168
+ bucket_name: str, prefix: str | None = None, object_names: Iterable[str] | None = None
172
169
  ) -> Sequence[Mapping] | None:
173
170
  storage = ObjectStorage(s3_settings)
174
171
 
@@ -191,7 +188,7 @@ async def remove_objects(
191
188
  chunk_size = 1000
192
189
 
193
190
  for i in range(0, len(objects_to_delete), chunk_size):
194
- chunk = objects_to_delete[i : i + chunk_size]
191
+ chunk = objects_to_delete[i: i + chunk_size]
195
192
 
196
193
  response = await s3_client.delete_objects(Bucket=bucket_name, Delete={'Objects': chunk})
197
194
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: python3-commons
3
- Version: 0.16.4
3
+ Version: 0.16.6
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