python3-commons 0.8.2__tar.gz → 0.8.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.
Files changed (53) hide show
  1. {python3_commons-0.8.2/src/python3_commons.egg-info → python3_commons-0.8.4}/PKG-INFO +1 -1
  2. {python3_commons-0.8.2 → python3_commons-0.8.4}/pyproject.toml +1 -1
  3. {python3_commons-0.8.2 → python3_commons-0.8.4}/src/python3_commons/conf.py +5 -6
  4. {python3_commons-0.8.2 → python3_commons-0.8.4}/src/python3_commons/db/__init__.py +12 -6
  5. {python3_commons-0.8.2 → python3_commons-0.8.4/src/python3_commons.egg-info}/PKG-INFO +1 -1
  6. {python3_commons-0.8.2 → python3_commons-0.8.4}/.coveragerc +0 -0
  7. {python3_commons-0.8.2 → python3_commons-0.8.4}/.github/workflows/python-publish.yaml +0 -0
  8. {python3_commons-0.8.2 → python3_commons-0.8.4}/.gitignore +0 -0
  9. {python3_commons-0.8.2 → python3_commons-0.8.4}/AUTHORS.rst +0 -0
  10. {python3_commons-0.8.2 → python3_commons-0.8.4}/CHANGELOG.rst +0 -0
  11. {python3_commons-0.8.2 → python3_commons-0.8.4}/LICENSE +0 -0
  12. {python3_commons-0.8.2 → python3_commons-0.8.4}/README.md +0 -0
  13. {python3_commons-0.8.2 → python3_commons-0.8.4}/README.rst +0 -0
  14. {python3_commons-0.8.2 → python3_commons-0.8.4}/docs/Makefile +0 -0
  15. {python3_commons-0.8.2 → python3_commons-0.8.4}/docs/_static/.gitignore +0 -0
  16. {python3_commons-0.8.2 → python3_commons-0.8.4}/docs/authors.rst +0 -0
  17. {python3_commons-0.8.2 → python3_commons-0.8.4}/docs/changelog.rst +0 -0
  18. {python3_commons-0.8.2 → python3_commons-0.8.4}/docs/conf.py +0 -0
  19. {python3_commons-0.8.2 → python3_commons-0.8.4}/docs/index.rst +0 -0
  20. {python3_commons-0.8.2 → python3_commons-0.8.4}/docs/license.rst +0 -0
  21. {python3_commons-0.8.2 → python3_commons-0.8.4}/requirements.txt +0 -0
  22. {python3_commons-0.8.2 → python3_commons-0.8.4}/requirements_dev.txt +0 -0
  23. {python3_commons-0.8.2 → python3_commons-0.8.4}/requirements_test.txt +0 -0
  24. {python3_commons-0.8.2 → python3_commons-0.8.4}/setup.cfg +0 -0
  25. {python3_commons-0.8.2 → python3_commons-0.8.4}/setup.py +0 -0
  26. {python3_commons-0.8.2 → python3_commons-0.8.4}/src/python3_commons/__init__.py +0 -0
  27. {python3_commons-0.8.2 → python3_commons-0.8.4}/src/python3_commons/api_client.py +0 -0
  28. {python3_commons-0.8.2 → python3_commons-0.8.4}/src/python3_commons/audit.py +0 -0
  29. {python3_commons-0.8.2 → python3_commons-0.8.4}/src/python3_commons/db/helpers.py +0 -0
  30. {python3_commons-0.8.2 → python3_commons-0.8.4}/src/python3_commons/db/models/__init__.py +0 -0
  31. {python3_commons-0.8.2 → python3_commons-0.8.4}/src/python3_commons/db/models/auth.py +0 -0
  32. {python3_commons-0.8.2 → python3_commons-0.8.4}/src/python3_commons/db/models/common.py +0 -0
  33. {python3_commons-0.8.2 → python3_commons-0.8.4}/src/python3_commons/db/models/rbac.py +0 -0
  34. {python3_commons-0.8.2 → python3_commons-0.8.4}/src/python3_commons/fs.py +0 -0
  35. {python3_commons-0.8.2 → python3_commons-0.8.4}/src/python3_commons/helpers.py +0 -0
  36. {python3_commons-0.8.2 → python3_commons-0.8.4}/src/python3_commons/logging/__init__.py +0 -0
  37. {python3_commons-0.8.2 → python3_commons-0.8.4}/src/python3_commons/logging/filters.py +0 -0
  38. {python3_commons-0.8.2 → python3_commons-0.8.4}/src/python3_commons/logging/formatters.py +0 -0
  39. {python3_commons-0.8.2 → python3_commons-0.8.4}/src/python3_commons/object_storage.py +0 -0
  40. {python3_commons-0.8.2 → python3_commons-0.8.4}/src/python3_commons/permissions.py +0 -0
  41. {python3_commons-0.8.2 → python3_commons-0.8.4}/src/python3_commons/serializers/__init__.py +0 -0
  42. {python3_commons-0.8.2 → python3_commons-0.8.4}/src/python3_commons/serializers/json.py +0 -0
  43. {python3_commons-0.8.2 → python3_commons-0.8.4}/src/python3_commons/serializers/msgpack.py +0 -0
  44. {python3_commons-0.8.2 → python3_commons-0.8.4}/src/python3_commons/serializers/msgspec.py +0 -0
  45. {python3_commons-0.8.2 → python3_commons-0.8.4}/src/python3_commons.egg-info/SOURCES.txt +0 -0
  46. {python3_commons-0.8.2 → python3_commons-0.8.4}/src/python3_commons.egg-info/dependency_links.txt +0 -0
  47. {python3_commons-0.8.2 → python3_commons-0.8.4}/src/python3_commons.egg-info/requires.txt +0 -0
  48. {python3_commons-0.8.2 → python3_commons-0.8.4}/src/python3_commons.egg-info/top_level.txt +0 -0
  49. {python3_commons-0.8.2 → python3_commons-0.8.4}/tests/conftest.py +0 -0
  50. {python3_commons-0.8.2 → python3_commons-0.8.4}/tests/test_audit.py +0 -0
  51. {python3_commons-0.8.2 → python3_commons-0.8.4}/tests/test_helpers.py +0 -0
  52. {python3_commons-0.8.2 → python3_commons-0.8.4}/tests/test_msgpack.py +0 -0
  53. {python3_commons-0.8.2 → python3_commons-0.8.4}/tests/test_msgspec.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: python3-commons
3
- Version: 0.8.2
3
+ Version: 0.8.4
4
4
  Summary: Re-usable Python3 code
5
5
  Author-email: Oleg Korsak <kamikaze.is.waiting.you@gmail.com>
6
6
  License: gpl-3
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "python3-commons"
7
- version = "0.8.2"
7
+ version = "0.8.4"
8
8
  description = "Re-usable Python3 code"
9
9
  authors = [
10
10
  {name = "Oleg Korsak", email = "kamikaze.is.waiting.you@gmail.com"}
@@ -1,5 +1,5 @@
1
- from pydantic import SecretStr, PostgresDsn
2
- from pydantic_settings import BaseSettings
1
+ from pydantic import SecretStr, PostgresDsn, Field
2
+ from pydantic_settings import BaseSettings, SettingsConfigDict
3
3
 
4
4
 
5
5
  class CommonSettings(BaseSettings):
@@ -9,16 +9,15 @@ class CommonSettings(BaseSettings):
9
9
 
10
10
 
11
11
  class DBSettings(BaseSettings):
12
- dsn: PostgresDsn | None = None
12
+ model_config = SettingsConfigDict(env_prefix='DB_')
13
+
14
+ dsn: PostgresDsn | None = Field(default=None, serialization_alias='url')
13
15
  echo: bool = False
14
16
  pool_size: int = 20
15
17
  max_overflow: int = 0
16
18
  pool_timeout: int = 30
17
19
  pool_recycle: int = 1800 # 30 minutes
18
20
 
19
- class Config:
20
- env_prefix = 'DB_'
21
-
22
21
 
23
22
  class S3Settings(BaseSettings):
24
23
  s3_endpoint_url: str | None = None
@@ -15,25 +15,31 @@ Base = declarative_base(metadata=metadata)
15
15
 
16
16
 
17
17
  class AsyncSessionManager:
18
- def __init__(self, config: Mapping[str: DBSettings]):
19
- self.config: Mapping[str: DBSettings] = config
18
+ def __init__(self, db_settings: Mapping[str, DBSettings]):
19
+ self.db_settings: Mapping[str, DBSettings] = db_settings
20
20
  self.engines: dict[str, AsyncEngine] = {}
21
21
  self.session_makers: dict = {}
22
22
 
23
- def get_config(self, name: str) -> Mapping[str, str | int]:
23
+ def get_db_settings(self, name: str) -> DBSettings:
24
24
  try:
25
- return self.config[name]
25
+ return self.db_settings[name]
26
26
  except KeyError:
27
- logger.error(f'Missing database config: {name}')
27
+ logger.error(f'Missing database settings: {name}')
28
28
 
29
29
  raise
30
30
 
31
+ def async_engine_from_db_settings(self, name):
32
+ db_settings = self.get_db_settings(name)
33
+ engine = async_engine_from_config(db_settings.model_dump(by_alias=True))
34
+
35
+ return engine
36
+
31
37
  def get_engine(self, name: str) -> AsyncEngine:
32
38
  try:
33
39
  engine = self.engines[name]
34
40
  except KeyError:
35
41
  logger.debug(f'Creating engine: {name}')
36
- engine = async_engine_from_config(self.config[name])
42
+ engine = self.async_engine_from_db_settings(name)
37
43
  self.engines[name] = engine
38
44
 
39
45
  return engine
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: python3-commons
3
- Version: 0.8.2
3
+ Version: 0.8.4
4
4
  Summary: Re-usable Python3 code
5
5
  Author-email: Oleg Korsak <kamikaze.is.waiting.you@gmail.com>
6
6
  License: gpl-3
File without changes