fred-oss 0.63.0__tar.gz → 0.65.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 (135) hide show
  1. {fred_oss-0.63.0/src/main/fred_oss.egg-info → fred_oss-0.65.0}/PKG-INFO +2 -2
  2. {fred_oss-0.63.0 → fred_oss-0.65.0}/requirements.txt +1 -1
  3. {fred_oss-0.63.0 → fred_oss-0.65.0}/src/main/fred/edag/comp/_node.py +11 -2
  4. {fred_oss-0.63.0 → fred_oss-0.65.0}/src/main/fred/edag/executor.py +18 -1
  5. fred_oss-0.65.0/src/main/fred/version +1 -0
  6. {fred_oss-0.63.0 → fred_oss-0.65.0/src/main/fred_oss.egg-info}/PKG-INFO +2 -2
  7. {fred_oss-0.63.0 → fred_oss-0.65.0}/src/main/fred_oss.egg-info/requires.txt +1 -1
  8. fred_oss-0.63.0/src/main/fred/version +0 -1
  9. {fred_oss-0.63.0 → fred_oss-0.65.0}/MANIFEST.in +0 -0
  10. {fred_oss-0.63.0 → fred_oss-0.65.0}/NOTICE.txt +0 -0
  11. {fred_oss-0.63.0 → fred_oss-0.65.0}/README.md +0 -0
  12. {fred_oss-0.63.0 → fred_oss-0.65.0}/setup.cfg +0 -0
  13. {fred_oss-0.63.0 → fred_oss-0.65.0}/setup.py +0 -0
  14. {fred_oss-0.63.0 → fred_oss-0.65.0}/src/main/fred/cli/__init__.py +0 -0
  15. {fred_oss-0.63.0 → fred_oss-0.65.0}/src/main/fred/cli/__main__.py +0 -0
  16. {fred_oss-0.63.0 → fred_oss-0.65.0}/src/main/fred/cli/interface.py +0 -0
  17. {fred_oss-0.63.0 → fred_oss-0.65.0}/src/main/fred/cli/main.py +0 -0
  18. {fred_oss-0.63.0 → fred_oss-0.65.0}/src/main/fred/dao/__init__.py +0 -0
  19. {fred_oss-0.63.0 → fred_oss-0.65.0}/src/main/fred/dao/comp/__init__.py +0 -0
  20. {fred_oss-0.63.0 → fred_oss-0.65.0}/src/main/fred/dao/comp/_keyval.py +0 -0
  21. {fred_oss-0.63.0 → fred_oss-0.65.0}/src/main/fred/dao/comp/_pubsub.py +0 -0
  22. {fred_oss-0.63.0 → fred_oss-0.65.0}/src/main/fred/dao/comp/_queue.py +0 -0
  23. {fred_oss-0.63.0 → fred_oss-0.65.0}/src/main/fred/dao/comp/catalog.py +0 -0
  24. {fred_oss-0.63.0 → fred_oss-0.65.0}/src/main/fred/dao/comp/interface.py +0 -0
  25. {fred_oss-0.63.0 → fred_oss-0.65.0}/src/main/fred/dao/service/__init__.py +0 -0
  26. {fred_oss-0.63.0 → fred_oss-0.65.0}/src/main/fred/dao/service/_minio/__init__.py +0 -0
  27. {fred_oss-0.63.0 → fred_oss-0.65.0}/src/main/fred/dao/service/_minio/policy/__init__.py +0 -0
  28. {fred_oss-0.63.0 → fred_oss-0.65.0}/src/main/fred/dao/service/_minio/policy/builder.py +0 -0
  29. {fred_oss-0.63.0 → fred_oss-0.65.0}/src/main/fred/dao/service/_minio/policy/catalog.py +0 -0
  30. {fred_oss-0.63.0 → fred_oss-0.65.0}/src/main/fred/dao/service/_minio/policy/loader.py +0 -0
  31. {fred_oss-0.63.0 → fred_oss-0.65.0}/src/main/fred/dao/service/_minio/policy/templates/public_ro.json +0 -0
  32. {fred_oss-0.63.0 → fred_oss-0.65.0}/src/main/fred/dao/service/_minio/policy/templates/public_rw.json +0 -0
  33. {fred_oss-0.63.0 → fred_oss-0.65.0}/src/main/fred/dao/service/_minio/pool.py +0 -0
  34. {fred_oss-0.63.0 → fred_oss-0.65.0}/src/main/fred/dao/service/_minio/service.py +0 -0
  35. {fred_oss-0.63.0 → fred_oss-0.65.0}/src/main/fred/dao/service/_redis.py +0 -0
  36. {fred_oss-0.63.0 → fred_oss-0.65.0}/src/main/fred/dao/service/_stdlib.py +0 -0
  37. {fred_oss-0.63.0 → fred_oss-0.65.0}/src/main/fred/dao/service/catalog.py +0 -0
  38. {fred_oss-0.63.0 → fred_oss-0.65.0}/src/main/fred/dao/service/interface.py +0 -0
  39. {fred_oss-0.63.0 → fred_oss-0.65.0}/src/main/fred/dao/service/utils.py +0 -0
  40. {fred_oss-0.63.0 → fred_oss-0.65.0}/src/main/fred/edag/__init__.py +0 -0
  41. {fred_oss-0.63.0 → fred_oss-0.65.0}/src/main/fred/edag/comp/__init__.py +0 -0
  42. {fred_oss-0.63.0 → fred_oss-0.65.0}/src/main/fred/edag/comp/_group.py +0 -0
  43. {fred_oss-0.63.0 → fred_oss-0.65.0}/src/main/fred/edag/comp/catalog.py +0 -0
  44. {fred_oss-0.63.0 → fred_oss-0.65.0}/src/main/fred/edag/comp/interface.py +0 -0
  45. {fred_oss-0.63.0 → fred_oss-0.65.0}/src/main/fred/edag/conn/__init__.py +0 -0
  46. {fred_oss-0.63.0 → fred_oss-0.65.0}/src/main/fred/edag/conn/catalog.py +0 -0
  47. {fred_oss-0.63.0 → fred_oss-0.65.0}/src/main/fred/edag/decorator.py +0 -0
  48. {fred_oss-0.63.0 → fred_oss-0.65.0}/src/main/fred/edag/plan.py +0 -0
  49. {fred_oss-0.63.0 → fred_oss-0.65.0}/src/main/fred/future/__init__.py +0 -0
  50. {fred_oss-0.63.0 → fred_oss-0.65.0}/src/main/fred/future/callback/__init__.py +0 -0
  51. {fred_oss-0.63.0 → fred_oss-0.65.0}/src/main/fred/future/callback/_function.py +0 -0
  52. {fred_oss-0.63.0 → fred_oss-0.65.0}/src/main/fred/future/callback/catalog.py +0 -0
  53. {fred_oss-0.63.0 → fred_oss-0.65.0}/src/main/fred/future/callback/interface.py +0 -0
  54. {fred_oss-0.63.0 → fred_oss-0.65.0}/src/main/fred/future/impl.py +0 -0
  55. {fred_oss-0.63.0 → fred_oss-0.65.0}/src/main/fred/future/result.py +0 -0
  56. {fred_oss-0.63.0 → fred_oss-0.65.0}/src/main/fred/future/settings.py +0 -0
  57. {fred_oss-0.63.0 → fred_oss-0.65.0}/src/main/fred/future/utils.py +0 -0
  58. {fred_oss-0.63.0 → fred_oss-0.65.0}/src/main/fred/integrations/databricks/__init__.py +0 -0
  59. {fred_oss-0.63.0 → fred_oss-0.65.0}/src/main/fred/integrations/databricks/cli_ext.py +0 -0
  60. {fred_oss-0.63.0 → fred_oss-0.65.0}/src/main/fred/integrations/databricks/runtime.py +0 -0
  61. {fred_oss-0.63.0 → fred_oss-0.65.0}/src/main/fred/integrations/databricks/runtimes/16.4LTS.json +0 -0
  62. {fred_oss-0.63.0 → fred_oss-0.65.0}/src/main/fred/integrations/databricks/runtimes/__init__.py +0 -0
  63. {fred_oss-0.63.0 → fred_oss-0.65.0}/src/main/fred/integrations/databricks/runtimes/scanner.py +0 -0
  64. {fred_oss-0.63.0 → fred_oss-0.65.0}/src/main/fred/integrations/databricks/runtimes/sync.py +0 -0
  65. {fred_oss-0.63.0 → fred_oss-0.65.0}/src/main/fred/integrations/databricks/wrappers/__init__.py +0 -0
  66. {fred_oss-0.63.0 → fred_oss-0.65.0}/src/main/fred/integrations/databricks/wrappers/dbutils.py +0 -0
  67. {fred_oss-0.63.0 → fred_oss-0.65.0}/src/main/fred/integrations/runpod/__init__.py +0 -0
  68. {fred_oss-0.63.0 → fred_oss-0.65.0}/src/main/fred/integrations/runpod/cli_ext.py +0 -0
  69. {fred_oss-0.63.0 → fred_oss-0.65.0}/src/main/fred/integrations/runpod/helper.py +0 -0
  70. {fred_oss-0.63.0 → fred_oss-0.65.0}/src/main/fred/maturity.py +0 -0
  71. {fred_oss-0.63.0 → fred_oss-0.65.0}/src/main/fred/monad/__init__.py +0 -0
  72. {fred_oss-0.63.0 → fred_oss-0.65.0}/src/main/fred/monad/_either.py +0 -0
  73. {fred_oss-0.63.0 → fred_oss-0.65.0}/src/main/fred/monad/catalog.py +0 -0
  74. {fred_oss-0.63.0 → fred_oss-0.65.0}/src/main/fred/monad/interface.py +0 -0
  75. {fred_oss-0.63.0 → fred_oss-0.65.0}/src/main/fred/rest/__init__.py +0 -0
  76. {fred_oss-0.63.0 → fred_oss-0.65.0}/src/main/fred/rest/auth.py +0 -0
  77. {fred_oss-0.63.0 → fred_oss-0.65.0}/src/main/fred/rest/config.py +0 -0
  78. {fred_oss-0.63.0 → fred_oss-0.65.0}/src/main/fred/rest/router/__init__.py +0 -0
  79. {fred_oss-0.63.0 → fred_oss-0.65.0}/src/main/fred/rest/router/catalog/__init__.py +0 -0
  80. {fred_oss-0.63.0 → fred_oss-0.65.0}/src/main/fred/rest/router/catalog/default/__init__.py +0 -0
  81. {fred_oss-0.63.0 → fred_oss-0.65.0}/src/main/fred/rest/router/catalog/default/_base.py +0 -0
  82. {fred_oss-0.63.0 → fred_oss-0.65.0}/src/main/fred/rest/router/catalog/default/_example.py +0 -0
  83. {fred_oss-0.63.0 → fred_oss-0.65.0}/src/main/fred/rest/router/catalog/default/catalog.py +0 -0
  84. {fred_oss-0.63.0 → fred_oss-0.65.0}/src/main/fred/rest/router/catalog/interface.py +0 -0
  85. {fred_oss-0.63.0 → fred_oss-0.65.0}/src/main/fred/rest/router/config.py +0 -0
  86. {fred_oss-0.63.0 → fred_oss-0.65.0}/src/main/fred/rest/router/endpoint.py +0 -0
  87. {fred_oss-0.63.0 → fred_oss-0.65.0}/src/main/fred/rest/router/interface.py +0 -0
  88. {fred_oss-0.63.0 → fred_oss-0.65.0}/src/main/fred/rest/server.py +0 -0
  89. {fred_oss-0.63.0 → fred_oss-0.65.0}/src/main/fred/rest/settings.py +0 -0
  90. {fred_oss-0.63.0 → fred_oss-0.65.0}/src/main/fred/settings.py +0 -0
  91. {fred_oss-0.63.0 → fred_oss-0.65.0}/src/main/fred/utils/__init__.py +0 -0
  92. {fred_oss-0.63.0 → fred_oss-0.65.0}/src/main/fred/utils/dateops.py +0 -0
  93. {fred_oss-0.63.0 → fred_oss-0.65.0}/src/main/fred/utils/imops.py +0 -0
  94. {fred_oss-0.63.0 → fred_oss-0.65.0}/src/main/fred/utils/imout/__init__.py +0 -0
  95. {fred_oss-0.63.0 → fred_oss-0.65.0}/src/main/fred/utils/imout/_filesystem.py +0 -0
  96. {fred_oss-0.63.0 → fred_oss-0.65.0}/src/main/fred/utils/imout/_minio.py +0 -0
  97. {fred_oss-0.63.0 → fred_oss-0.65.0}/src/main/fred/utils/imout/_string.py +0 -0
  98. {fred_oss-0.63.0 → fred_oss-0.65.0}/src/main/fred/utils/imout/catalog.py +0 -0
  99. {fred_oss-0.63.0 → fred_oss-0.65.0}/src/main/fred/utils/imout/interface.py +0 -0
  100. {fred_oss-0.63.0 → fred_oss-0.65.0}/src/main/fred/utils/mlops/__init__.py +0 -0
  101. {fred_oss-0.63.0 → fred_oss-0.65.0}/src/main/fred/utils/mlops/auto.py +0 -0
  102. {fred_oss-0.63.0 → fred_oss-0.65.0}/src/main/fred/utils/runtime.py +0 -0
  103. {fred_oss-0.63.0 → fred_oss-0.65.0}/src/main/fred/version.py +0 -0
  104. {fred_oss-0.63.0 → fred_oss-0.65.0}/src/main/fred/worker/__init__.py +0 -0
  105. {fred_oss-0.63.0 → fred_oss-0.65.0}/src/main/fred/worker/interface.py +0 -0
  106. {fred_oss-0.63.0 → fred_oss-0.65.0}/src/main/fred/worker/runner/__init__.py +0 -0
  107. {fred_oss-0.63.0 → fred_oss-0.65.0}/src/main/fred/worker/runner/backend.py +0 -0
  108. {fred_oss-0.63.0 → fred_oss-0.65.0}/src/main/fred/worker/runner/client.py +0 -0
  109. {fred_oss-0.63.0 → fred_oss-0.65.0}/src/main/fred/worker/runner/handler.py +0 -0
  110. {fred_oss-0.63.0 → fred_oss-0.65.0}/src/main/fred/worker/runner/model/__init__.py +0 -0
  111. {fred_oss-0.63.0 → fred_oss-0.65.0}/src/main/fred/worker/runner/model/_handler.py +0 -0
  112. {fred_oss-0.63.0 → fred_oss-0.65.0}/src/main/fred/worker/runner/model/_item.py +0 -0
  113. {fred_oss-0.63.0 → fred_oss-0.65.0}/src/main/fred/worker/runner/model/_request.py +0 -0
  114. {fred_oss-0.63.0 → fred_oss-0.65.0}/src/main/fred/worker/runner/model/_runner_spec.py +0 -0
  115. {fred_oss-0.63.0 → fred_oss-0.65.0}/src/main/fred/worker/runner/model/catalog.py +0 -0
  116. {fred_oss-0.63.0 → fred_oss-0.65.0}/src/main/fred/worker/runner/model/interface.py +0 -0
  117. {fred_oss-0.63.0 → fred_oss-0.65.0}/src/main/fred/worker/runner/plugins/__init__.py +0 -0
  118. {fred_oss-0.63.0 → fred_oss-0.65.0}/src/main/fred/worker/runner/plugins/_local.py +0 -0
  119. {fred_oss-0.63.0 → fred_oss-0.65.0}/src/main/fred/worker/runner/plugins/_runpod.py +0 -0
  120. {fred_oss-0.63.0 → fred_oss-0.65.0}/src/main/fred/worker/runner/plugins/catalog.py +0 -0
  121. {fred_oss-0.63.0 → fred_oss-0.65.0}/src/main/fred/worker/runner/plugins/interface.py +0 -0
  122. {fred_oss-0.63.0 → fred_oss-0.65.0}/src/main/fred/worker/runner/rest/__init__.py +0 -0
  123. {fred_oss-0.63.0 → fred_oss-0.65.0}/src/main/fred/worker/runner/rest/router/__init__.py +0 -0
  124. {fred_oss-0.63.0 → fred_oss-0.65.0}/src/main/fred/worker/runner/rest/router/_base.py +0 -0
  125. {fred_oss-0.63.0 → fred_oss-0.65.0}/src/main/fred/worker/runner/rest/router/_runner.py +0 -0
  126. {fred_oss-0.63.0 → fred_oss-0.65.0}/src/main/fred/worker/runner/rest/router/catalog.py +0 -0
  127. {fred_oss-0.63.0 → fred_oss-0.65.0}/src/main/fred/worker/runner/settings.py +0 -0
  128. {fred_oss-0.63.0 → fred_oss-0.65.0}/src/main/fred/worker/runner/signal.py +0 -0
  129. {fred_oss-0.63.0 → fred_oss-0.65.0}/src/main/fred/worker/runner/status.py +0 -0
  130. {fred_oss-0.63.0 → fred_oss-0.65.0}/src/main/fred/worker/runner/utils.py +0 -0
  131. {fred_oss-0.63.0 → fred_oss-0.65.0}/src/main/fred/worker/settings.py +0 -0
  132. {fred_oss-0.63.0 → fred_oss-0.65.0}/src/main/fred_oss.egg-info/SOURCES.txt +0 -0
  133. {fred_oss-0.63.0 → fred_oss-0.65.0}/src/main/fred_oss.egg-info/dependency_links.txt +0 -0
  134. {fred_oss-0.63.0 → fred_oss-0.65.0}/src/main/fred_oss.egg-info/entry_points.txt +0 -0
  135. {fred_oss-0.63.0 → fred_oss-0.65.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.63.0
3
+ Version: 0.65.0
4
4
  Summary: FREDOSS
5
5
  Home-page: https://fred.fahera.mx
6
6
  Author: Fahera Research, Education, and Development
@@ -17,7 +17,7 @@ Requires-Dist: fastapi==0.116.2
17
17
  Requires-Dist: uvicorn[standard]==0.35.0
18
18
  Requires-Dist: minio==7.2.18
19
19
  Requires-Dist: pillow==11.3.0
20
- Requires-Dist: torch==2.8.0
20
+ Requires-Dist: torch==2.10.0
21
21
  Dynamic: author
22
22
  Dynamic: author-email
23
23
  Dynamic: description
@@ -13,5 +13,5 @@ uvicorn[standard]==0.35.0
13
13
  minio==7.2.18
14
14
  # Fred Utils
15
15
  pillow==11.3.0
16
- torch==2.8.0
16
+ torch==2.10.0
17
17
  # Databricks Runtime: 16.4 LTS (Python 3.12.3)
@@ -3,8 +3,11 @@ from inspect import Signature, signature, Parameter
3
3
  from dataclasses import dataclass, field, asdict
4
4
  from typing import Callable, Optional
5
5
 
6
+ from fred.settings import logger_manager
6
7
  from fred.edag.comp.interface import ComponentInterface
7
8
 
9
+ logger = logger_manager.get_logger(__name__)
10
+
8
11
 
9
12
  @dataclass(frozen=True, slots=True)
10
13
  class NodeFun:
@@ -74,6 +77,12 @@ class Node(ComponentInterface):
74
77
  obj["params"] = frozenset((obj.get("params") or {}).keys()) # only hash keys to avoid unhashable values
75
78
  return hash(frozenset(obj.items()))
76
79
 
80
+ def __getitem__(self, key) -> "Node":
81
+ if key is Ellipsis: # node[...] syntax
82
+ return self.clone(key="*")
83
+ logger.warning("Node indexing is reserved for syntax like node[...] to indicate iterator mode.")
84
+ raise KeyError(f"Node does not support indexing with key: {key}")
85
+
77
86
  def clone(self, **kwargs) -> "Node":
78
87
  # Verify if 'inplace' is set via '_inplace' or 'inplace' keys; otherwise, keep current value
79
88
  for key in ("inplace", "_inplace"):
@@ -178,12 +187,12 @@ class Node(ComponentInterface):
178
187
  _explode=self._explode,
179
188
  )
180
189
 
181
- def execute(self, **kwargs):
190
+ def execute(self, *args, **kwargs):
182
191
  params = {
183
192
  **self.params,
184
193
  **kwargs
185
194
  }
186
195
  if self._inplace:
187
- return self.fun(**params)
196
+ return self.fun(*args, **params)
188
197
  from fred.future.impl import Future
189
198
  return Future(self.fun, **params)
@@ -4,10 +4,14 @@ from dataclasses import dataclass, field
4
4
  from typing import Any, Optional
5
5
 
6
6
  from fred.future.impl import Future
7
+ from fred.settings import logger_manager
7
8
  from fred.edag.comp.catalog import CompCatalog
8
9
  from fred.edag.plan import Plan
9
10
 
10
11
 
12
+ logger = logger_manager.get_logger(__name__)
13
+
14
+
11
15
  @dataclass(frozen=True, slots=True)
12
16
  class Executor:
13
17
  predmap: dict[CompCatalog.NODE.ref, set[CompCatalog.NODE.ref]]
@@ -57,8 +61,21 @@ class Executor:
57
61
  for arg, val in node_out.items()
58
62
  }
59
63
  }
64
+ # Handle iterator mode; if '*' is provided in kwargs, execute node for each item in the iterator
65
+ # and collect results in a list.
66
+ # We should 'pop' to simulate 'consuming' the iterator input and avoid passing it to other nodes.
67
+ if (iterator := kwargs.pop("*", None)):
68
+ logger.debug(f"Executor mapping functionality detected: Node '{node.name}' executing in iterator mode.")
69
+ # TODO: https://github.com/fahera-mx/fred-oss/issues/179
70
+ # TODO: Can we consider exploiting the item components?
71
+ node_output = [
72
+ node.execute(item)
73
+ for item in iterator
74
+ ]
75
+ else:
76
+ node_output = node.execute(**kwargs)
60
77
  # Execute node function
61
- match node.execute(**kwargs):
78
+ match node_output:
62
79
  case Future() as future:
63
80
  # Can't we just build the whole graph in the future and 'wait_and_resolve' only at the end?
64
81
  # Or at least per layer/generation?
@@ -0,0 +1 @@
1
+ 0.65.0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: fred-oss
3
- Version: 0.63.0
3
+ Version: 0.65.0
4
4
  Summary: FREDOSS
5
5
  Home-page: https://fred.fahera.mx
6
6
  Author: Fahera Research, Education, and Development
@@ -17,7 +17,7 @@ Requires-Dist: fastapi==0.116.2
17
17
  Requires-Dist: uvicorn[standard]==0.35.0
18
18
  Requires-Dist: minio==7.2.18
19
19
  Requires-Dist: pillow==11.3.0
20
- Requires-Dist: torch==2.8.0
20
+ Requires-Dist: torch==2.10.0
21
21
  Dynamic: author
22
22
  Dynamic: author-email
23
23
  Dynamic: description
@@ -7,4 +7,4 @@ fastapi==0.116.2
7
7
  uvicorn[standard]==0.35.0
8
8
  minio==7.2.18
9
9
  pillow==11.3.0
10
- torch==2.8.0
10
+ torch==2.10.0
@@ -1 +0,0 @@
1
- 0.63.0
File without changes
File without changes
File without changes
File without changes
File without changes