python3-commons 0.13.0__tar.gz → 0.13.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.

Potentially problematic release.


This version of python3-commons might be problematic. Click here for more details.

Files changed (59) hide show
  1. {python3_commons-0.13.0/src/python3_commons.egg-info → python3_commons-0.13.2}/PKG-INFO +2 -2
  2. {python3_commons-0.13.0 → python3_commons-0.13.2}/pyproject.toml +1 -1
  3. python3_commons-0.13.2/src/python3_commons/db/models/__init__.py +1 -0
  4. {python3_commons-0.13.0 → python3_commons-0.13.2/src/python3_commons.egg-info}/PKG-INFO +2 -2
  5. {python3_commons-0.13.0 → python3_commons-0.13.2}/src/python3_commons.egg-info/SOURCES.txt +0 -1
  6. {python3_commons-0.13.0 → python3_commons-0.13.2}/src/python3_commons.egg-info/requires.txt +1 -1
  7. {python3_commons-0.13.0 → python3_commons-0.13.2}/uv.lock +13 -13
  8. python3_commons-0.13.0/src/python3_commons/db/models/__init__.py +0 -4
  9. python3_commons-0.13.0/src/python3_commons/db/models/rbac.py +0 -40
  10. {python3_commons-0.13.0 → python3_commons-0.13.2}/.coveragerc +0 -0
  11. {python3_commons-0.13.0 → python3_commons-0.13.2}/.github/workflows/checks.yml +0 -0
  12. {python3_commons-0.13.0 → python3_commons-0.13.2}/.github/workflows/python-publish.yaml +0 -0
  13. {python3_commons-0.13.0 → python3_commons-0.13.2}/.github/workflows/release-on-tag-push.yml +0 -0
  14. {python3_commons-0.13.0 → python3_commons-0.13.2}/.gitignore +0 -0
  15. {python3_commons-0.13.0 → python3_commons-0.13.2}/.pre-commit-config.yaml +0 -0
  16. {python3_commons-0.13.0 → python3_commons-0.13.2}/.python-version +0 -0
  17. {python3_commons-0.13.0 → python3_commons-0.13.2}/AUTHORS.rst +0 -0
  18. {python3_commons-0.13.0 → python3_commons-0.13.2}/CHANGELOG.rst +0 -0
  19. {python3_commons-0.13.0 → python3_commons-0.13.2}/LICENSE +0 -0
  20. {python3_commons-0.13.0 → python3_commons-0.13.2}/README.md +0 -0
  21. {python3_commons-0.13.0 → python3_commons-0.13.2}/README.rst +0 -0
  22. {python3_commons-0.13.0 → python3_commons-0.13.2}/docs/Makefile +0 -0
  23. {python3_commons-0.13.0 → python3_commons-0.13.2}/docs/_static/.gitignore +0 -0
  24. {python3_commons-0.13.0 → python3_commons-0.13.2}/docs/authors.rst +0 -0
  25. {python3_commons-0.13.0 → python3_commons-0.13.2}/docs/changelog.rst +0 -0
  26. {python3_commons-0.13.0 → python3_commons-0.13.2}/docs/conf.py +0 -0
  27. {python3_commons-0.13.0 → python3_commons-0.13.2}/docs/index.rst +0 -0
  28. {python3_commons-0.13.0 → python3_commons-0.13.2}/docs/license.rst +0 -0
  29. {python3_commons-0.13.0 → python3_commons-0.13.2}/setup.cfg +0 -0
  30. {python3_commons-0.13.0 → python3_commons-0.13.2}/src/python3_commons/__init__.py +0 -0
  31. {python3_commons-0.13.0 → python3_commons-0.13.2}/src/python3_commons/api_client.py +0 -0
  32. {python3_commons-0.13.0 → python3_commons-0.13.2}/src/python3_commons/audit.py +0 -0
  33. {python3_commons-0.13.0 → python3_commons-0.13.2}/src/python3_commons/auth.py +0 -0
  34. {python3_commons-0.13.0 → python3_commons-0.13.2}/src/python3_commons/cache.py +0 -0
  35. {python3_commons-0.13.0 → python3_commons-0.13.2}/src/python3_commons/conf.py +0 -0
  36. {python3_commons-0.13.0 → python3_commons-0.13.2}/src/python3_commons/db/__init__.py +0 -0
  37. {python3_commons-0.13.0 → python3_commons-0.13.2}/src/python3_commons/db/helpers.py +0 -0
  38. {python3_commons-0.13.0 → python3_commons-0.13.2}/src/python3_commons/db/models/auth.py +0 -0
  39. {python3_commons-0.13.0 → python3_commons-0.13.2}/src/python3_commons/db/models/common.py +0 -0
  40. {python3_commons-0.13.0 → python3_commons-0.13.2}/src/python3_commons/fs.py +0 -0
  41. {python3_commons-0.13.0 → python3_commons-0.13.2}/src/python3_commons/helpers.py +0 -0
  42. {python3_commons-0.13.0 → python3_commons-0.13.2}/src/python3_commons/log/__init__.py +0 -0
  43. {python3_commons-0.13.0 → python3_commons-0.13.2}/src/python3_commons/log/filters.py +0 -0
  44. {python3_commons-0.13.0 → python3_commons-0.13.2}/src/python3_commons/log/formatters.py +0 -0
  45. {python3_commons-0.13.0 → python3_commons-0.13.2}/src/python3_commons/object_storage.py +0 -0
  46. {python3_commons-0.13.0 → python3_commons-0.13.2}/src/python3_commons/serializers/__init__.py +0 -0
  47. {python3_commons-0.13.0 → python3_commons-0.13.2}/src/python3_commons/serializers/common.py +0 -0
  48. {python3_commons-0.13.0 → python3_commons-0.13.2}/src/python3_commons/serializers/json.py +0 -0
  49. {python3_commons-0.13.0 → python3_commons-0.13.2}/src/python3_commons/serializers/msgpack.py +0 -0
  50. {python3_commons-0.13.0 → python3_commons-0.13.2}/src/python3_commons/serializers/msgspec.py +0 -0
  51. {python3_commons-0.13.0 → python3_commons-0.13.2}/src/python3_commons.egg-info/dependency_links.txt +0 -0
  52. {python3_commons-0.13.0 → python3_commons-0.13.2}/src/python3_commons.egg-info/top_level.txt +0 -0
  53. {python3_commons-0.13.0 → python3_commons-0.13.2}/tests/__init__.py +0 -0
  54. {python3_commons-0.13.0 → python3_commons-0.13.2}/tests/conftest.py +0 -0
  55. {python3_commons-0.13.0 → python3_commons-0.13.2}/tests/test_audit.py +0 -0
  56. {python3_commons-0.13.0 → python3_commons-0.13.2}/tests/test_cache.py +0 -0
  57. {python3_commons-0.13.0 → python3_commons-0.13.2}/tests/test_helpers.py +0 -0
  58. {python3_commons-0.13.0 → python3_commons-0.13.2}/tests/test_msgpack.py +0 -0
  59. {python3_commons-0.13.0 → python3_commons-0.13.2}/tests/test_msgspec.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: python3-commons
3
- Version: 0.13.0
3
+ Version: 0.13.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
@@ -12,7 +12,7 @@ Requires-Python: <3.15.0,>=3.13.9
12
12
  Description-Content-Type: text/x-rst
13
13
  License-File: LICENSE
14
14
  License-File: AUTHORS.rst
15
- Requires-Dist: aiobotocore~=2.25.0
15
+ Requires-Dist: aiobotocore~=2.25.1
16
16
  Requires-Dist: aiohttp[speedups]<3.15.0,>=3.12.0
17
17
  Requires-Dist: asyncpg~=0.30.0
18
18
  Requires-Dist: lxml~=6.0.2
@@ -18,7 +18,7 @@ classifiers = [
18
18
  keywords = []
19
19
  requires-python = ">=3.13.9,<3.15.0"
20
20
  dependencies = [
21
- "aiobotocore~=2.25.0",
21
+ "aiobotocore~=2.25.1",
22
22
  "aiohttp[speedups]>=3.12.0,<3.15.0",
23
23
  "asyncpg~=0.30.0",
24
24
  "lxml~=6.0.2",
@@ -0,0 +1 @@
1
+ from python3_commons.db.models.auth import UserGroup as UserGroup
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: python3-commons
3
- Version: 0.13.0
3
+ Version: 0.13.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
@@ -12,7 +12,7 @@ Requires-Python: <3.15.0,>=3.13.9
12
12
  Description-Content-Type: text/x-rst
13
13
  License-File: LICENSE
14
14
  License-File: AUTHORS.rst
15
- Requires-Dist: aiobotocore~=2.25.0
15
+ Requires-Dist: aiobotocore~=2.25.1
16
16
  Requires-Dist: aiohttp[speedups]<3.15.0,>=3.12.0
17
17
  Requires-Dist: asyncpg~=0.30.0
18
18
  Requires-Dist: lxml~=6.0.2
@@ -38,7 +38,6 @@ src/python3_commons/db/helpers.py
38
38
  src/python3_commons/db/models/__init__.py
39
39
  src/python3_commons/db/models/auth.py
40
40
  src/python3_commons/db/models/common.py
41
- src/python3_commons/db/models/rbac.py
42
41
  src/python3_commons/log/__init__.py
43
42
  src/python3_commons/log/filters.py
44
43
  src/python3_commons/log/formatters.py
@@ -1,4 +1,4 @@
1
- aiobotocore~=2.25.0
1
+ aiobotocore~=2.25.1
2
2
  aiohttp[speedups]<3.15.0,>=3.12.0
3
3
  asyncpg~=0.30.0
4
4
  lxml~=6.0.2
@@ -8,7 +8,7 @@ resolution-markers = [
8
8
 
9
9
  [[package]]
10
10
  name = "aiobotocore"
11
- version = "2.25.0"
11
+ version = "2.25.1"
12
12
  source = { registry = "https://pypi.org/simple" }
13
13
  dependencies = [
14
14
  { name = "aiohttp" },
@@ -19,9 +19,9 @@ dependencies = [
19
19
  { name = "python-dateutil" },
20
20
  { name = "wrapt" },
21
21
  ]
22
- sdist = { url = "https://files.pythonhosted.org/packages/29/89/b1ae494cfd12520c5d3b19704a14ffa19153634be47d48052e45223eee86/aiobotocore-2.25.0.tar.gz", hash = "sha256:169d07de312fd51292292f2c8faf8f67d0f466f525cea03855fe065ddc85f79d", size = 120514, upload-time = "2025-10-10T17:39:12.291Z" }
22
+ sdist = { url = "https://files.pythonhosted.org/packages/62/94/2e4ec48cf1abb89971cb2612d86f979a6240520f0a659b53a43116d344dc/aiobotocore-2.25.1.tar.gz", hash = "sha256:ea9be739bfd7ece8864f072ec99bb9ed5c7e78ebb2b0b15f29781fbe02daedbc", size = 120560, upload-time = "2025-10-28T22:33:21.787Z" }
23
23
  wheels = [
24
- { url = "https://files.pythonhosted.org/packages/a8/4e/3592d88436bbd60984a08440793c0ba245f538f9f6287b59c1e2c0aead8c/aiobotocore-2.25.0-py3-none-any.whl", hash = "sha256:0524fd36f6d522ddc9d013df2c19fb56369ffdfbffd129895918fbfe95216dad", size = 86028, upload-time = "2025-10-10T17:39:10.423Z" },
24
+ { url = "https://files.pythonhosted.org/packages/95/2a/d275ec4ce5cd0096665043995a7d76f5d0524853c76a3d04656de49f8808/aiobotocore-2.25.1-py3-none-any.whl", hash = "sha256:eb6daebe3cbef5b39a0bb2a97cffbe9c7cb46b2fcc399ad141f369f3c2134b1f", size = 86039, upload-time = "2025-10-28T22:33:19.949Z" },
25
25
  ]
26
26
 
27
27
  [[package]]
@@ -216,16 +216,16 @@ wheels = [
216
216
 
217
217
  [[package]]
218
218
  name = "botocore"
219
- version = "1.40.49"
219
+ version = "1.40.61"
220
220
  source = { registry = "https://pypi.org/simple" }
221
221
  dependencies = [
222
222
  { name = "jmespath" },
223
223
  { name = "python-dateutil" },
224
224
  { name = "urllib3" },
225
225
  ]
226
- sdist = { url = "https://files.pythonhosted.org/packages/01/6a/eb7503536552bbd3388b2607bc7a64e59d4f988336406b51a69d29f17ed2/botocore-1.40.49.tar.gz", hash = "sha256:fe8d4cbcc22de84c20190ae728c46b931bafeb40fce247010fb071c31b6532b5", size = 14415240, upload-time = "2025-10-09T19:21:37.133Z" }
226
+ sdist = { url = "https://files.pythonhosted.org/packages/28/a3/81d3a47c2dbfd76f185d3b894f2ad01a75096c006a2dd91f237dca182188/botocore-1.40.61.tar.gz", hash = "sha256:a2487ad69b090f9cccd64cf07c7021cd80ee9c0655ad974f87045b02f3ef52cd", size = 14393956, upload-time = "2025-10-28T19:26:46.108Z" }
227
227
  wheels = [
228
- { url = "https://files.pythonhosted.org/packages/fc/7b/dce396a3f7078e0432d40a9778602cbf0785ca91e7bcb64e05f19dfb5662/botocore-1.40.49-py3-none-any.whl", hash = "sha256:bf1089d0e77e4fc2e195d81c519b194ab62a4d4dd3e7113ee4e2bf903b0b75ab", size = 14085172, upload-time = "2025-10-09T19:21:32.721Z" },
228
+ { url = "https://files.pythonhosted.org/packages/38/c5/f6ce561004db45f0b847c2cd9b19c67c6bf348a82018a48cb718be6b58b0/botocore-1.40.61-py3-none-any.whl", hash = "sha256:17ebae412692fd4824f99cde0f08d50126dc97954008e5ba2b522eb049238aa7", size = 14055973, upload-time = "2025-10-28T19:26:42.15Z" },
229
229
  ]
230
230
 
231
231
  [[package]]
@@ -1239,7 +1239,7 @@ testing = [
1239
1239
 
1240
1240
  [package.metadata]
1241
1241
  requires-dist = [
1242
- { name = "aiobotocore", specifier = "~=2.25.0" },
1242
+ { name = "aiobotocore", specifier = "~=2.25.1" },
1243
1243
  { name = "aiohttp", extras = ["speedups"], specifier = ">=3.12.0,<3.15.0" },
1244
1244
  { name = "asyncpg", specifier = "~=0.30.0" },
1245
1245
  { name = "lxml", specifier = "~=6.0.2" },
@@ -1439,11 +1439,11 @@ asyncio = [
1439
1439
 
1440
1440
  [[package]]
1441
1441
  name = "types-aiobotocore-s3"
1442
- version = "2.25.0"
1442
+ version = "2.25.1"
1443
1443
  source = { registry = "https://pypi.org/simple" }
1444
- sdist = { url = "https://files.pythonhosted.org/packages/17/c7/d69fd0aa19b61ae67357b4d4aa546be7a6e0b38cde5d0c0704208e00791a/types_aiobotocore_s3-2.25.0.tar.gz", hash = "sha256:3885d2d975b02490c4a59ab0d9c607dec2b7d650189f19a2b6a5e0f81a07e56d", size = 76334, upload-time = "2025-10-11T01:32:43.509Z" }
1444
+ sdist = { url = "https://files.pythonhosted.org/packages/8e/c7/5ceb5faf9475470cf01e764def05e96a11db734139acd0a114195ff7e353/types_aiobotocore_s3-2.25.1.tar.gz", hash = "sha256:d7729dea44d144e9a24fdd17f4dc66b98ad71864f9bf6eb6db05958e0e59d01e", size = 76444, upload-time = "2025-10-29T01:52:02.49Z" }
1445
1445
  wheels = [
1446
- { url = "https://files.pythonhosted.org/packages/43/42/0606f39a94b828f53db6741a5803626766379fc653c43fa98d1a3da28fb8/types_aiobotocore_s3-2.25.0-py3-none-any.whl", hash = "sha256:637b8b3eabd71a8083e835adb696e08b8bab75fb2e3f1ef3020334659abdf698", size = 83849, upload-time = "2025-10-11T01:32:42.437Z" },
1446
+ { url = "https://files.pythonhosted.org/packages/89/5b/fbef89694f035c69cfcfd998fefe2c82ff1975ab9cd963b5a9627298afae/types_aiobotocore_s3-2.25.1-py3-none-any.whl", hash = "sha256:c6f1f4f60c253248fbf463ed179b9302e5258e07073e3786eafefff2891332e3", size = 83906, upload-time = "2025-10-29T01:52:01.029Z" },
1447
1447
  ]
1448
1448
 
1449
1449
  [[package]]
@@ -1492,16 +1492,16 @@ libvalkey = [
1492
1492
 
1493
1493
  [[package]]
1494
1494
  name = "virtualenv"
1495
- version = "20.35.3"
1495
+ version = "20.35.4"
1496
1496
  source = { registry = "https://pypi.org/simple" }
1497
1497
  dependencies = [
1498
1498
  { name = "distlib" },
1499
1499
  { name = "filelock" },
1500
1500
  { name = "platformdirs" },
1501
1501
  ]
1502
- sdist = { url = "https://files.pythonhosted.org/packages/a4/d5/b0ccd381d55c8f45d46f77df6ae59fbc23d19e901e2d523395598e5f4c93/virtualenv-20.35.3.tar.gz", hash = "sha256:4f1a845d131133bdff10590489610c98c168ff99dc75d6c96853801f7f67af44", size = 6002907, upload-time = "2025-10-10T21:23:33.178Z" }
1502
+ sdist = { url = "https://files.pythonhosted.org/packages/20/28/e6f1a6f655d620846bd9df527390ecc26b3805a0c5989048c210e22c5ca9/virtualenv-20.35.4.tar.gz", hash = "sha256:643d3914d73d3eeb0c552cbb12d7e82adf0e504dbf86a3182f8771a153a1971c", size = 6028799, upload-time = "2025-10-29T06:57:40.511Z" }
1503
1503
  wheels = [
1504
- { url = "https://files.pythonhosted.org/packages/27/73/d9a94da0e9d470a543c1b9d3ccbceb0f59455983088e727b8a1824ed90fb/virtualenv-20.35.3-py3-none-any.whl", hash = "sha256:63d106565078d8c8d0b206d48080f938a8b25361e19432d2c9db40d2899c810a", size = 5981061, upload-time = "2025-10-10T21:23:30.433Z" },
1504
+ { url = "https://files.pythonhosted.org/packages/79/0c/c05523fa3181fdf0c9c52a6ba91a23fbf3246cc095f26f6516f9c60e6771/virtualenv-20.35.4-py3-none-any.whl", hash = "sha256:c21c9cede36c9753eeade68ba7d523529f228a403463376cf821eaae2b650f1b", size = 6005095, upload-time = "2025-10-29T06:57:37.598Z" },
1505
1505
  ]
1506
1506
 
1507
1507
  [[package]]
@@ -1,4 +0,0 @@
1
- from python3_commons.db.models.auth import UserGroup as UserGroup
2
- from python3_commons.db.models.rbac import RBACPermission as RBACPermission
3
- from python3_commons.db.models.rbac import RBACRole as RBACRole
4
- from python3_commons.db.models.rbac import RBACRolePermission as RBACRolePermission
@@ -1,40 +0,0 @@
1
- import uuid
2
-
3
- from sqlalchemy import CheckConstraint, ForeignKey, PrimaryKeyConstraint, String
4
- from sqlalchemy.dialects.postgresql import UUID
5
- from sqlalchemy.orm import Mapped, mapped_column
6
-
7
- from python3_commons.db import Base
8
-
9
-
10
- class RBACRole(Base):
11
- __tablename__ = 'rbac_roles'
12
-
13
- uid: Mapped[uuid.UUID] = mapped_column(UUID, primary_key=True)
14
- name: Mapped[str] = mapped_column(String, unique=True, nullable=False)
15
-
16
-
17
- class RBACPermission(Base):
18
- __tablename__ = 'rbac_permissions'
19
-
20
- uid: Mapped[uuid.UUID] = mapped_column(UUID, primary_key=True)
21
- name: Mapped[str] = mapped_column(String, unique=True, nullable=False)
22
-
23
- __table_args__ = (CheckConstraint("name ~ '^[a-z0-9_.]+$'", name='check_rbac_permissions_name'),)
24
-
25
-
26
- class RBACRolePermission(Base):
27
- __tablename__ = 'rbac_role_permissions'
28
-
29
- role_uid: Mapped[uuid.UUID | None] = mapped_column(
30
- UUID,
31
- ForeignKey('rbac_roles.uid', name='fk_rbac_role_permissions_role', ondelete='CASCADE'),
32
- index=True,
33
- )
34
- permission_uid: Mapped[uuid.UUID | None] = mapped_column(
35
- UUID,
36
- ForeignKey('rbac_permissions.uid', name='fk_rbac_role_permissions_permission', ondelete='CASCADE'),
37
- index=True,
38
- )
39
-
40
- __table_args__ = (PrimaryKeyConstraint('role_uid', 'permission_uid', name='pk_rbac_role_permissions'),)