python3-commons 0.9.20__tar.gz → 0.9.22__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.
- python3_commons-0.9.22/.github/workflows/checks.yml +63 -0
- {python3_commons-0.9.20 → python3_commons-0.9.22}/PKG-INFO +2 -2
- {python3_commons-0.9.20 → python3_commons-0.9.22}/pyproject.toml +2 -2
- {python3_commons-0.9.20 → python3_commons-0.9.22}/src/python3_commons.egg-info/PKG-INFO +2 -2
- {python3_commons-0.9.20 → python3_commons-0.9.22}/src/python3_commons.egg-info/SOURCES.txt +1 -0
- {python3_commons-0.9.20 → python3_commons-0.9.22}/src/python3_commons.egg-info/requires.txt +1 -1
- {python3_commons-0.9.20 → python3_commons-0.9.22}/tests/conftest.py +2 -4
- {python3_commons-0.9.20 → python3_commons-0.9.22}/tests/test_msgpack.py +2 -2
- {python3_commons-0.9.20 → python3_commons-0.9.22}/uv.lock +4 -4
- {python3_commons-0.9.20 → python3_commons-0.9.22}/.coveragerc +0 -0
- {python3_commons-0.9.20 → python3_commons-0.9.22}/.github/workflows/python-publish.yaml +0 -0
- {python3_commons-0.9.20 → python3_commons-0.9.22}/.github/workflows/release-on-tag-push.yml +0 -0
- {python3_commons-0.9.20 → python3_commons-0.9.22}/.gitignore +0 -0
- {python3_commons-0.9.20 → python3_commons-0.9.22}/.pre-commit-config.yaml +0 -0
- {python3_commons-0.9.20 → python3_commons-0.9.22}/.python-version +0 -0
- {python3_commons-0.9.20 → python3_commons-0.9.22}/AUTHORS.rst +0 -0
- {python3_commons-0.9.20 → python3_commons-0.9.22}/CHANGELOG.rst +0 -0
- {python3_commons-0.9.20 → python3_commons-0.9.22}/LICENSE +0 -0
- {python3_commons-0.9.20 → python3_commons-0.9.22}/README.md +0 -0
- {python3_commons-0.9.20 → python3_commons-0.9.22}/README.rst +0 -0
- {python3_commons-0.9.20 → python3_commons-0.9.22}/docs/Makefile +0 -0
- {python3_commons-0.9.20 → python3_commons-0.9.22}/docs/_static/.gitignore +0 -0
- {python3_commons-0.9.20 → python3_commons-0.9.22}/docs/authors.rst +0 -0
- {python3_commons-0.9.20 → python3_commons-0.9.22}/docs/changelog.rst +0 -0
- {python3_commons-0.9.20 → python3_commons-0.9.22}/docs/conf.py +0 -0
- {python3_commons-0.9.20 → python3_commons-0.9.22}/docs/index.rst +0 -0
- {python3_commons-0.9.20 → python3_commons-0.9.22}/docs/license.rst +0 -0
- {python3_commons-0.9.20 → python3_commons-0.9.22}/setup.cfg +0 -0
- {python3_commons-0.9.20 → python3_commons-0.9.22}/src/python3_commons/__init__.py +0 -0
- {python3_commons-0.9.20 → python3_commons-0.9.22}/src/python3_commons/api_client.py +0 -0
- {python3_commons-0.9.20 → python3_commons-0.9.22}/src/python3_commons/audit.py +0 -0
- {python3_commons-0.9.20 → python3_commons-0.9.22}/src/python3_commons/auth.py +0 -0
- {python3_commons-0.9.20 → python3_commons-0.9.22}/src/python3_commons/cache.py +0 -0
- {python3_commons-0.9.20 → python3_commons-0.9.22}/src/python3_commons/conf.py +0 -0
- {python3_commons-0.9.20 → python3_commons-0.9.22}/src/python3_commons/db/__init__.py +0 -0
- {python3_commons-0.9.20 → python3_commons-0.9.22}/src/python3_commons/db/helpers.py +0 -0
- {python3_commons-0.9.20 → python3_commons-0.9.22}/src/python3_commons/db/models/__init__.py +0 -0
- {python3_commons-0.9.20 → python3_commons-0.9.22}/src/python3_commons/db/models/auth.py +0 -0
- {python3_commons-0.9.20 → python3_commons-0.9.22}/src/python3_commons/db/models/common.py +0 -0
- {python3_commons-0.9.20 → python3_commons-0.9.22}/src/python3_commons/db/models/rbac.py +0 -0
- {python3_commons-0.9.20 → python3_commons-0.9.22}/src/python3_commons/fs.py +0 -0
- {python3_commons-0.9.20 → python3_commons-0.9.22}/src/python3_commons/helpers.py +0 -0
- {python3_commons-0.9.20 → python3_commons-0.9.22}/src/python3_commons/log/__init__.py +0 -0
- {python3_commons-0.9.20 → python3_commons-0.9.22}/src/python3_commons/log/filters.py +0 -0
- {python3_commons-0.9.20 → python3_commons-0.9.22}/src/python3_commons/log/formatters.py +0 -0
- {python3_commons-0.9.20 → python3_commons-0.9.22}/src/python3_commons/object_storage.py +0 -0
- {python3_commons-0.9.20 → python3_commons-0.9.22}/src/python3_commons/permissions.py +0 -0
- {python3_commons-0.9.20 → python3_commons-0.9.22}/src/python3_commons/serializers/__init__.py +0 -0
- {python3_commons-0.9.20 → python3_commons-0.9.22}/src/python3_commons/serializers/common.py +0 -0
- {python3_commons-0.9.20 → python3_commons-0.9.22}/src/python3_commons/serializers/json.py +0 -0
- {python3_commons-0.9.20 → python3_commons-0.9.22}/src/python3_commons/serializers/msgpack.py +0 -0
- {python3_commons-0.9.20 → python3_commons-0.9.22}/src/python3_commons/serializers/msgspec.py +0 -0
- {python3_commons-0.9.20 → python3_commons-0.9.22}/src/python3_commons.egg-info/dependency_links.txt +0 -0
- {python3_commons-0.9.20 → python3_commons-0.9.22}/src/python3_commons.egg-info/top_level.txt +0 -0
- {python3_commons-0.9.20 → python3_commons-0.9.22}/tests/__init__.py +0 -0
- {python3_commons-0.9.20 → python3_commons-0.9.22}/tests/test_audit.py +0 -0
- {python3_commons-0.9.20 → python3_commons-0.9.22}/tests/test_cache.py +0 -0
- {python3_commons-0.9.20 → python3_commons-0.9.22}/tests/test_helpers.py +0 -0
- {python3_commons-0.9.20 → python3_commons-0.9.22}/tests/test_msgspec.py +0 -0
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
name: Checks
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
|
|
6
|
+
concurrency:
|
|
7
|
+
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
|
|
8
|
+
cancel-in-progress: true
|
|
9
|
+
|
|
10
|
+
jobs:
|
|
11
|
+
lint:
|
|
12
|
+
runs-on: ubuntu-latest
|
|
13
|
+
steps:
|
|
14
|
+
- name: Check Out Repo
|
|
15
|
+
uses: actions/checkout@v5
|
|
16
|
+
|
|
17
|
+
- name: Install uv
|
|
18
|
+
uses: astral-sh/setup-uv@v6
|
|
19
|
+
with:
|
|
20
|
+
enable-cache: true
|
|
21
|
+
cache-dependency-glob: "uv.lock"
|
|
22
|
+
|
|
23
|
+
- name: "Set up Python"
|
|
24
|
+
uses: actions/setup-python@v6
|
|
25
|
+
with:
|
|
26
|
+
python-version-file: "pyproject.toml"
|
|
27
|
+
|
|
28
|
+
- name: Install the project
|
|
29
|
+
run: uv sync --locked --all-extras --dev
|
|
30
|
+
|
|
31
|
+
- name: Ruff format check
|
|
32
|
+
run: |
|
|
33
|
+
uvx ruff format --diff ./src/ ./tests/
|
|
34
|
+
|
|
35
|
+
- name: Ruff default rules and import check
|
|
36
|
+
run: |
|
|
37
|
+
uvx ruff check --extend-select I ./src/ ./tests/
|
|
38
|
+
|
|
39
|
+
# - name: Pyright check
|
|
40
|
+
# run: |
|
|
41
|
+
# uvx pyright ./src/
|
|
42
|
+
# tests:
|
|
43
|
+
# runs-on: ubuntu-latest
|
|
44
|
+
# steps:
|
|
45
|
+
# - name: Check Out Repo
|
|
46
|
+
# uses: actions/checkout@v5
|
|
47
|
+
#
|
|
48
|
+
# - name: Install uv
|
|
49
|
+
# uses: astral-sh/setup-uv@v6
|
|
50
|
+
# with:
|
|
51
|
+
# enable-cache: true
|
|
52
|
+
# cache-dependency-glob: "uv.lock"
|
|
53
|
+
#
|
|
54
|
+
# - name: "Set up Python"
|
|
55
|
+
# uses: actions/setup-python@v6
|
|
56
|
+
# with:
|
|
57
|
+
# python-version-file: "pyproject.toml"
|
|
58
|
+
#
|
|
59
|
+
# - name: Install the project
|
|
60
|
+
# run: uv sync --locked --all-extras --all-groups --dev
|
|
61
|
+
#
|
|
62
|
+
# - name: Run unittests
|
|
63
|
+
# run: uv run pytest tests/
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: python3-commons
|
|
3
|
-
Version: 0.9.
|
|
3
|
+
Version: 0.9.22
|
|
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
|
|
@@ -21,7 +21,7 @@ Requires-Dist: lxml~=6.0.2
|
|
|
21
21
|
Requires-Dist: msgpack~=1.1.1
|
|
22
22
|
Requires-Dist: msgspec~=0.19.0
|
|
23
23
|
Requires-Dist: pydantic[email]~=2.11.9
|
|
24
|
-
Requires-Dist: pydantic-settings~=2.
|
|
24
|
+
Requires-Dist: pydantic-settings~=2.11.0
|
|
25
25
|
Requires-Dist: python-jose==3.5.0
|
|
26
26
|
Requires-Dist: SQLAlchemy[asyncio]~=2.0.43
|
|
27
27
|
Requires-Dist: valkey[libvalkey]~=6.1.1
|
|
@@ -27,7 +27,7 @@ dependencies = [
|
|
|
27
27
|
"msgpack~=1.1.1",
|
|
28
28
|
"msgspec~=0.19.0",
|
|
29
29
|
"pydantic[email]~=2.11.9",
|
|
30
|
-
"pydantic-settings~=2.
|
|
30
|
+
"pydantic-settings~=2.11.0",
|
|
31
31
|
"python-jose==3.5.0",
|
|
32
32
|
"SQLAlchemy[asyncio]~=2.0.43",
|
|
33
33
|
"valkey[libvalkey]~=6.1.1",
|
|
@@ -153,6 +153,6 @@ reportUnnecessaryComparison = "error"
|
|
|
153
153
|
pythonpath = ["src"]
|
|
154
154
|
asyncio_mode = "strict"
|
|
155
155
|
asyncio_default_fixture_loop_scope = "function"
|
|
156
|
-
addopts = "--cov
|
|
156
|
+
addopts = "--cov python3_commons --cov-fail-under=20 --cov-report term-missing --verbose"
|
|
157
157
|
norecursedirs = ["dist", "build", ".tox"]
|
|
158
158
|
testpaths = ["tests"]
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: python3-commons
|
|
3
|
-
Version: 0.9.
|
|
3
|
+
Version: 0.9.22
|
|
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
|
|
@@ -21,7 +21,7 @@ Requires-Dist: lxml~=6.0.2
|
|
|
21
21
|
Requires-Dist: msgpack~=1.1.1
|
|
22
22
|
Requires-Dist: msgspec~=0.19.0
|
|
23
23
|
Requires-Dist: pydantic[email]~=2.11.9
|
|
24
|
-
Requires-Dist: pydantic-settings~=2.
|
|
24
|
+
Requires-Dist: pydantic-settings~=2.11.0
|
|
25
25
|
Requires-Dist: python-jose==3.5.0
|
|
26
26
|
Requires-Dist: SQLAlchemy[asyncio]~=2.0.43
|
|
27
27
|
Requires-Dist: valkey[libvalkey]~=6.1.1
|
|
@@ -14,7 +14,7 @@ def data_dict():
|
|
|
14
14
|
'A': 1,
|
|
15
15
|
'B': 'B',
|
|
16
16
|
'C': None,
|
|
17
|
-
'D': datetime(2023, 7, 25, 1, 2, 3
|
|
17
|
+
'D': datetime(2023, 7, 25, 1, 2, 3),
|
|
18
18
|
'E': date(2023, 7, 24),
|
|
19
19
|
'F': Decimal('1.23'),
|
|
20
20
|
}
|
|
@@ -32,9 +32,7 @@ class TestData:
|
|
|
32
32
|
|
|
33
33
|
@pytest.fixture
|
|
34
34
|
def data_dataclass():
|
|
35
|
-
return TestData(
|
|
36
|
-
a=1, b='B', c=None, d=datetime(2023, 7, 25, 1, 2, 3, tzinfo=UTC), e=date(2023, 7, 24), f=Decimal('1.23')
|
|
37
|
-
)
|
|
35
|
+
return TestData(a=1, b='B', c=None, d=datetime(2023, 7, 25, 1, 2, 3), e=date(2023, 7, 24), f=Decimal('1.23'))
|
|
38
36
|
|
|
39
37
|
|
|
40
38
|
class SubStruc(msgspec.Struct):
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
from datetime import
|
|
1
|
+
from datetime import date, datetime
|
|
2
2
|
from decimal import Decimal
|
|
3
3
|
|
|
4
4
|
from python3_commons.serializers import msgpack
|
|
@@ -9,7 +9,7 @@ def test_encode_decode_dict_to_msgpack(data_dict):
|
|
|
9
9
|
'A': 1,
|
|
10
10
|
'B': 'B',
|
|
11
11
|
'C': None,
|
|
12
|
-
'D': datetime(2023, 7, 25, 1, 2, 3
|
|
12
|
+
'D': datetime(2023, 7, 25, 1, 2, 3),
|
|
13
13
|
'E': date(2023, 7, 24),
|
|
14
14
|
'F': Decimal('1.23'),
|
|
15
15
|
}
|
|
@@ -997,16 +997,16 @@ wheels = [
|
|
|
997
997
|
|
|
998
998
|
[[package]]
|
|
999
999
|
name = "pydantic-settings"
|
|
1000
|
-
version = "2.
|
|
1000
|
+
version = "2.11.0"
|
|
1001
1001
|
source = { registry = "https://pypi.org/simple" }
|
|
1002
1002
|
dependencies = [
|
|
1003
1003
|
{ name = "pydantic" },
|
|
1004
1004
|
{ name = "python-dotenv" },
|
|
1005
1005
|
{ name = "typing-inspection" },
|
|
1006
1006
|
]
|
|
1007
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
1007
|
+
sdist = { url = "https://files.pythonhosted.org/packages/20/c5/dbbc27b814c71676593d1c3f718e6cd7d4f00652cefa24b75f7aa3efb25e/pydantic_settings-2.11.0.tar.gz", hash = "sha256:d0e87a1c7d33593beb7194adb8470fc426e95ba02af83a0f23474a04c9a08180", size = 188394, upload-time = "2025-09-24T14:19:11.764Z" }
|
|
1008
1008
|
wheels = [
|
|
1009
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1009
|
+
{ url = "https://files.pythonhosted.org/packages/83/d6/887a1ff844e64aa823fb4905978d882a633cfe295c32eacad582b78a7d8b/pydantic_settings-2.11.0-py3-none-any.whl", hash = "sha256:fe2cea3413b9530d10f3a5875adffb17ada5c1e1bab0b2885546d7310415207c", size = 48608, upload-time = "2025-09-24T14:19:10.015Z" },
|
|
1010
1010
|
]
|
|
1011
1011
|
|
|
1012
1012
|
[[package]]
|
|
@@ -1202,7 +1202,7 @@ requires-dist = [
|
|
|
1202
1202
|
{ name = "msgpack", specifier = "~=1.1.1" },
|
|
1203
1203
|
{ name = "msgspec", specifier = "~=0.19.0" },
|
|
1204
1204
|
{ name = "pydantic", extras = ["email"], specifier = "~=2.11.9" },
|
|
1205
|
-
{ name = "pydantic-settings", specifier = "~=2.
|
|
1205
|
+
{ name = "pydantic-settings", specifier = "~=2.11.0" },
|
|
1206
1206
|
{ name = "python-jose", specifier = "==3.5.0" },
|
|
1207
1207
|
{ name = "sqlalchemy", extras = ["asyncio"], specifier = "~=2.0.43" },
|
|
1208
1208
|
{ name = "valkey", extras = ["libvalkey"], specifier = "~=6.1.1" },
|
|
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.9.20 → python3_commons-0.9.22}/src/python3_commons/serializers/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python3_commons-0.9.20 → python3_commons-0.9.22}/src/python3_commons/serializers/msgpack.py
RENAMED
|
File without changes
|
{python3_commons-0.9.20 → python3_commons-0.9.22}/src/python3_commons/serializers/msgspec.py
RENAMED
|
File without changes
|
{python3_commons-0.9.20 → python3_commons-0.9.22}/src/python3_commons.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
{python3_commons-0.9.20 → python3_commons-0.9.22}/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
|