python3-commons 0.9.21__tar.gz → 0.10.0__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.9.21 → python3_commons-0.10.0}/.github/workflows/checks.yml +25 -25
  2. {python3_commons-0.9.21 → python3_commons-0.10.0}/.pre-commit-config.yaml +2 -2
  3. {python3_commons-0.9.21 → python3_commons-0.10.0}/PKG-INFO +1 -1
  4. {python3_commons-0.9.21 → python3_commons-0.10.0}/pyproject.toml +1 -1
  5. {python3_commons-0.9.21 → python3_commons-0.10.0}/src/python3_commons/audit.py +1 -1
  6. {python3_commons-0.9.21 → python3_commons-0.10.0}/src/python3_commons/conf.py +4 -3
  7. {python3_commons-0.9.21 → python3_commons-0.10.0}/src/python3_commons/object_storage.py +5 -5
  8. {python3_commons-0.9.21 → python3_commons-0.10.0}/src/python3_commons.egg-info/PKG-INFO +1 -1
  9. {python3_commons-0.9.21 → python3_commons-0.10.0}/tests/conftest.py +2 -4
  10. {python3_commons-0.9.21 → python3_commons-0.10.0}/tests/test_msgpack.py +2 -2
  11. {python3_commons-0.9.21 → python3_commons-0.10.0}/.coveragerc +0 -0
  12. {python3_commons-0.9.21 → python3_commons-0.10.0}/.github/workflows/python-publish.yaml +0 -0
  13. {python3_commons-0.9.21 → python3_commons-0.10.0}/.github/workflows/release-on-tag-push.yml +0 -0
  14. {python3_commons-0.9.21 → python3_commons-0.10.0}/.gitignore +0 -0
  15. {python3_commons-0.9.21 → python3_commons-0.10.0}/.python-version +0 -0
  16. {python3_commons-0.9.21 → python3_commons-0.10.0}/AUTHORS.rst +0 -0
  17. {python3_commons-0.9.21 → python3_commons-0.10.0}/CHANGELOG.rst +0 -0
  18. {python3_commons-0.9.21 → python3_commons-0.10.0}/LICENSE +0 -0
  19. {python3_commons-0.9.21 → python3_commons-0.10.0}/README.md +0 -0
  20. {python3_commons-0.9.21 → python3_commons-0.10.0}/README.rst +0 -0
  21. {python3_commons-0.9.21 → python3_commons-0.10.0}/docs/Makefile +0 -0
  22. {python3_commons-0.9.21 → python3_commons-0.10.0}/docs/_static/.gitignore +0 -0
  23. {python3_commons-0.9.21 → python3_commons-0.10.0}/docs/authors.rst +0 -0
  24. {python3_commons-0.9.21 → python3_commons-0.10.0}/docs/changelog.rst +0 -0
  25. {python3_commons-0.9.21 → python3_commons-0.10.0}/docs/conf.py +0 -0
  26. {python3_commons-0.9.21 → python3_commons-0.10.0}/docs/index.rst +0 -0
  27. {python3_commons-0.9.21 → python3_commons-0.10.0}/docs/license.rst +0 -0
  28. {python3_commons-0.9.21 → python3_commons-0.10.0}/setup.cfg +0 -0
  29. {python3_commons-0.9.21 → python3_commons-0.10.0}/src/python3_commons/__init__.py +0 -0
  30. {python3_commons-0.9.21 → python3_commons-0.10.0}/src/python3_commons/api_client.py +0 -0
  31. {python3_commons-0.9.21 → python3_commons-0.10.0}/src/python3_commons/auth.py +0 -0
  32. {python3_commons-0.9.21 → python3_commons-0.10.0}/src/python3_commons/cache.py +0 -0
  33. {python3_commons-0.9.21 → python3_commons-0.10.0}/src/python3_commons/db/__init__.py +0 -0
  34. {python3_commons-0.9.21 → python3_commons-0.10.0}/src/python3_commons/db/helpers.py +0 -0
  35. {python3_commons-0.9.21 → python3_commons-0.10.0}/src/python3_commons/db/models/__init__.py +0 -0
  36. {python3_commons-0.9.21 → python3_commons-0.10.0}/src/python3_commons/db/models/auth.py +0 -0
  37. {python3_commons-0.9.21 → python3_commons-0.10.0}/src/python3_commons/db/models/common.py +0 -0
  38. {python3_commons-0.9.21 → python3_commons-0.10.0}/src/python3_commons/db/models/rbac.py +0 -0
  39. {python3_commons-0.9.21 → python3_commons-0.10.0}/src/python3_commons/fs.py +0 -0
  40. {python3_commons-0.9.21 → python3_commons-0.10.0}/src/python3_commons/helpers.py +0 -0
  41. {python3_commons-0.9.21 → python3_commons-0.10.0}/src/python3_commons/log/__init__.py +0 -0
  42. {python3_commons-0.9.21 → python3_commons-0.10.0}/src/python3_commons/log/filters.py +0 -0
  43. {python3_commons-0.9.21 → python3_commons-0.10.0}/src/python3_commons/log/formatters.py +0 -0
  44. {python3_commons-0.9.21 → python3_commons-0.10.0}/src/python3_commons/permissions.py +0 -0
  45. {python3_commons-0.9.21 → python3_commons-0.10.0}/src/python3_commons/serializers/__init__.py +0 -0
  46. {python3_commons-0.9.21 → python3_commons-0.10.0}/src/python3_commons/serializers/common.py +0 -0
  47. {python3_commons-0.9.21 → python3_commons-0.10.0}/src/python3_commons/serializers/json.py +0 -0
  48. {python3_commons-0.9.21 → python3_commons-0.10.0}/src/python3_commons/serializers/msgpack.py +0 -0
  49. {python3_commons-0.9.21 → python3_commons-0.10.0}/src/python3_commons/serializers/msgspec.py +0 -0
  50. {python3_commons-0.9.21 → python3_commons-0.10.0}/src/python3_commons.egg-info/SOURCES.txt +0 -0
  51. {python3_commons-0.9.21 → python3_commons-0.10.0}/src/python3_commons.egg-info/dependency_links.txt +0 -0
  52. {python3_commons-0.9.21 → python3_commons-0.10.0}/src/python3_commons.egg-info/requires.txt +0 -0
  53. {python3_commons-0.9.21 → python3_commons-0.10.0}/src/python3_commons.egg-info/top_level.txt +0 -0
  54. {python3_commons-0.9.21 → python3_commons-0.10.0}/tests/__init__.py +0 -0
  55. {python3_commons-0.9.21 → python3_commons-0.10.0}/tests/test_audit.py +0 -0
  56. {python3_commons-0.9.21 → python3_commons-0.10.0}/tests/test_cache.py +0 -0
  57. {python3_commons-0.9.21 → python3_commons-0.10.0}/tests/test_helpers.py +0 -0
  58. {python3_commons-0.9.21 → python3_commons-0.10.0}/tests/test_msgspec.py +0 -0
  59. {python3_commons-0.9.21 → python3_commons-0.10.0}/uv.lock +0 -0
@@ -36,28 +36,28 @@ jobs:
36
36
  run: |
37
37
  uvx ruff check --extend-select I ./src/ ./tests/
38
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/
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,12 +1,12 @@
1
1
  repos:
2
2
  - repo: https://github.com/astral-sh/uv-pre-commit
3
- rev: 0.8.20
3
+ rev: 0.8.22
4
4
  hooks:
5
5
  - id: uv-lock
6
6
  # - id: uv-export
7
7
 
8
8
  - repo: https://github.com/astral-sh/ruff-pre-commit
9
- rev: v0.13.1
9
+ rev: v0.13.2
10
10
  hooks:
11
11
  # Run the linter.
12
12
  - id: ruff-check
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: python3-commons
3
- Version: 0.9.21
3
+ Version: 0.10.0
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
@@ -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 biab_legal_mate --cov-fail-under=20 --cov-report term-missing --verbose"
156
+ addopts = "--cov python3_commons --cov-fail-under=20 --cov-report term-missing --verbose"
157
157
  norecursedirs = ["dist", "build", ".tox"]
158
158
  testpaths = ["tests"]
@@ -138,7 +138,7 @@ logger = logging.getLogger(__name__)
138
138
 
139
139
 
140
140
  async def write_audit_data(settings: S3Settings, key: str, data: bytes):
141
- if settings.s3_secret_access_key:
141
+ if settings.aws_secret_access_key:
142
142
  try:
143
143
  absolute_path = object_storage.get_absolute_path(f'audit/{key}')
144
144
 
@@ -64,10 +64,11 @@ class DBSettings(BaseSettings):
64
64
 
65
65
 
66
66
  class S3Settings(BaseSettings):
67
+ aws_region: str | None = None
68
+ aws_access_key_id: SecretStr | None = None
69
+ aws_secret_access_key: SecretStr | None = None
70
+
67
71
  s3_endpoint_url: str | None = None
68
- s3_region_name: str | None = Field(default=None, alias='AWS_REGION')
69
- s3_access_key_id: SecretStr | None = None
70
- s3_secret_access_key: SecretStr | None = None
71
72
  s3_addressing_style: Literal['path', 'virtual'] = 'virtual'
72
73
  s3_secure: bool = True
73
74
  s3_bucket: str | None = None
@@ -25,7 +25,7 @@ class ObjectStorage(metaclass=SingletonMeta):
25
25
  def __init__(self, settings: S3Settings):
26
26
  self._session = aiobotocore.session.get_session()
27
27
  config = {
28
- 'region_name': settings.s3_region_name,
28
+ 'region_name': settings.aws_region,
29
29
  'use_ssl': settings.s3_secure,
30
30
  'verify': settings.s3_cert_verify,
31
31
  'config': Config(s3={'addressing_style': settings.s3_addressing_style}, signature_version='s3v4'),
@@ -34,11 +34,11 @@ class ObjectStorage(metaclass=SingletonMeta):
34
34
  if s3_endpoint_url := settings.s3_endpoint_url:
35
35
  config['endpoint_url'] = s3_endpoint_url
36
36
 
37
- if s3_access_key_id := settings.s3_access_key_id:
38
- config['aws_access_key_id'] = s3_access_key_id.get_secret_value()
37
+ if aws_access_key_id := settings.aws_access_key_id:
38
+ config['aws_access_key_id'] = aws_access_key_id.get_secret_value()
39
39
 
40
- if s3_secret_access_key := settings.s3_secret_access_key:
41
- config['aws_secret_access_key'] = s3_secret_access_key.get_secret_value()
40
+ if aws_secret_access_key := settings.aws_secret_access_key:
41
+ config['aws_secret_access_key'] = aws_secret_access_key.get_secret_value()
42
42
 
43
43
  self._config = config
44
44
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: python3-commons
3
- Version: 0.9.21
3
+ Version: 0.10.0
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
@@ -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, tzinfo=UTC),
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 UTC, date, datetime
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, tzinfo=UTC),
12
+ 'D': datetime(2023, 7, 25, 1, 2, 3),
13
13
  'E': date(2023, 7, 24),
14
14
  'F': Decimal('1.23'),
15
15
  }