python3-commons 0.8.20__tar.gz → 0.8.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.
- {python3_commons-0.8.20/src/python3_commons.egg-info → python3_commons-0.8.22}/PKG-INFO +1 -1
- {python3_commons-0.8.20 → python3_commons-0.8.22}/src/python3_commons/conf.py +28 -1
- {python3_commons-0.8.20 → python3_commons-0.8.22/src/python3_commons.egg-info}/PKG-INFO +1 -1
- {python3_commons-0.8.20 → python3_commons-0.8.22}/.coveragerc +0 -0
- {python3_commons-0.8.20 → python3_commons-0.8.22}/.github/workflows/python-publish.yaml +0 -0
- {python3_commons-0.8.20 → python3_commons-0.8.22}/.gitignore +0 -0
- {python3_commons-0.8.20 → python3_commons-0.8.22}/.pre-commit-config.yaml +0 -0
- {python3_commons-0.8.20 → python3_commons-0.8.22}/.python-version +0 -0
- {python3_commons-0.8.20 → python3_commons-0.8.22}/AUTHORS.rst +0 -0
- {python3_commons-0.8.20 → python3_commons-0.8.22}/CHANGELOG.rst +0 -0
- {python3_commons-0.8.20 → python3_commons-0.8.22}/LICENSE +0 -0
- {python3_commons-0.8.20 → python3_commons-0.8.22}/README.md +0 -0
- {python3_commons-0.8.20 → python3_commons-0.8.22}/README.rst +0 -0
- {python3_commons-0.8.20 → python3_commons-0.8.22}/docs/Makefile +0 -0
- {python3_commons-0.8.20 → python3_commons-0.8.22}/docs/_static/.gitignore +0 -0
- {python3_commons-0.8.20 → python3_commons-0.8.22}/docs/authors.rst +0 -0
- {python3_commons-0.8.20 → python3_commons-0.8.22}/docs/changelog.rst +0 -0
- {python3_commons-0.8.20 → python3_commons-0.8.22}/docs/conf.py +0 -0
- {python3_commons-0.8.20 → python3_commons-0.8.22}/docs/index.rst +0 -0
- {python3_commons-0.8.20 → python3_commons-0.8.22}/docs/license.rst +0 -0
- {python3_commons-0.8.20 → python3_commons-0.8.22}/pyproject.toml +0 -0
- {python3_commons-0.8.20 → python3_commons-0.8.22}/setup.cfg +0 -0
- {python3_commons-0.8.20 → python3_commons-0.8.22}/src/python3_commons/__init__.py +0 -0
- {python3_commons-0.8.20 → python3_commons-0.8.22}/src/python3_commons/api_client.py +0 -0
- {python3_commons-0.8.20 → python3_commons-0.8.22}/src/python3_commons/audit.py +0 -0
- {python3_commons-0.8.20 → python3_commons-0.8.22}/src/python3_commons/auth.py +0 -0
- {python3_commons-0.8.20 → python3_commons-0.8.22}/src/python3_commons/cache.py +0 -0
- {python3_commons-0.8.20 → python3_commons-0.8.22}/src/python3_commons/db/__init__.py +0 -0
- {python3_commons-0.8.20 → python3_commons-0.8.22}/src/python3_commons/db/helpers.py +0 -0
- {python3_commons-0.8.20 → python3_commons-0.8.22}/src/python3_commons/db/models/__init__.py +0 -0
- {python3_commons-0.8.20 → python3_commons-0.8.22}/src/python3_commons/db/models/auth.py +0 -0
- {python3_commons-0.8.20 → python3_commons-0.8.22}/src/python3_commons/db/models/common.py +0 -0
- {python3_commons-0.8.20 → python3_commons-0.8.22}/src/python3_commons/db/models/rbac.py +0 -0
- {python3_commons-0.8.20 → python3_commons-0.8.22}/src/python3_commons/fs.py +0 -0
- {python3_commons-0.8.20 → python3_commons-0.8.22}/src/python3_commons/helpers.py +0 -0
- {python3_commons-0.8.20 → python3_commons-0.8.22}/src/python3_commons/log/__init__.py +0 -0
- {python3_commons-0.8.20 → python3_commons-0.8.22}/src/python3_commons/log/filters.py +0 -0
- {python3_commons-0.8.20 → python3_commons-0.8.22}/src/python3_commons/log/formatters.py +0 -0
- {python3_commons-0.8.20 → python3_commons-0.8.22}/src/python3_commons/object_storage.py +0 -0
- {python3_commons-0.8.20 → python3_commons-0.8.22}/src/python3_commons/permissions.py +0 -0
- {python3_commons-0.8.20 → python3_commons-0.8.22}/src/python3_commons/serializers/__init__.py +0 -0
- {python3_commons-0.8.20 → python3_commons-0.8.22}/src/python3_commons/serializers/json.py +0 -0
- {python3_commons-0.8.20 → python3_commons-0.8.22}/src/python3_commons/serializers/msgpack.py +0 -0
- {python3_commons-0.8.20 → python3_commons-0.8.22}/src/python3_commons/serializers/msgspec.py +0 -0
- {python3_commons-0.8.20 → python3_commons-0.8.22}/src/python3_commons.egg-info/SOURCES.txt +0 -0
- {python3_commons-0.8.20 → python3_commons-0.8.22}/src/python3_commons.egg-info/dependency_links.txt +0 -0
- {python3_commons-0.8.20 → python3_commons-0.8.22}/src/python3_commons.egg-info/requires.txt +0 -0
- {python3_commons-0.8.20 → python3_commons-0.8.22}/src/python3_commons.egg-info/top_level.txt +0 -0
- {python3_commons-0.8.20 → python3_commons-0.8.22}/tests/conftest.py +0 -0
- {python3_commons-0.8.20 → python3_commons-0.8.22}/tests/test_audit.py +0 -0
- {python3_commons-0.8.20 → python3_commons-0.8.22}/tests/test_helpers.py +0 -0
- {python3_commons-0.8.20 → python3_commons-0.8.22}/tests/test_msgpack.py +0 -0
- {python3_commons-0.8.20 → python3_commons-0.8.22}/tests/test_msgspec.py +0 -0
- {python3_commons-0.8.20 → python3_commons-0.8.22}/uv.lock +0 -0
@@ -1,4 +1,4 @@
|
|
1
|
-
from pydantic import Field, HttpUrl, PostgresDsn, RedisDsn, SecretStr
|
1
|
+
from pydantic import Field, HttpUrl, PostgresDsn, RedisDsn, SecretStr, model_validator
|
2
2
|
from pydantic_settings import BaseSettings, SettingsConfigDict
|
3
3
|
|
4
4
|
|
@@ -27,12 +27,39 @@ class DBSettings(BaseSettings):
|
|
27
27
|
model_config = SettingsConfigDict(env_prefix='DB_')
|
28
28
|
|
29
29
|
dsn: PostgresDsn | None = Field(default=None, serialization_alias='url')
|
30
|
+
scheme: str = 'postgresql+asyncpg'
|
31
|
+
host: str = 'localhost'
|
32
|
+
port: int = 5432
|
33
|
+
name: str | None = None
|
34
|
+
user: str | None = None
|
35
|
+
password: SecretStr | None = Field(default=None, alias='pass')
|
36
|
+
|
30
37
|
echo: bool = False
|
31
38
|
pool_size: int = 20
|
32
39
|
max_overflow: int = 0
|
33
40
|
pool_timeout: int = 30
|
34
41
|
pool_recycle: int = 1800 # 30 minutes
|
35
42
|
|
43
|
+
@model_validator(mode='after')
|
44
|
+
def build_dsn_if_missing(self) -> 'DBSettings':
|
45
|
+
if self.dsn is None and all(
|
46
|
+
(
|
47
|
+
self.user,
|
48
|
+
self.password,
|
49
|
+
self.name,
|
50
|
+
)
|
51
|
+
):
|
52
|
+
self.dsn = PostgresDsn.build(
|
53
|
+
scheme=self.scheme,
|
54
|
+
username=self.user,
|
55
|
+
password=self.password.get_secret_value() if self.password else None,
|
56
|
+
host=self.host,
|
57
|
+
port=self.port,
|
58
|
+
path=f'/{self.name}',
|
59
|
+
)
|
60
|
+
|
61
|
+
return self
|
62
|
+
|
36
63
|
|
37
64
|
class S3Settings(BaseSettings):
|
38
65
|
s3_endpoint_url: str | None = None
|
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.8.20 → python3_commons-0.8.22}/src/python3_commons/serializers/__init__.py
RENAMED
File without changes
|
File without changes
|
{python3_commons-0.8.20 → python3_commons-0.8.22}/src/python3_commons/serializers/msgpack.py
RENAMED
File without changes
|
{python3_commons-0.8.20 → python3_commons-0.8.22}/src/python3_commons/serializers/msgspec.py
RENAMED
File without changes
|
File without changes
|
{python3_commons-0.8.20 → python3_commons-0.8.22}/src/python3_commons.egg-info/dependency_links.txt
RENAMED
File without changes
|
File without changes
|
{python3_commons-0.8.20 → python3_commons-0.8.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
|
File without changes
|