amsdal_utils 0.5.4__tar.gz → 0.5.5__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.
- {amsdal_utils-0.5.4 → amsdal_utils-0.5.5}/PKG-INFO +1 -1
- amsdal_utils-0.5.5/latest-changelogs.md +5 -0
- {amsdal_utils-0.5.4 → amsdal_utils-0.5.5}/pyproject.toml +1 -1
- {amsdal_utils-0.5.4 → amsdal_utils-0.5.5}/src/amsdal_utils/__about__.py +1 -1
- {amsdal_utils-0.5.4 → amsdal_utils-0.5.5}/src/amsdal_utils/config/data_models/connection_config.py +19 -0
- {amsdal_utils-0.5.4 → amsdal_utils-0.5.5}/src/amsdal_utils/config/data_models/resources_config.py +5 -0
- {amsdal_utils-0.5.4 → amsdal_utils-0.5.5}/src/amsdal_utils/models/data_models/address.py +1 -1
- {amsdal_utils-0.5.4 → amsdal_utils-0.5.5}/src/amsdal_utils/models/data_models/core.py +1 -1
- {amsdal_utils-0.5.4 → amsdal_utils-0.5.5}/src/amsdal_utils/models/data_models/metadata.py +1 -1
- {amsdal_utils-0.5.4 → amsdal_utils-0.5.5}/src/amsdal_utils/query/utils.py +3 -0
- {amsdal_utils-0.5.4 → amsdal_utils-0.5.5}/src/amsdal_utils/utils/singleton.py +1 -1
- amsdal_utils-0.5.5/uv.lock +606 -0
- amsdal_utils-0.5.4/latest-changelogs.md +0 -5
- amsdal_utils-0.5.4/uv.lock +0 -500
- {amsdal_utils-0.5.4 → amsdal_utils-0.5.5}/.editorconfig +0 -0
- {amsdal_utils-0.5.4 → amsdal_utils-0.5.5}/.gitignore +0 -0
- {amsdal_utils-0.5.4 → amsdal_utils-0.5.5}/CONTRIBUTING.md +0 -0
- {amsdal_utils-0.5.4 → amsdal_utils-0.5.5}/LICENSE.txt +0 -0
- {amsdal_utils-0.5.4 → amsdal_utils-0.5.5}/README.md +0 -0
- {amsdal_utils-0.5.4 → amsdal_utils-0.5.5}/change-logs.md +0 -0
- {amsdal_utils-0.5.4 → amsdal_utils-0.5.5}/license_check.py +0 -0
- {amsdal_utils-0.5.4 → amsdal_utils-0.5.5}/release_notes/.gitkeep +0 -0
- {amsdal_utils-0.5.4 → amsdal_utils-0.5.5}/scripts/release.sh +0 -0
- {amsdal_utils-0.5.4 → amsdal_utils-0.5.5}/scripts/tag_check.sh +0 -0
- {amsdal_utils-0.5.4 → amsdal_utils-0.5.5}/src/amsdal_utils/Third-Party Materials - AMSDAL Dependencies - License Notices.md +0 -0
- {amsdal_utils-0.5.4 → amsdal_utils-0.5.5}/src/amsdal_utils/__init__.py +0 -0
- {amsdal_utils-0.5.4 → amsdal_utils-0.5.5}/src/amsdal_utils/classes/__init__.py +0 -0
- {amsdal_utils-0.5.4 → amsdal_utils-0.5.5}/src/amsdal_utils/classes/metadata_manager.py +0 -0
- {amsdal_utils-0.5.4 → amsdal_utils-0.5.5}/src/amsdal_utils/classes/transaction_manager.py +0 -0
- {amsdal_utils-0.5.4 → amsdal_utils-0.5.5}/src/amsdal_utils/classes/version_manager.py +0 -0
- {amsdal_utils-0.5.4 → amsdal_utils-0.5.5}/src/amsdal_utils/config/__init__.py +0 -0
- {amsdal_utils-0.5.4 → amsdal_utils-0.5.5}/src/amsdal_utils/config/data_models/__init__.py +0 -0
- {amsdal_utils-0.5.4 → amsdal_utils-0.5.5}/src/amsdal_utils/config/data_models/amsdal_config.py +0 -0
- {amsdal_utils-0.5.4 → amsdal_utils-0.5.5}/src/amsdal_utils/config/data_models/integration_config.py +0 -0
- {amsdal_utils-0.5.4 → amsdal_utils-0.5.5}/src/amsdal_utils/config/data_models/repository_config.py +0 -0
- {amsdal_utils-0.5.4 → amsdal_utils-0.5.5}/src/amsdal_utils/config/enums.py +0 -0
- {amsdal_utils-0.5.4 → amsdal_utils-0.5.5}/src/amsdal_utils/config/manager.py +0 -0
- {amsdal_utils-0.5.4 → amsdal_utils-0.5.5}/src/amsdal_utils/errors.py +0 -0
- {amsdal_utils-0.5.4 → amsdal_utils-0.5.5}/src/amsdal_utils/lifecycle/__init__.py +0 -0
- {amsdal_utils-0.5.4 → amsdal_utils-0.5.5}/src/amsdal_utils/lifecycle/consumer.py +0 -0
- {amsdal_utils-0.5.4 → amsdal_utils-0.5.5}/src/amsdal_utils/lifecycle/enum.py +0 -0
- {amsdal_utils-0.5.4 → amsdal_utils-0.5.5}/src/amsdal_utils/lifecycle/producer.py +0 -0
- {amsdal_utils-0.5.4 → amsdal_utils-0.5.5}/src/amsdal_utils/models/__init__.py +0 -0
- {amsdal_utils-0.5.4 → amsdal_utils-0.5.5}/src/amsdal_utils/models/base.py +0 -0
- {amsdal_utils-0.5.4 → amsdal_utils-0.5.5}/src/amsdal_utils/models/data_models/__init__.py +0 -0
- {amsdal_utils-0.5.4 → amsdal_utils-0.5.5}/src/amsdal_utils/models/data_models/enums.py +0 -0
- {amsdal_utils-0.5.4 → amsdal_utils-0.5.5}/src/amsdal_utils/models/data_models/reference.py +0 -0
- {amsdal_utils-0.5.4 → amsdal_utils-0.5.5}/src/amsdal_utils/models/data_models/table_schema.py +0 -0
- {amsdal_utils-0.5.4 → amsdal_utils-0.5.5}/src/amsdal_utils/models/data_models/transaction.py +0 -0
- {amsdal_utils-0.5.4 → amsdal_utils-0.5.5}/src/amsdal_utils/models/enums.py +0 -0
- {amsdal_utils-0.5.4 → amsdal_utils-0.5.5}/src/amsdal_utils/models/mixins/__init__.py +0 -0
- {amsdal_utils-0.5.4 → amsdal_utils-0.5.5}/src/amsdal_utils/models/mixins/cached_mixin.py +0 -0
- {amsdal_utils-0.5.4 → amsdal_utils-0.5.5}/src/amsdal_utils/models/utils/__init__.py +0 -0
- {amsdal_utils-0.5.4 → amsdal_utils-0.5.5}/src/amsdal_utils/models/utils/get_subclasses.py +0 -0
- {amsdal_utils-0.5.4 → amsdal_utils-0.5.5}/src/amsdal_utils/models/utils/reference_builders.py +0 -0
- {amsdal_utils-0.5.4 → amsdal_utils-0.5.5}/src/amsdal_utils/py.typed +0 -0
- {amsdal_utils-0.5.4 → amsdal_utils-0.5.5}/src/amsdal_utils/query/__init__.py +0 -0
- {amsdal_utils-0.5.4 → amsdal_utils-0.5.5}/src/amsdal_utils/query/data_models/__init__.py +0 -0
- {amsdal_utils-0.5.4 → amsdal_utils-0.5.5}/src/amsdal_utils/query/data_models/filter.py +0 -0
- {amsdal_utils-0.5.4 → amsdal_utils-0.5.5}/src/amsdal_utils/query/data_models/order_by.py +0 -0
- {amsdal_utils-0.5.4 → amsdal_utils-0.5.5}/src/amsdal_utils/query/data_models/paginator.py +0 -0
- {amsdal_utils-0.5.4 → amsdal_utils-0.5.5}/src/amsdal_utils/query/data_models/query_specifier.py +0 -0
- {amsdal_utils-0.5.4 → amsdal_utils-0.5.5}/src/amsdal_utils/query/enums.py +0 -0
- {amsdal_utils-0.5.4 → amsdal_utils-0.5.5}/src/amsdal_utils/query/mixin.py +0 -0
- {amsdal_utils-0.5.4 → amsdal_utils-0.5.5}/src/amsdal_utils/query/pull_out_filter.py +0 -0
- {amsdal_utils-0.5.4 → amsdal_utils-0.5.5}/src/amsdal_utils/query/split.py +0 -0
- {amsdal_utils-0.5.4 → amsdal_utils-0.5.5}/src/amsdal_utils/schemas/__init__.py +0 -0
- {amsdal_utils-0.5.4 → amsdal_utils-0.5.5}/src/amsdal_utils/schemas/interfaces.py +0 -0
- {amsdal_utils-0.5.4 → amsdal_utils-0.5.5}/src/amsdal_utils/schemas/schema.py +0 -0
- {amsdal_utils-0.5.4 → amsdal_utils-0.5.5}/src/amsdal_utils/utils/__init__.py +0 -0
- {amsdal_utils-0.5.4 → amsdal_utils-0.5.5}/src/amsdal_utils/utils/classes.py +0 -0
- {amsdal_utils-0.5.4 → amsdal_utils-0.5.5}/src/amsdal_utils/utils/decorators.py +0 -0
- {amsdal_utils-0.5.4 → amsdal_utils-0.5.5}/src/amsdal_utils/utils/identifier.py +0 -0
- {amsdal_utils-0.5.4 → amsdal_utils-0.5.5}/src/amsdal_utils/utils/lazy_object.py +0 -0
- {amsdal_utils-0.5.4 → amsdal_utils-0.5.5}/src/amsdal_utils/utils/text.py +0 -0
{amsdal_utils-0.5.4 → amsdal_utils-0.5.5}/src/amsdal_utils/config/data_models/connection_config.py
RENAMED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
from enum import Enum
|
|
1
2
|
from typing import Any
|
|
2
3
|
|
|
3
4
|
from pydantic import BaseModel
|
|
@@ -7,6 +8,20 @@ from pydantic import field_validator
|
|
|
7
8
|
DEFAULT_NAME = 'default'
|
|
8
9
|
|
|
9
10
|
|
|
11
|
+
class ConnectionType(str, Enum):
|
|
12
|
+
"""
|
|
13
|
+
Enumeration of connection types.
|
|
14
|
+
|
|
15
|
+
- LAKEHOUSE: Lakehouse database connection with historical tracking
|
|
16
|
+
- STATE: State database connection without historical tracking
|
|
17
|
+
- EXTERNAL_SERVICE: Connection to an external service
|
|
18
|
+
"""
|
|
19
|
+
|
|
20
|
+
LAKEHOUSE = 'lakehouse'
|
|
21
|
+
STATE = 'state'
|
|
22
|
+
EXTERNAL_SERVICE = 'external_service'
|
|
23
|
+
|
|
24
|
+
|
|
10
25
|
class ConnectionConfig(BaseModel):
|
|
11
26
|
"""
|
|
12
27
|
Configuration model for a connection.
|
|
@@ -15,11 +30,15 @@ class ConnectionConfig(BaseModel):
|
|
|
15
30
|
name (str): The name of the connection.
|
|
16
31
|
backend (str): The backend implementation for the connection.
|
|
17
32
|
credentials (dict[str, Any]): The credentials required for the connection.
|
|
33
|
+
connection_type (ConnectionType): The type of connection (lakehouse, state, external_service).
|
|
34
|
+
is_managed (bool): Whether the connection participates in AMSDAL lifecycle management.
|
|
18
35
|
"""
|
|
19
36
|
|
|
20
37
|
name: str = DEFAULT_NAME
|
|
21
38
|
backend: str = 'amsdal_data.connections.implementations.iceberg_history.IcebergHistoricalConnection'
|
|
22
39
|
credentials: dict[str, Any] = Field(default_factory=dict)
|
|
40
|
+
connection_type: ConnectionType = ConnectionType.LAKEHOUSE
|
|
41
|
+
is_managed: bool = True
|
|
23
42
|
|
|
24
43
|
@field_validator('credentials', mode='before')
|
|
25
44
|
@classmethod
|
{amsdal_utils-0.5.4 → amsdal_utils-0.5.5}/src/amsdal_utils/config/data_models/resources_config.py
RENAMED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
from pydantic import BaseModel
|
|
2
|
+
from pydantic import Field
|
|
2
3
|
|
|
3
4
|
from amsdal_utils.config.data_models.repository_config import RepositoryConfig
|
|
4
5
|
|
|
@@ -11,9 +12,13 @@ class ResourcesConfig(BaseModel):
|
|
|
11
12
|
lakehouse (str): The lakehouse configuration.
|
|
12
13
|
lock (str): The lock configuration.
|
|
13
14
|
repository (RepositoryConfig): The repository configuration.
|
|
15
|
+
worker (str): The worker configuration.
|
|
16
|
+
external_services (dict[str, str]): Mapping of service names to connection names for external services.
|
|
17
|
+
Example: {"email": "smtp_connection", "storage": "s3_connection"}
|
|
14
18
|
"""
|
|
15
19
|
|
|
16
20
|
lakehouse: str
|
|
17
21
|
lock: str | None = None
|
|
18
22
|
repository: RepositoryConfig | None = None
|
|
19
23
|
worker: str | None = None
|
|
24
|
+
external_services: dict[str, str] = Field(default_factory=dict)
|
|
@@ -26,7 +26,7 @@ class JSONExtendedEncoder(json.JSONEncoder):
|
|
|
26
26
|
"""Custom JSON encoder to handle additional types."""
|
|
27
27
|
|
|
28
28
|
def default(self, obj: Any) -> Any:
|
|
29
|
-
if isinstance(obj, (Decimal, datetime, date, time, bytes)):
|
|
29
|
+
if isinstance(obj, (Decimal, datetime, date, time, bytes)):
|
|
30
30
|
return {
|
|
31
31
|
'__type__': type(obj).__name__,
|
|
32
32
|
'value': base64.b64encode(obj).decode('utf-8') if isinstance(obj, bytes) else str(obj),
|
|
@@ -91,7 +91,7 @@ def process_one_of(data: dict[str, Any]) -> dict[str, Any]:
|
|
|
91
91
|
|
|
92
92
|
|
|
93
93
|
def process_any_of(data: dict[str, Any], info: ValidationInfo) -> dict[str, Any]:
|
|
94
|
-
from amsdal_utils.schemas.schema import PropertyData
|
|
94
|
+
from amsdal_utils.schemas.schema import PropertyData # noqa: PLC0415
|
|
95
95
|
|
|
96
96
|
_any_of = data.pop('anyOf')
|
|
97
97
|
if _any_of in [[{'$ref': '#/$defs/Reference'}], [{'$ref': '#/$defs/Reference'}, {'type': 'null'}]]:
|
|
@@ -42,7 +42,7 @@ class Metadata(BaseModel):
|
|
|
42
42
|
|
|
43
43
|
@property
|
|
44
44
|
def address(self) -> Address:
|
|
45
|
-
from amsdal_utils.config.manager import AmsdalConfigManager
|
|
45
|
+
from amsdal_utils.config.manager import AmsdalConfigManager # noqa: PLC0415
|
|
46
46
|
|
|
47
47
|
_class_name = self.class_schema_reference.ref.object_id
|
|
48
48
|
|