python3-commons 0.16.6__tar.gz → 0.16.8__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.16.6 → python3_commons-0.16.8}/PKG-INFO +2 -2
- {python3_commons-0.16.6 → python3_commons-0.16.8}/pyproject.toml +1 -1
- {python3_commons-0.16.6 → python3_commons-0.16.8}/src/python3_commons/log/formatters.py +8 -7
- {python3_commons-0.16.6 → python3_commons-0.16.8}/src/python3_commons/object_storage.py +1 -1
- {python3_commons-0.16.6 → python3_commons-0.16.8}/src/python3_commons.egg-info/PKG-INFO +2 -2
- {python3_commons-0.16.6 → python3_commons-0.16.8}/uv.lock +13 -13
- {python3_commons-0.16.6 → python3_commons-0.16.8}/.coveragerc +0 -0
- {python3_commons-0.16.6 → python3_commons-0.16.8}/.devcontainer/Dockerfile +0 -0
- {python3_commons-0.16.6 → python3_commons-0.16.8}/.devcontainer/devcontainer.json +0 -0
- {python3_commons-0.16.6 → python3_commons-0.16.8}/.devcontainer/docker-compose.yml +0 -0
- {python3_commons-0.16.6 → python3_commons-0.16.8}/.env_template +0 -0
- {python3_commons-0.16.6 → python3_commons-0.16.8}/.github/workflows/checks.yml +0 -0
- {python3_commons-0.16.6 → python3_commons-0.16.8}/.github/workflows/python-publish.yaml +0 -0
- {python3_commons-0.16.6 → python3_commons-0.16.8}/.github/workflows/release-on-tag-push.yml +0 -0
- {python3_commons-0.16.6 → python3_commons-0.16.8}/.gitignore +0 -0
- {python3_commons-0.16.6 → python3_commons-0.16.8}/.pre-commit-config.yaml +0 -0
- {python3_commons-0.16.6 → python3_commons-0.16.8}/.python-version +0 -0
- {python3_commons-0.16.6 → python3_commons-0.16.8}/AUTHORS.rst +0 -0
- {python3_commons-0.16.6 → python3_commons-0.16.8}/CHANGELOG.rst +0 -0
- {python3_commons-0.16.6 → python3_commons-0.16.8}/LICENSE +0 -0
- {python3_commons-0.16.6 → python3_commons-0.16.8}/README.md +0 -0
- {python3_commons-0.16.6 → python3_commons-0.16.8}/README.rst +0 -0
- {python3_commons-0.16.6 → python3_commons-0.16.8}/docs/Makefile +0 -0
- {python3_commons-0.16.6 → python3_commons-0.16.8}/docs/_static/.gitignore +0 -0
- {python3_commons-0.16.6 → python3_commons-0.16.8}/docs/authors.rst +0 -0
- {python3_commons-0.16.6 → python3_commons-0.16.8}/docs/changelog.rst +0 -0
- {python3_commons-0.16.6 → python3_commons-0.16.8}/docs/conf.py +0 -0
- {python3_commons-0.16.6 → python3_commons-0.16.8}/docs/index.rst +0 -0
- {python3_commons-0.16.6 → python3_commons-0.16.8}/docs/license.rst +0 -0
- {python3_commons-0.16.6 → python3_commons-0.16.8}/setup.cfg +0 -0
- {python3_commons-0.16.6 → python3_commons-0.16.8}/src/python3_commons/__init__.py +0 -0
- {python3_commons-0.16.6 → python3_commons-0.16.8}/src/python3_commons/api_client.py +0 -0
- {python3_commons-0.16.6 → python3_commons-0.16.8}/src/python3_commons/async_functools.py +0 -0
- {python3_commons-0.16.6 → python3_commons-0.16.8}/src/python3_commons/audit.py +0 -0
- {python3_commons-0.16.6 → python3_commons-0.16.8}/src/python3_commons/auth.py +0 -0
- {python3_commons-0.16.6 → python3_commons-0.16.8}/src/python3_commons/cache.py +0 -0
- {python3_commons-0.16.6 → python3_commons-0.16.8}/src/python3_commons/conf.py +0 -0
- {python3_commons-0.16.6 → python3_commons-0.16.8}/src/python3_commons/db/__init__.py +0 -0
- {python3_commons-0.16.6 → python3_commons-0.16.8}/src/python3_commons/db/helpers.py +0 -0
- {python3_commons-0.16.6 → python3_commons-0.16.8}/src/python3_commons/db/models/__init__.py +0 -0
- {python3_commons-0.16.6 → python3_commons-0.16.8}/src/python3_commons/db/models/auth.py +0 -0
- {python3_commons-0.16.6 → python3_commons-0.16.8}/src/python3_commons/db/models/common.py +0 -0
- {python3_commons-0.16.6 → python3_commons-0.16.8}/src/python3_commons/db/models/rbac.py +0 -0
- {python3_commons-0.16.6 → python3_commons-0.16.8}/src/python3_commons/db/models/users.py +0 -0
- {python3_commons-0.16.6 → python3_commons-0.16.8}/src/python3_commons/exceptions.py +0 -0
- {python3_commons-0.16.6 → python3_commons-0.16.8}/src/python3_commons/fs.py +0 -0
- {python3_commons-0.16.6 → python3_commons-0.16.8}/src/python3_commons/generators.py +0 -0
- {python3_commons-0.16.6 → python3_commons-0.16.8}/src/python3_commons/helpers.py +0 -0
- {python3_commons-0.16.6 → python3_commons-0.16.8}/src/python3_commons/log/__init__.py +0 -0
- {python3_commons-0.16.6 → python3_commons-0.16.8}/src/python3_commons/log/filters.py +0 -0
- {python3_commons-0.16.6 → python3_commons-0.16.8}/src/python3_commons/permissions.py +0 -0
- {python3_commons-0.16.6 → python3_commons-0.16.8}/src/python3_commons/serializers/__init__.py +0 -0
- {python3_commons-0.16.6 → python3_commons-0.16.8}/src/python3_commons/serializers/common.py +0 -0
- {python3_commons-0.16.6 → python3_commons-0.16.8}/src/python3_commons/serializers/json.py +0 -0
- {python3_commons-0.16.6 → python3_commons-0.16.8}/src/python3_commons/serializers/msgpack.py +0 -0
- {python3_commons-0.16.6 → python3_commons-0.16.8}/src/python3_commons/serializers/msgspec.py +0 -0
- {python3_commons-0.16.6 → python3_commons-0.16.8}/src/python3_commons.egg-info/SOURCES.txt +0 -0
- {python3_commons-0.16.6 → python3_commons-0.16.8}/src/python3_commons.egg-info/dependency_links.txt +0 -0
- {python3_commons-0.16.6 → python3_commons-0.16.8}/src/python3_commons.egg-info/requires.txt +0 -0
- {python3_commons-0.16.6 → python3_commons-0.16.8}/src/python3_commons.egg-info/top_level.txt +0 -0
- {python3_commons-0.16.6 → python3_commons-0.16.8}/tests/__init__.py +0 -0
- {python3_commons-0.16.6 → python3_commons-0.16.8}/tests/integration/__init__.py +0 -0
- {python3_commons-0.16.6 → python3_commons-0.16.8}/tests/integration/test_cache.py +0 -0
- {python3_commons-0.16.6 → python3_commons-0.16.8}/tests/integration/test_osc.py +0 -0
- {python3_commons-0.16.6 → python3_commons-0.16.8}/tests/unit/__init__.py +0 -0
- {python3_commons-0.16.6 → python3_commons-0.16.8}/tests/unit/conftest.py +0 -0
- {python3_commons-0.16.6 → python3_commons-0.16.8}/tests/unit/log/__init__.py +0 -0
- {python3_commons-0.16.6 → python3_commons-0.16.8}/tests/unit/log/test_formatters.py +0 -0
- {python3_commons-0.16.6 → python3_commons-0.16.8}/tests/unit/test_async_functools.py +0 -0
- {python3_commons-0.16.6 → python3_commons-0.16.8}/tests/unit/test_audit.py +0 -0
- {python3_commons-0.16.6 → python3_commons-0.16.8}/tests/unit/test_helpers.py +0 -0
- {python3_commons-0.16.6 → python3_commons-0.16.8}/tests/unit/test_msgpack.py +0 -0
- {python3_commons-0.16.6 → python3_commons-0.16.8}/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.16.
|
|
3
|
+
Version: 0.16.8
|
|
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
|
|
@@ -8,7 +8,7 @@ Project-URL: Homepage, https://github.com/kamikaze/python3-commons
|
|
|
8
8
|
Project-URL: Documentation, https://github.com/kamikaze/python3-commons/wiki
|
|
9
9
|
Classifier: Development Status :: 4 - Beta
|
|
10
10
|
Classifier: Programming Language :: Python
|
|
11
|
-
Requires-Python: <3.15.0,>=3.14.
|
|
11
|
+
Requires-Python: <3.15.0,>=3.14.0
|
|
12
12
|
Description-Content-Type: text/x-rst
|
|
13
13
|
License-File: LICENSE
|
|
14
14
|
License-File: AUTHORS.rst
|
|
@@ -71,7 +71,7 @@ class JSONFormatter(logging.Formatter):
|
|
|
71
71
|
message = str(record.msg)
|
|
72
72
|
|
|
73
73
|
timestamp = datetime.fromtimestamp(record.created, UTC).isoformat().replace('+00:00', 'Z')
|
|
74
|
-
|
|
74
|
+
log_dict: dict[str, Any] = {
|
|
75
75
|
'message': message,
|
|
76
76
|
'level': record.levelname,
|
|
77
77
|
'logger': record.name,
|
|
@@ -81,8 +81,8 @@ class JSONFormatter(logging.Formatter):
|
|
|
81
81
|
if (exc_info := record.exc_info) and exc_info[0] is not None:
|
|
82
82
|
exc_type, exc_value, exc_tb = exc_info
|
|
83
83
|
|
|
84
|
-
|
|
85
|
-
|
|
84
|
+
log_dict['exc_type'] = f'{exc_type.__module__}.{exc_type.__qualname__}'
|
|
85
|
+
log_dict['exc_value'] = str(exc_value)
|
|
86
86
|
|
|
87
87
|
tb = ''.join(traceback.format_exception(exc_type, exc_value, exc_tb)).rstrip()
|
|
88
88
|
cap = self._max_tb_chars
|
|
@@ -90,18 +90,19 @@ class JSONFormatter(logging.Formatter):
|
|
|
90
90
|
if cap and len(tb) > cap:
|
|
91
91
|
tb = tb[:cap] + '\n... <truncated>'
|
|
92
92
|
|
|
93
|
-
|
|
93
|
+
log_dict['exc_traceback'] = tb
|
|
94
94
|
|
|
95
95
|
record_dict = record.__dict__
|
|
96
96
|
std_log_fields = _STD_LOG_FIELDS
|
|
97
97
|
|
|
98
98
|
if len(record_dict) > len(std_log_fields):
|
|
99
99
|
normalize = _normalize
|
|
100
|
-
|
|
100
|
+
log_dict_set = log_dict.__setitem__
|
|
101
101
|
|
|
102
102
|
for k, v in record_dict.items():
|
|
103
103
|
if k[0] == '_' or k in std_log_fields:
|
|
104
104
|
continue
|
|
105
|
-
out_set(k, normalize(v))
|
|
106
105
|
|
|
107
|
-
|
|
106
|
+
log_dict_set(k, normalize(v))
|
|
107
|
+
|
|
108
|
+
return self._encoder.encode(log_dict).decode('utf-8')
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: python3-commons
|
|
3
|
-
Version: 0.16.
|
|
3
|
+
Version: 0.16.8
|
|
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
|
|
@@ -8,7 +8,7 @@ Project-URL: Homepage, https://github.com/kamikaze/python3-commons
|
|
|
8
8
|
Project-URL: Documentation, https://github.com/kamikaze/python3-commons/wiki
|
|
9
9
|
Classifier: Development Status :: 4 - Beta
|
|
10
10
|
Classifier: Programming Language :: Python
|
|
11
|
-
Requires-Python: <3.15.0,>=3.14.
|
|
11
|
+
Requires-Python: <3.15.0,>=3.14.0
|
|
12
12
|
Description-Content-Type: text/x-rst
|
|
13
13
|
License-File: LICENSE
|
|
14
14
|
License-File: AUTHORS.rst
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
version = 1
|
|
2
2
|
revision = 3
|
|
3
|
-
requires-python = "
|
|
3
|
+
requires-python = "==3.14.*"
|
|
4
4
|
|
|
5
5
|
[[package]]
|
|
6
6
|
name = "aiobotocore"
|
|
@@ -229,25 +229,25 @@ wheels = [
|
|
|
229
229
|
|
|
230
230
|
[[package]]
|
|
231
231
|
name = "build"
|
|
232
|
-
version = "1.4.
|
|
232
|
+
version = "1.4.4"
|
|
233
233
|
source = { registry = "https://pypi.org/simple" }
|
|
234
234
|
dependencies = [
|
|
235
235
|
{ name = "colorama", marker = "os_name == 'nt'" },
|
|
236
236
|
{ name = "packaging" },
|
|
237
237
|
{ name = "pyproject-hooks" },
|
|
238
238
|
]
|
|
239
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
239
|
+
sdist = { url = "https://files.pythonhosted.org/packages/02/ec/bf5ae0a7e5ab57abe8aabdd0759c971883895d1a20c49ae99f8146840c3c/build-1.4.4.tar.gz", hash = "sha256:f832ae053061f3fb524af812dc94b8b84bac6880cd587630e3b5d91a6a9c1703", size = 89220, upload-time = "2026-04-22T20:53:44.807Z" }
|
|
240
240
|
wheels = [
|
|
241
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
241
|
+
{ url = "https://files.pythonhosted.org/packages/fa/88/6764e7a109dd84294850741501145da90d13cdeac9d4e614929464a37420/build-1.4.4-py3-none-any.whl", hash = "sha256:8c3f48a6090b39edec1a273d2d57949aaf13723b01e02f9d518396887519f64d", size = 25921, upload-time = "2026-04-22T20:53:43.251Z" },
|
|
242
242
|
]
|
|
243
243
|
|
|
244
244
|
[[package]]
|
|
245
245
|
name = "certifi"
|
|
246
|
-
version = "2026.
|
|
246
|
+
version = "2026.4.22"
|
|
247
247
|
source = { registry = "https://pypi.org/simple" }
|
|
248
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
248
|
+
sdist = { url = "https://files.pythonhosted.org/packages/25/ee/6caf7a40c36a1220410afe15a1cc64993a1f864871f698c0f93acb72842a/certifi-2026.4.22.tar.gz", hash = "sha256:8d455352a37b71bf76a79caa83a3d6c25afee4a385d632127b6afb3963f1c580", size = 137077, upload-time = "2026-04-22T11:26:11.191Z" }
|
|
249
249
|
wheels = [
|
|
250
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
250
|
+
{ url = "https://files.pythonhosted.org/packages/22/30/7cd8fdcdfbc5b869528b079bfb76dcdf6056b1a2097a662e5e8c04f42965/certifi-2026.4.22-py3-none-any.whl", hash = "sha256:3cb2210c8f88ba2318d29b0388d1023c8492ff72ecdde4ebdaddbb13a31b1c4a", size = 135707, upload-time = "2026-04-22T11:26:09.372Z" },
|
|
251
251
|
]
|
|
252
252
|
|
|
253
253
|
[[package]]
|
|
@@ -478,11 +478,11 @@ wheels = [
|
|
|
478
478
|
|
|
479
479
|
[[package]]
|
|
480
480
|
name = "idna"
|
|
481
|
-
version = "3.
|
|
481
|
+
version = "3.13"
|
|
482
482
|
source = { registry = "https://pypi.org/simple" }
|
|
483
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
483
|
+
sdist = { url = "https://files.pythonhosted.org/packages/ce/cc/762dfb036166873f0059f3b7de4565e1b5bc3d6f28a414c13da27e442f99/idna-3.13.tar.gz", hash = "sha256:585ea8fe5d69b9181ec1afba340451fba6ba764af97026f92a91d4eef164a242", size = 194210, upload-time = "2026-04-22T16:42:42.314Z" }
|
|
484
484
|
wheels = [
|
|
485
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
485
|
+
{ url = "https://files.pythonhosted.org/packages/5d/13/ad7d7ca3808a898b4612b6fe93cde56b53f3034dcde235acb1f0e1df24c6/idna-3.13-py3-none-any.whl", hash = "sha256:892ea0cde124a99ce773decba204c5552b69c3c67ffd5f232eb7696135bc8bb3", size = 68629, upload-time = "2026-04-22T16:42:40.909Z" },
|
|
486
486
|
]
|
|
487
487
|
|
|
488
488
|
[[package]]
|
|
@@ -1299,14 +1299,14 @@ wheels = [
|
|
|
1299
1299
|
|
|
1300
1300
|
[[package]]
|
|
1301
1301
|
name = "wheel"
|
|
1302
|
-
version = "0.
|
|
1302
|
+
version = "0.47.0"
|
|
1303
1303
|
source = { registry = "https://pypi.org/simple" }
|
|
1304
1304
|
dependencies = [
|
|
1305
1305
|
{ name = "packaging" },
|
|
1306
1306
|
]
|
|
1307
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
1307
|
+
sdist = { url = "https://files.pythonhosted.org/packages/39/62/75f18a0f03b4219c456652c7780e4d749b929eb605c098ce3a5b6b6bc081/wheel-0.47.0.tar.gz", hash = "sha256:cc72bd1009ba0cf63922e28f94d9d83b920aa2bb28f798a31d0691b02fa3c9b3", size = 63854, upload-time = "2026-04-22T15:51:27.727Z" }
|
|
1308
1308
|
wheels = [
|
|
1309
|
-
{ url = "https://files.pythonhosted.org/packages/87/
|
|
1309
|
+
{ url = "https://files.pythonhosted.org/packages/87/1b/9e33c09813d65e248f7f773119148a612516a4bea93e9c6f545f78455b7c/wheel-0.47.0-py3-none-any.whl", hash = "sha256:212281cab4dff978f6cedd499cd893e1f620791ca6ff7107cf270781e587eced", size = 32218, upload-time = "2026-04-22T15:51:26.296Z" },
|
|
1310
1310
|
]
|
|
1311
1311
|
|
|
1312
1312
|
[[package]]
|
|
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.16.6 → python3_commons-0.16.8}/src/python3_commons/serializers/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python3_commons-0.16.6 → python3_commons-0.16.8}/src/python3_commons/serializers/msgpack.py
RENAMED
|
File without changes
|
{python3_commons-0.16.6 → python3_commons-0.16.8}/src/python3_commons/serializers/msgspec.py
RENAMED
|
File without changes
|
|
File without changes
|
{python3_commons-0.16.6 → python3_commons-0.16.8}/src/python3_commons.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
|
File without changes
|
{python3_commons-0.16.6 → python3_commons-0.16.8}/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
|