python3-commons 0.24.2__tar.gz → 0.24.4__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.24.2 → python3_commons-0.24.4}/.pre-commit-config.yaml +1 -1
- {python3_commons-0.24.2 → python3_commons-0.24.4}/PKG-INFO +5 -5
- {python3_commons-0.24.2 → python3_commons-0.24.4}/pyproject.toml +4 -4
- {python3_commons-0.24.2 → python3_commons-0.24.4}/src/python3_commons/conf.py +2 -0
- {python3_commons-0.24.2 → python3_commons-0.24.4}/src/python3_commons/db/__init__.py +2 -2
- {python3_commons-0.24.2 → python3_commons-0.24.4}/src/python3_commons.egg-info/PKG-INFO +5 -5
- {python3_commons-0.24.2 → python3_commons-0.24.4}/src/python3_commons.egg-info/requires.txt +4 -4
- python3_commons-0.24.4/src/python3_commons.egg-info/scm_version.json +8 -0
- {python3_commons-0.24.2 → python3_commons-0.24.4}/tests/unit/db/test_async_session_manager.py +2 -0
- {python3_commons-0.24.2 → python3_commons-0.24.4}/uv.lock +196 -174
- python3_commons-0.24.2/src/python3_commons.egg-info/scm_version.json +0 -8
- {python3_commons-0.24.2 → python3_commons-0.24.4}/.coveragerc +0 -0
- {python3_commons-0.24.2 → python3_commons-0.24.4}/.devcontainer/Dockerfile +0 -0
- {python3_commons-0.24.2 → python3_commons-0.24.4}/.devcontainer/devcontainer.json +0 -0
- {python3_commons-0.24.2 → python3_commons-0.24.4}/.devcontainer/docker-compose.yml +0 -0
- {python3_commons-0.24.2 → python3_commons-0.24.4}/.env_template +0 -0
- {python3_commons-0.24.2 → python3_commons-0.24.4}/.github/workflows/checks.yml +0 -0
- {python3_commons-0.24.2 → python3_commons-0.24.4}/.github/workflows/python-publish.yaml +0 -0
- {python3_commons-0.24.2 → python3_commons-0.24.4}/.github/workflows/release-on-tag-push.yml +0 -0
- {python3_commons-0.24.2 → python3_commons-0.24.4}/.gitignore +0 -0
- {python3_commons-0.24.2 → python3_commons-0.24.4}/.python-version +0 -0
- {python3_commons-0.24.2 → python3_commons-0.24.4}/AUTHORS.rst +0 -0
- {python3_commons-0.24.2 → python3_commons-0.24.4}/CHANGELOG.rst +0 -0
- {python3_commons-0.24.2 → python3_commons-0.24.4}/LICENSE +0 -0
- {python3_commons-0.24.2 → python3_commons-0.24.4}/README.md +0 -0
- {python3_commons-0.24.2 → python3_commons-0.24.4}/README.rst +0 -0
- {python3_commons-0.24.2 → python3_commons-0.24.4}/docs/Makefile +0 -0
- {python3_commons-0.24.2 → python3_commons-0.24.4}/docs/_static/.gitignore +0 -0
- {python3_commons-0.24.2 → python3_commons-0.24.4}/docs/authors.rst +0 -0
- {python3_commons-0.24.2 → python3_commons-0.24.4}/docs/changelog.rst +0 -0
- {python3_commons-0.24.2 → python3_commons-0.24.4}/docs/conf.py +0 -0
- {python3_commons-0.24.2 → python3_commons-0.24.4}/docs/index.rst +0 -0
- {python3_commons-0.24.2 → python3_commons-0.24.4}/docs/license.rst +0 -0
- {python3_commons-0.24.2 → python3_commons-0.24.4}/setup.cfg +0 -0
- {python3_commons-0.24.2 → python3_commons-0.24.4}/src/python3_commons/__init__.py +0 -0
- {python3_commons-0.24.2 → python3_commons-0.24.4}/src/python3_commons/api_client.py +0 -0
- {python3_commons-0.24.2 → python3_commons-0.24.4}/src/python3_commons/async_functools.py +0 -0
- {python3_commons-0.24.2 → python3_commons-0.24.4}/src/python3_commons/audit.py +0 -0
- {python3_commons-0.24.2 → python3_commons-0.24.4}/src/python3_commons/auth.py +0 -0
- {python3_commons-0.24.2 → python3_commons-0.24.4}/src/python3_commons/cache.py +0 -0
- {python3_commons-0.24.2 → python3_commons-0.24.4}/src/python3_commons/db/helpers.py +0 -0
- {python3_commons-0.24.2 → python3_commons-0.24.4}/src/python3_commons/db/models/__init__.py +0 -0
- {python3_commons-0.24.2 → python3_commons-0.24.4}/src/python3_commons/db/models/auth.py +0 -0
- {python3_commons-0.24.2 → python3_commons-0.24.4}/src/python3_commons/db/models/common.py +0 -0
- {python3_commons-0.24.2 → python3_commons-0.24.4}/src/python3_commons/db/models/rbac.py +0 -0
- {python3_commons-0.24.2 → python3_commons-0.24.4}/src/python3_commons/db/models/users.py +0 -0
- {python3_commons-0.24.2 → python3_commons-0.24.4}/src/python3_commons/exceptions.py +0 -0
- {python3_commons-0.24.2 → python3_commons-0.24.4}/src/python3_commons/fs.py +0 -0
- {python3_commons-0.24.2 → python3_commons-0.24.4}/src/python3_commons/generators.py +0 -0
- {python3_commons-0.24.2 → python3_commons-0.24.4}/src/python3_commons/helpers.py +0 -0
- {python3_commons-0.24.2 → python3_commons-0.24.4}/src/python3_commons/log/__init__.py +0 -0
- {python3_commons-0.24.2 → python3_commons-0.24.4}/src/python3_commons/log/filters.py +0 -0
- {python3_commons-0.24.2 → python3_commons-0.24.4}/src/python3_commons/log/formatters.py +0 -0
- {python3_commons-0.24.2 → python3_commons-0.24.4}/src/python3_commons/object_storage.py +0 -0
- {python3_commons-0.24.2 → python3_commons-0.24.4}/src/python3_commons/permissions.py +0 -0
- {python3_commons-0.24.2 → python3_commons-0.24.4}/src/python3_commons/serializers/__init__.py +0 -0
- {python3_commons-0.24.2 → python3_commons-0.24.4}/src/python3_commons/serializers/common.py +0 -0
- {python3_commons-0.24.2 → python3_commons-0.24.4}/src/python3_commons/serializers/json.py +0 -0
- {python3_commons-0.24.2 → python3_commons-0.24.4}/src/python3_commons/serializers/msgpack.py +0 -0
- {python3_commons-0.24.2 → python3_commons-0.24.4}/src/python3_commons/serializers/msgspec.py +0 -0
- {python3_commons-0.24.2 → python3_commons-0.24.4}/src/python3_commons/soap_client.py +0 -0
- {python3_commons-0.24.2 → python3_commons-0.24.4}/src/python3_commons.egg-info/SOURCES.txt +0 -0
- {python3_commons-0.24.2 → python3_commons-0.24.4}/src/python3_commons.egg-info/dependency_links.txt +0 -0
- {python3_commons-0.24.2 → python3_commons-0.24.4}/src/python3_commons.egg-info/scm_file_list.json +0 -0
- {python3_commons-0.24.2 → python3_commons-0.24.4}/src/python3_commons.egg-info/top_level.txt +0 -0
- {python3_commons-0.24.2 → python3_commons-0.24.4}/tests/__init__.py +0 -0
- {python3_commons-0.24.2 → python3_commons-0.24.4}/tests/integration/__init__.py +0 -0
- {python3_commons-0.24.2 → python3_commons-0.24.4}/tests/integration/conftest.py +0 -0
- {python3_commons-0.24.2 → python3_commons-0.24.4}/tests/integration/test_auth.py +0 -0
- {python3_commons-0.24.2 → python3_commons-0.24.4}/tests/integration/test_cache.py +0 -0
- {python3_commons-0.24.2 → python3_commons-0.24.4}/tests/integration/test_osc.py +0 -0
- {python3_commons-0.24.2 → python3_commons-0.24.4}/tests/unit/__init__.py +0 -0
- {python3_commons-0.24.2 → python3_commons-0.24.4}/tests/unit/conftest.py +0 -0
- {python3_commons-0.24.2 → python3_commons-0.24.4}/tests/unit/db/__init__.py +0 -0
- {python3_commons-0.24.2 → python3_commons-0.24.4}/tests/unit/log/__init__.py +0 -0
- {python3_commons-0.24.2 → python3_commons-0.24.4}/tests/unit/log/test_formatters.py +0 -0
- {python3_commons-0.24.2 → python3_commons-0.24.4}/tests/unit/test_async_functools.py +0 -0
- {python3_commons-0.24.2 → python3_commons-0.24.4}/tests/unit/test_audit.py +0 -0
- {python3_commons-0.24.2 → python3_commons-0.24.4}/tests/unit/test_auth.py +0 -0
- {python3_commons-0.24.2 → python3_commons-0.24.4}/tests/unit/test_helpers.py +0 -0
- {python3_commons-0.24.2 → python3_commons-0.24.4}/tests/unit/test_msgpack.py +0 -0
- {python3_commons-0.24.2 → python3_commons-0.24.4}/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.24.
|
|
3
|
+
Version: 0.24.4
|
|
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
|
|
@@ -18,11 +18,11 @@ Requires-Dist: pydantic-settings~=2.15.0
|
|
|
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
|
-
Requires-Dist: aiohttp[speedups]<3.15.0,>=3.14.
|
|
21
|
+
Requires-Dist: aiohttp[speedups]<3.15.0,>=3.14.3; extra == "api-client"
|
|
22
22
|
Requires-Dist: certifi~=2026.7.22; extra == "api-client"
|
|
23
23
|
Requires-Dist: python3_commons[audit,object-storage]; extra == "api-client"
|
|
24
24
|
Provides-Extra: audit
|
|
25
|
-
Requires-Dist: lxml~=6.1.
|
|
25
|
+
Requires-Dist: lxml~=6.1.2; extra == "audit"
|
|
26
26
|
Requires-Dist: zeep[async]~=4.3.3; extra == "audit"
|
|
27
27
|
Requires-Dist: python3_commons[object-storage]; extra == "audit"
|
|
28
28
|
Provides-Extra: authn
|
|
@@ -36,14 +36,14 @@ Provides-Extra: cache
|
|
|
36
36
|
Requires-Dist: valkey[libvalkey]~=6.1.1; extra == "cache"
|
|
37
37
|
Provides-Extra: database
|
|
38
38
|
Requires-Dist: asyncpg~=0.31.0; extra == "database"
|
|
39
|
-
Requires-Dist: SQLAlchemy[asyncio]~=2.0.
|
|
39
|
+
Requires-Dist: SQLAlchemy[asyncio]~=2.0.52; extra == "database"
|
|
40
40
|
Provides-Extra: object-storage
|
|
41
41
|
Requires-Dist: aiobotocore==3.9.0; extra == "object-storage"
|
|
42
42
|
Requires-Dist: object-storage-client~=0.1.5; extra == "object-storage"
|
|
43
43
|
Provides-Extra: soap-client
|
|
44
44
|
Requires-Dist: aiohttp[speedups]<3.15.0,>=3.14.3; extra == "soap-client"
|
|
45
45
|
Requires-Dist: certifi~=2026.7.22; extra == "soap-client"
|
|
46
|
-
Requires-Dist: lxml~=6.1.
|
|
46
|
+
Requires-Dist: lxml~=6.1.2; extra == "soap-client"
|
|
47
47
|
Requires-Dist: requests~=2.34.2; extra == "soap-client"
|
|
48
48
|
Requires-Dist: zeep[async]~=4.3.3; extra == "soap-client"
|
|
49
49
|
Dynamic: license-file
|
|
@@ -28,12 +28,12 @@ all = [
|
|
|
28
28
|
"python3_commons[api-client,audit,authn,authz,cache,database,object-storage,soap-client]"
|
|
29
29
|
]
|
|
30
30
|
api-client = [
|
|
31
|
-
"aiohttp[speedups]>=3.14.
|
|
31
|
+
"aiohttp[speedups]>=3.14.3,<3.15.0",
|
|
32
32
|
"certifi~=2026.7.22",
|
|
33
33
|
"python3_commons[audit,object-storage]"
|
|
34
34
|
]
|
|
35
35
|
audit = [
|
|
36
|
-
"lxml~=6.1.
|
|
36
|
+
"lxml~=6.1.2",
|
|
37
37
|
"zeep[async]~=4.3.3",
|
|
38
38
|
"python3_commons[object-storage]"
|
|
39
39
|
]
|
|
@@ -51,7 +51,7 @@ cache = [
|
|
|
51
51
|
]
|
|
52
52
|
database = [
|
|
53
53
|
"asyncpg~=0.31.0",
|
|
54
|
-
"SQLAlchemy[asyncio]~=2.0.
|
|
54
|
+
"SQLAlchemy[asyncio]~=2.0.52",
|
|
55
55
|
]
|
|
56
56
|
object-storage = [
|
|
57
57
|
"aiobotocore==3.9.0",
|
|
@@ -60,7 +60,7 @@ object-storage = [
|
|
|
60
60
|
soap-client = [
|
|
61
61
|
"aiohttp[speedups]>=3.14.3,<3.15.0",
|
|
62
62
|
"certifi~=2026.7.22",
|
|
63
|
-
"lxml~=6.1.
|
|
63
|
+
"lxml~=6.1.2",
|
|
64
64
|
"requests~=2.34.2",
|
|
65
65
|
"zeep[async]~=4.3.3",
|
|
66
66
|
]
|
|
@@ -184,8 +184,8 @@ class AsyncSessionManager:
|
|
|
184
184
|
|
|
185
185
|
try:
|
|
186
186
|
yield session
|
|
187
|
-
except Exception:
|
|
188
|
-
logger.
|
|
187
|
+
except Exception as e:
|
|
188
|
+
logger.debug('Error occurred while db session %r was open; rolling back: %r', name, e)
|
|
189
189
|
await session.rollback()
|
|
190
190
|
|
|
191
191
|
raise
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: python3-commons
|
|
3
|
-
Version: 0.24.
|
|
3
|
+
Version: 0.24.4
|
|
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
|
|
@@ -18,11 +18,11 @@ Requires-Dist: pydantic-settings~=2.15.0
|
|
|
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
|
-
Requires-Dist: aiohttp[speedups]<3.15.0,>=3.14.
|
|
21
|
+
Requires-Dist: aiohttp[speedups]<3.15.0,>=3.14.3; extra == "api-client"
|
|
22
22
|
Requires-Dist: certifi~=2026.7.22; extra == "api-client"
|
|
23
23
|
Requires-Dist: python3_commons[audit,object-storage]; extra == "api-client"
|
|
24
24
|
Provides-Extra: audit
|
|
25
|
-
Requires-Dist: lxml~=6.1.
|
|
25
|
+
Requires-Dist: lxml~=6.1.2; extra == "audit"
|
|
26
26
|
Requires-Dist: zeep[async]~=4.3.3; extra == "audit"
|
|
27
27
|
Requires-Dist: python3_commons[object-storage]; extra == "audit"
|
|
28
28
|
Provides-Extra: authn
|
|
@@ -36,14 +36,14 @@ Provides-Extra: cache
|
|
|
36
36
|
Requires-Dist: valkey[libvalkey]~=6.1.1; extra == "cache"
|
|
37
37
|
Provides-Extra: database
|
|
38
38
|
Requires-Dist: asyncpg~=0.31.0; extra == "database"
|
|
39
|
-
Requires-Dist: SQLAlchemy[asyncio]~=2.0.
|
|
39
|
+
Requires-Dist: SQLAlchemy[asyncio]~=2.0.52; extra == "database"
|
|
40
40
|
Provides-Extra: object-storage
|
|
41
41
|
Requires-Dist: aiobotocore==3.9.0; extra == "object-storage"
|
|
42
42
|
Requires-Dist: object-storage-client~=0.1.5; extra == "object-storage"
|
|
43
43
|
Provides-Extra: soap-client
|
|
44
44
|
Requires-Dist: aiohttp[speedups]<3.15.0,>=3.14.3; extra == "soap-client"
|
|
45
45
|
Requires-Dist: certifi~=2026.7.22; extra == "soap-client"
|
|
46
|
-
Requires-Dist: lxml~=6.1.
|
|
46
|
+
Requires-Dist: lxml~=6.1.2; extra == "soap-client"
|
|
47
47
|
Requires-Dist: requests~=2.34.2; extra == "soap-client"
|
|
48
48
|
Requires-Dist: zeep[async]~=4.3.3; extra == "soap-client"
|
|
49
49
|
Dynamic: license-file
|
|
@@ -6,12 +6,12 @@ pydantic-settings~=2.15.0
|
|
|
6
6
|
python3_commons[api-client,audit,authn,authz,cache,database,object-storage,soap-client]
|
|
7
7
|
|
|
8
8
|
[api-client]
|
|
9
|
-
aiohttp[speedups]<3.15.0,>=3.14.
|
|
9
|
+
aiohttp[speedups]<3.15.0,>=3.14.3
|
|
10
10
|
certifi~=2026.7.22
|
|
11
11
|
python3_commons[audit,object-storage]
|
|
12
12
|
|
|
13
13
|
[audit]
|
|
14
|
-
lxml~=6.1.
|
|
14
|
+
lxml~=6.1.2
|
|
15
15
|
zeep[async]~=4.3.3
|
|
16
16
|
python3_commons[object-storage]
|
|
17
17
|
|
|
@@ -29,7 +29,7 @@ valkey[libvalkey]~=6.1.1
|
|
|
29
29
|
|
|
30
30
|
[database]
|
|
31
31
|
asyncpg~=0.31.0
|
|
32
|
-
SQLAlchemy[asyncio]~=2.0.
|
|
32
|
+
SQLAlchemy[asyncio]~=2.0.52
|
|
33
33
|
|
|
34
34
|
[object-storage]
|
|
35
35
|
aiobotocore==3.9.0
|
|
@@ -38,6 +38,6 @@ object-storage-client~=0.1.5
|
|
|
38
38
|
[soap-client]
|
|
39
39
|
aiohttp[speedups]<3.15.0,>=3.14.3
|
|
40
40
|
certifi~=2026.7.22
|
|
41
|
-
lxml~=6.1.
|
|
41
|
+
lxml~=6.1.2
|
|
42
42
|
requests~=2.34.2
|
|
43
43
|
zeep[async]~=4.3.3
|
{python3_commons-0.24.2 → python3_commons-0.24.4}/tests/unit/db/test_async_session_manager.py
RENAMED
|
@@ -8,6 +8,7 @@ from python3_commons.db import AsyncSessionManager
|
|
|
8
8
|
|
|
9
9
|
@pytest.mark.asyncio
|
|
10
10
|
async def test_async_session_manager_timeout(mocker, caplog):
|
|
11
|
+
caplog.set_level('DEBUG')
|
|
11
12
|
# Mock DBSettings
|
|
12
13
|
db_config = DBSettings(dsn='postgresql+asyncpg://user:pass@localhost/db', statement_timeout=1)
|
|
13
14
|
|
|
@@ -51,6 +52,7 @@ async def test_async_session_manager_engine_config(mocker):
|
|
|
51
52
|
|
|
52
53
|
@pytest.mark.asyncio
|
|
53
54
|
async def test_async_session_manager_logging(mocker, caplog):
|
|
55
|
+
caplog.set_level('DEBUG')
|
|
54
56
|
# Mock DBSettings
|
|
55
57
|
db_config = DBSettings(dsn='postgresql+asyncpg://user:pass@localhost/db', statement_timeout=1)
|
|
56
58
|
|