fred-oss 0.2.0__tar.gz → 0.4.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.
- {fred_oss-0.2.0/src/main/fred_oss.egg-info → fred_oss-0.4.0}/PKG-INFO +1 -1
- {fred_oss-0.2.0 → fred_oss-0.4.0}/src/main/fred/integrations/runpod/helper.py +25 -4
- fred_oss-0.4.0/src/main/fred/version +1 -0
- {fred_oss-0.2.0 → fred_oss-0.4.0/src/main/fred_oss.egg-info}/PKG-INFO +1 -1
- fred_oss-0.2.0/src/main/fred/version +0 -1
- {fred_oss-0.2.0 → fred_oss-0.4.0}/MANIFEST.in +0 -0
- {fred_oss-0.2.0 → fred_oss-0.4.0}/NOTICE.txt +0 -0
- {fred_oss-0.2.0 → fred_oss-0.4.0}/README.md +0 -0
- {fred_oss-0.2.0 → fred_oss-0.4.0}/requirements.txt +0 -0
- {fred_oss-0.2.0 → fred_oss-0.4.0}/setup.cfg +0 -0
- {fred_oss-0.2.0 → fred_oss-0.4.0}/setup.py +0 -0
- {fred_oss-0.2.0 → fred_oss-0.4.0}/src/main/fred/cli/__init__.py +0 -0
- {fred_oss-0.2.0 → fred_oss-0.4.0}/src/main/fred/cli/__main__.py +0 -0
- {fred_oss-0.2.0 → fred_oss-0.4.0}/src/main/fred/cli/interface.py +0 -0
- {fred_oss-0.2.0 → fred_oss-0.4.0}/src/main/fred/cli/main.py +0 -0
- {fred_oss-0.2.0 → fred_oss-0.4.0}/src/main/fred/integrations/databricks/__init__.py +0 -0
- {fred_oss-0.2.0 → fred_oss-0.4.0}/src/main/fred/integrations/databricks/cli_ext.py +0 -0
- {fred_oss-0.2.0 → fred_oss-0.4.0}/src/main/fred/integrations/databricks/runtime.py +0 -0
- {fred_oss-0.2.0 → fred_oss-0.4.0}/src/main/fred/integrations/databricks/runtimes/__init__.py +0 -0
- {fred_oss-0.2.0 → fred_oss-0.4.0}/src/main/fred/integrations/databricks/runtimes/scanner.py +0 -0
- {fred_oss-0.2.0 → fred_oss-0.4.0}/src/main/fred/integrations/databricks/runtimes/sync.py +0 -0
- {fred_oss-0.2.0 → fred_oss-0.4.0}/src/main/fred/integrations/databricks/wrappers/__init__.py +0 -0
- {fred_oss-0.2.0 → fred_oss-0.4.0}/src/main/fred/integrations/databricks/wrappers/dbutils.py +0 -0
- {fred_oss-0.2.0 → fred_oss-0.4.0}/src/main/fred/integrations/runpod/__init__.py +0 -0
- {fred_oss-0.2.0 → fred_oss-0.4.0}/src/main/fred/integrations/runpod/cli_ext.py +0 -0
- {fred_oss-0.2.0 → fred_oss-0.4.0}/src/main/fred/maturity.py +0 -0
- {fred_oss-0.2.0 → fred_oss-0.4.0}/src/main/fred/settings.py +0 -0
- {fred_oss-0.2.0 → fred_oss-0.4.0}/src/main/fred/utils/__init__.py +0 -0
- {fred_oss-0.2.0 → fred_oss-0.4.0}/src/main/fred/utils/dateops.py +0 -0
- {fred_oss-0.2.0 → fred_oss-0.4.0}/src/main/fred/utils/runtime.py +0 -0
- {fred_oss-0.2.0 → fred_oss-0.4.0}/src/main/fred/version.py +0 -0
- {fred_oss-0.2.0 → fred_oss-0.4.0}/src/main/fred_oss.egg-info/SOURCES.txt +0 -0
- {fred_oss-0.2.0 → fred_oss-0.4.0}/src/main/fred_oss.egg-info/dependency_links.txt +0 -0
- {fred_oss-0.2.0 → fred_oss-0.4.0}/src/main/fred_oss.egg-info/entry_points.txt +0 -0
- {fred_oss-0.2.0 → fred_oss-0.4.0}/src/main/fred_oss.egg-info/requires.txt +0 -0
- {fred_oss-0.2.0 → fred_oss-0.4.0}/src/main/fred_oss.egg-info/top_level.txt +0 -0
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import time
|
|
2
|
-
from dataclasses import dataclass
|
|
2
|
+
from dataclasses import dataclass, field
|
|
3
3
|
from typing import Optional
|
|
4
4
|
|
|
5
|
+
from fred.utils.dateops import datetime_utcnow
|
|
5
6
|
from fred.settings import logger_manager
|
|
6
7
|
|
|
7
8
|
logger = logger_manager.get_logger(name=__name__)
|
|
@@ -9,9 +10,19 @@ logger = logger_manager.get_logger(name=__name__)
|
|
|
9
10
|
|
|
10
11
|
@dataclass(frozen=True, slots=True)
|
|
11
12
|
class HandlerHelper:
|
|
13
|
+
context: dict = field(default_factory=dict)
|
|
14
|
+
metadata: dict = field(default_factory=dict)
|
|
15
|
+
|
|
16
|
+
def __post_init__(self):
|
|
17
|
+
self.metadata["handler_created_at"] = datetime_utcnow().isoformat()
|
|
12
18
|
|
|
13
19
|
@classmethod
|
|
14
|
-
def find_handler(
|
|
20
|
+
def find_handler(
|
|
21
|
+
cls,
|
|
22
|
+
import_pattern: str,
|
|
23
|
+
handler_classname: str,
|
|
24
|
+
**init_kwargs,
|
|
25
|
+
) -> 'HandlerHelper':
|
|
15
26
|
import importlib
|
|
16
27
|
|
|
17
28
|
# Dynamically import the handler class
|
|
@@ -21,7 +32,13 @@ class HandlerHelper:
|
|
|
21
32
|
if not handler_cls or not issubclass(handler_cls, cls):
|
|
22
33
|
logger.error(f"Handler class '{handler_classname}' not found or is not a subclass of HandlerHelper.")
|
|
23
34
|
raise ValueError(f"Handler '{handler_classname}' not found in module '{import_pattern}' or is not a subclass of HandlerHelper.")
|
|
24
|
-
|
|
35
|
+
kwargs = {
|
|
36
|
+
"metadata": {
|
|
37
|
+
"handler_found_at": datetime_utcnow().isoformat()
|
|
38
|
+
},
|
|
39
|
+
**init_kwargs,
|
|
40
|
+
}
|
|
41
|
+
return handler_cls(**kwargs)
|
|
25
42
|
|
|
26
43
|
def handler(self, payload: dict) -> Optional[dict]:
|
|
27
44
|
logger.warning("Handler method not implemented.")
|
|
@@ -29,7 +46,9 @@ class HandlerHelper:
|
|
|
29
46
|
|
|
30
47
|
def run(self, event: dict) -> dict:
|
|
31
48
|
job_event_identifier = event.get("id")
|
|
49
|
+
self.metadata["run_seq"] = self.metadata.get("run_seq", 0) + 1
|
|
32
50
|
payload = event.get("input", {})
|
|
51
|
+
started_at = datetime_utcnow().isoformat()
|
|
33
52
|
start_time = time.perf_counter()
|
|
34
53
|
ok = True
|
|
35
54
|
try:
|
|
@@ -41,8 +60,10 @@ class HandlerHelper:
|
|
|
41
60
|
"error": str(e)
|
|
42
61
|
}
|
|
43
62
|
return {
|
|
63
|
+
"ok": ok,
|
|
44
64
|
"id": job_event_identifier,
|
|
45
65
|
"duration": time.perf_counter() - start_time,
|
|
66
|
+
"started_at": started_at,
|
|
46
67
|
"response": response,
|
|
47
|
-
"
|
|
68
|
+
"metadata": self.metadata,
|
|
48
69
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
0.4.0
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
0.2.0
|
|
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
|
{fred_oss-0.2.0 → fred_oss-0.4.0}/src/main/fred/integrations/databricks/runtimes/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fred_oss-0.2.0 → fred_oss-0.4.0}/src/main/fred/integrations/databricks/wrappers/__init__.py
RENAMED
|
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
|