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.
Files changed (36) hide show
  1. {fred_oss-0.2.0/src/main/fred_oss.egg-info → fred_oss-0.4.0}/PKG-INFO +1 -1
  2. {fred_oss-0.2.0 → fred_oss-0.4.0}/src/main/fred/integrations/runpod/helper.py +25 -4
  3. fred_oss-0.4.0/src/main/fred/version +1 -0
  4. {fred_oss-0.2.0 → fred_oss-0.4.0/src/main/fred_oss.egg-info}/PKG-INFO +1 -1
  5. fred_oss-0.2.0/src/main/fred/version +0 -1
  6. {fred_oss-0.2.0 → fred_oss-0.4.0}/MANIFEST.in +0 -0
  7. {fred_oss-0.2.0 → fred_oss-0.4.0}/NOTICE.txt +0 -0
  8. {fred_oss-0.2.0 → fred_oss-0.4.0}/README.md +0 -0
  9. {fred_oss-0.2.0 → fred_oss-0.4.0}/requirements.txt +0 -0
  10. {fred_oss-0.2.0 → fred_oss-0.4.0}/setup.cfg +0 -0
  11. {fred_oss-0.2.0 → fred_oss-0.4.0}/setup.py +0 -0
  12. {fred_oss-0.2.0 → fred_oss-0.4.0}/src/main/fred/cli/__init__.py +0 -0
  13. {fred_oss-0.2.0 → fred_oss-0.4.0}/src/main/fred/cli/__main__.py +0 -0
  14. {fred_oss-0.2.0 → fred_oss-0.4.0}/src/main/fred/cli/interface.py +0 -0
  15. {fred_oss-0.2.0 → fred_oss-0.4.0}/src/main/fred/cli/main.py +0 -0
  16. {fred_oss-0.2.0 → fred_oss-0.4.0}/src/main/fred/integrations/databricks/__init__.py +0 -0
  17. {fred_oss-0.2.0 → fred_oss-0.4.0}/src/main/fred/integrations/databricks/cli_ext.py +0 -0
  18. {fred_oss-0.2.0 → fred_oss-0.4.0}/src/main/fred/integrations/databricks/runtime.py +0 -0
  19. {fred_oss-0.2.0 → fred_oss-0.4.0}/src/main/fred/integrations/databricks/runtimes/__init__.py +0 -0
  20. {fred_oss-0.2.0 → fred_oss-0.4.0}/src/main/fred/integrations/databricks/runtimes/scanner.py +0 -0
  21. {fred_oss-0.2.0 → fred_oss-0.4.0}/src/main/fred/integrations/databricks/runtimes/sync.py +0 -0
  22. {fred_oss-0.2.0 → fred_oss-0.4.0}/src/main/fred/integrations/databricks/wrappers/__init__.py +0 -0
  23. {fred_oss-0.2.0 → fred_oss-0.4.0}/src/main/fred/integrations/databricks/wrappers/dbutils.py +0 -0
  24. {fred_oss-0.2.0 → fred_oss-0.4.0}/src/main/fred/integrations/runpod/__init__.py +0 -0
  25. {fred_oss-0.2.0 → fred_oss-0.4.0}/src/main/fred/integrations/runpod/cli_ext.py +0 -0
  26. {fred_oss-0.2.0 → fred_oss-0.4.0}/src/main/fred/maturity.py +0 -0
  27. {fred_oss-0.2.0 → fred_oss-0.4.0}/src/main/fred/settings.py +0 -0
  28. {fred_oss-0.2.0 → fred_oss-0.4.0}/src/main/fred/utils/__init__.py +0 -0
  29. {fred_oss-0.2.0 → fred_oss-0.4.0}/src/main/fred/utils/dateops.py +0 -0
  30. {fred_oss-0.2.0 → fred_oss-0.4.0}/src/main/fred/utils/runtime.py +0 -0
  31. {fred_oss-0.2.0 → fred_oss-0.4.0}/src/main/fred/version.py +0 -0
  32. {fred_oss-0.2.0 → fred_oss-0.4.0}/src/main/fred_oss.egg-info/SOURCES.txt +0 -0
  33. {fred_oss-0.2.0 → fred_oss-0.4.0}/src/main/fred_oss.egg-info/dependency_links.txt +0 -0
  34. {fred_oss-0.2.0 → fred_oss-0.4.0}/src/main/fred_oss.egg-info/entry_points.txt +0 -0
  35. {fred_oss-0.2.0 → fred_oss-0.4.0}/src/main/fred_oss.egg-info/requires.txt +0 -0
  36. {fred_oss-0.2.0 → fred_oss-0.4.0}/src/main/fred_oss.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: fred-oss
3
- Version: 0.2.0
3
+ Version: 0.4.0
4
4
  Summary: FREDOSS
5
5
  Home-page: https://fred.fahera.mx
6
6
  Author: Fahera Research, Education, and Development
@@ -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(cls, import_pattern: str, handler_classname: str) -> 'HandlerHelper':
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
- return handler_cls()
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
- "ok": ok,
68
+ "metadata": self.metadata,
48
69
  }
@@ -0,0 +1 @@
1
+ 0.4.0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: fred-oss
3
- Version: 0.2.0
3
+ Version: 0.4.0
4
4
  Summary: FREDOSS
5
5
  Home-page: https://fred.fahera.mx
6
6
  Author: Fahera Research, Education, and Development
@@ -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