fred-oss 0.35.0__tar.gz → 0.37.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.35.0/src/main/fred_oss.egg-info → fred_oss-0.37.0}/PKG-INFO +1 -1
- {fred_oss-0.35.0 → fred_oss-0.37.0}/src/main/fred/future/impl.py +9 -1
- fred_oss-0.37.0/src/main/fred/version +1 -0
- {fred_oss-0.35.0 → fred_oss-0.37.0}/src/main/fred/worker/runner/client.py +31 -8
- {fred_oss-0.35.0 → fred_oss-0.37.0/src/main/fred_oss.egg-info}/PKG-INFO +1 -1
- fred_oss-0.35.0/src/main/fred/version +0 -1
- {fred_oss-0.35.0 → fred_oss-0.37.0}/MANIFEST.in +0 -0
- {fred_oss-0.35.0 → fred_oss-0.37.0}/NOTICE.txt +0 -0
- {fred_oss-0.35.0 → fred_oss-0.37.0}/README.md +0 -0
- {fred_oss-0.35.0 → fred_oss-0.37.0}/requirements.txt +0 -0
- {fred_oss-0.35.0 → fred_oss-0.37.0}/setup.cfg +0 -0
- {fred_oss-0.35.0 → fred_oss-0.37.0}/setup.py +0 -0
- {fred_oss-0.35.0 → fred_oss-0.37.0}/src/main/fred/cli/__init__.py +0 -0
- {fred_oss-0.35.0 → fred_oss-0.37.0}/src/main/fred/cli/__main__.py +0 -0
- {fred_oss-0.35.0 → fred_oss-0.37.0}/src/main/fred/cli/interface.py +0 -0
- {fred_oss-0.35.0 → fred_oss-0.37.0}/src/main/fred/cli/main.py +0 -0
- {fred_oss-0.35.0 → fred_oss-0.37.0}/src/main/fred/dao/__init__.py +0 -0
- {fred_oss-0.35.0 → fred_oss-0.37.0}/src/main/fred/dao/comp/__init__.py +0 -0
- {fred_oss-0.35.0 → fred_oss-0.37.0}/src/main/fred/dao/comp/_keyval.py +0 -0
- {fred_oss-0.35.0 → fred_oss-0.37.0}/src/main/fred/dao/comp/_queue.py +0 -0
- {fred_oss-0.35.0 → fred_oss-0.37.0}/src/main/fred/dao/comp/catalog.py +0 -0
- {fred_oss-0.35.0 → fred_oss-0.37.0}/src/main/fred/dao/comp/interface.py +0 -0
- {fred_oss-0.35.0 → fred_oss-0.37.0}/src/main/fred/dao/service/__init__.py +0 -0
- {fred_oss-0.35.0 → fred_oss-0.37.0}/src/main/fred/dao/service/_redis.py +0 -0
- {fred_oss-0.35.0 → fred_oss-0.37.0}/src/main/fred/dao/service/_stdlib.py +0 -0
- {fred_oss-0.35.0 → fred_oss-0.37.0}/src/main/fred/dao/service/catalog.py +0 -0
- {fred_oss-0.35.0 → fred_oss-0.37.0}/src/main/fred/dao/service/interface.py +0 -0
- {fred_oss-0.35.0 → fred_oss-0.37.0}/src/main/fred/dao/service/utils.py +0 -0
- {fred_oss-0.35.0 → fred_oss-0.37.0}/src/main/fred/future/__init__.py +0 -0
- {fred_oss-0.35.0 → fred_oss-0.37.0}/src/main/fred/future/callback/__init__.py +0 -0
- {fred_oss-0.35.0 → fred_oss-0.37.0}/src/main/fred/future/callback/_function.py +0 -0
- {fred_oss-0.35.0 → fred_oss-0.37.0}/src/main/fred/future/callback/catalog.py +0 -0
- {fred_oss-0.35.0 → fred_oss-0.37.0}/src/main/fred/future/callback/interface.py +0 -0
- {fred_oss-0.35.0 → fred_oss-0.37.0}/src/main/fred/future/result.py +0 -0
- {fred_oss-0.35.0 → fred_oss-0.37.0}/src/main/fred/future/settings.py +0 -0
- {fred_oss-0.35.0 → fred_oss-0.37.0}/src/main/fred/future/utils.py +0 -0
- {fred_oss-0.35.0 → fred_oss-0.37.0}/src/main/fred/integrations/databricks/__init__.py +0 -0
- {fred_oss-0.35.0 → fred_oss-0.37.0}/src/main/fred/integrations/databricks/cli_ext.py +0 -0
- {fred_oss-0.35.0 → fred_oss-0.37.0}/src/main/fred/integrations/databricks/runtime.py +0 -0
- {fred_oss-0.35.0 → fred_oss-0.37.0}/src/main/fred/integrations/databricks/runtimes/__init__.py +0 -0
- {fred_oss-0.35.0 → fred_oss-0.37.0}/src/main/fred/integrations/databricks/runtimes/scanner.py +0 -0
- {fred_oss-0.35.0 → fred_oss-0.37.0}/src/main/fred/integrations/databricks/runtimes/sync.py +0 -0
- {fred_oss-0.35.0 → fred_oss-0.37.0}/src/main/fred/integrations/databricks/wrappers/__init__.py +0 -0
- {fred_oss-0.35.0 → fred_oss-0.37.0}/src/main/fred/integrations/databricks/wrappers/dbutils.py +0 -0
- {fred_oss-0.35.0 → fred_oss-0.37.0}/src/main/fred/integrations/runpod/__init__.py +0 -0
- {fred_oss-0.35.0 → fred_oss-0.37.0}/src/main/fred/integrations/runpod/cli_ext.py +0 -0
- {fred_oss-0.35.0 → fred_oss-0.37.0}/src/main/fred/integrations/runpod/helper.py +0 -0
- {fred_oss-0.35.0 → fred_oss-0.37.0}/src/main/fred/maturity.py +0 -0
- {fred_oss-0.35.0 → fred_oss-0.37.0}/src/main/fred/monad/__init__.py +0 -0
- {fred_oss-0.35.0 → fred_oss-0.37.0}/src/main/fred/monad/_either.py +0 -0
- {fred_oss-0.35.0 → fred_oss-0.37.0}/src/main/fred/monad/catalog.py +0 -0
- {fred_oss-0.35.0 → fred_oss-0.37.0}/src/main/fred/monad/interface.py +0 -0
- {fred_oss-0.35.0 → fred_oss-0.37.0}/src/main/fred/settings.py +0 -0
- {fred_oss-0.35.0 → fred_oss-0.37.0}/src/main/fred/utils/__init__.py +0 -0
- {fred_oss-0.35.0 → fred_oss-0.37.0}/src/main/fred/utils/dateops.py +0 -0
- {fred_oss-0.35.0 → fred_oss-0.37.0}/src/main/fred/utils/runtime.py +0 -0
- {fred_oss-0.35.0 → fred_oss-0.37.0}/src/main/fred/version.py +0 -0
- {fred_oss-0.35.0 → fred_oss-0.37.0}/src/main/fred/worker/__init__.py +0 -0
- {fred_oss-0.35.0 → fred_oss-0.37.0}/src/main/fred/worker/interface.py +0 -0
- {fred_oss-0.35.0 → fred_oss-0.37.0}/src/main/fred/worker/runner/__init__.py +0 -0
- {fred_oss-0.35.0 → fred_oss-0.37.0}/src/main/fred/worker/runner/backend.py +0 -0
- {fred_oss-0.35.0 → fred_oss-0.37.0}/src/main/fred/worker/runner/handler.py +0 -0
- {fred_oss-0.35.0 → fred_oss-0.37.0}/src/main/fred/worker/runner/model/__init__.py +0 -0
- {fred_oss-0.35.0 → fred_oss-0.37.0}/src/main/fred/worker/runner/model/_handler.py +0 -0
- {fred_oss-0.35.0 → fred_oss-0.37.0}/src/main/fred/worker/runner/model/_item.py +0 -0
- {fred_oss-0.35.0 → fred_oss-0.37.0}/src/main/fred/worker/runner/model/_request.py +0 -0
- {fred_oss-0.35.0 → fred_oss-0.37.0}/src/main/fred/worker/runner/model/_runner_spec.py +0 -0
- {fred_oss-0.35.0 → fred_oss-0.37.0}/src/main/fred/worker/runner/model/catalog.py +0 -0
- {fred_oss-0.35.0 → fred_oss-0.37.0}/src/main/fred/worker/runner/model/interface.py +0 -0
- {fred_oss-0.35.0 → fred_oss-0.37.0}/src/main/fred/worker/runner/plugins/__init__.py +0 -0
- {fred_oss-0.35.0 → fred_oss-0.37.0}/src/main/fred/worker/runner/plugins/_local.py +0 -0
- {fred_oss-0.35.0 → fred_oss-0.37.0}/src/main/fred/worker/runner/plugins/_runpod.py +0 -0
- {fred_oss-0.35.0 → fred_oss-0.37.0}/src/main/fred/worker/runner/plugins/catalog.py +0 -0
- {fred_oss-0.35.0 → fred_oss-0.37.0}/src/main/fred/worker/runner/plugins/interface.py +0 -0
- {fred_oss-0.35.0 → fred_oss-0.37.0}/src/main/fred/worker/runner/rest/__init__.py +0 -0
- {fred_oss-0.35.0 → fred_oss-0.37.0}/src/main/fred/worker/runner/rest/auth.py +0 -0
- {fred_oss-0.35.0 → fred_oss-0.37.0}/src/main/fred/worker/runner/rest/cli_ext.py +0 -0
- {fred_oss-0.35.0 → fred_oss-0.37.0}/src/main/fred/worker/runner/rest/routers/__init__.py +0 -0
- {fred_oss-0.35.0 → fred_oss-0.37.0}/src/main/fred/worker/runner/rest/routers/_runner.py +0 -0
- {fred_oss-0.35.0 → fred_oss-0.37.0}/src/main/fred/worker/runner/rest/routers/catalog.py +0 -0
- {fred_oss-0.35.0 → fred_oss-0.37.0}/src/main/fred/worker/runner/rest/routers/interface.py +0 -0
- {fred_oss-0.35.0 → fred_oss-0.37.0}/src/main/fred/worker/runner/rest/server.py +0 -0
- {fred_oss-0.35.0 → fred_oss-0.37.0}/src/main/fred/worker/runner/rest/settings.py +0 -0
- {fred_oss-0.35.0 → fred_oss-0.37.0}/src/main/fred/worker/runner/settings.py +0 -0
- {fred_oss-0.35.0 → fred_oss-0.37.0}/src/main/fred/worker/runner/signal.py +0 -0
- {fred_oss-0.35.0 → fred_oss-0.37.0}/src/main/fred/worker/runner/status.py +0 -0
- {fred_oss-0.35.0 → fred_oss-0.37.0}/src/main/fred/worker/runner/utils.py +0 -0
- {fred_oss-0.35.0 → fred_oss-0.37.0}/src/main/fred_oss.egg-info/SOURCES.txt +0 -0
- {fred_oss-0.35.0 → fred_oss-0.37.0}/src/main/fred_oss.egg-info/dependency_links.txt +0 -0
- {fred_oss-0.35.0 → fred_oss-0.37.0}/src/main/fred_oss.egg-info/entry_points.txt +0 -0
- {fred_oss-0.35.0 → fred_oss-0.37.0}/src/main/fred_oss.egg-info/requires.txt +0 -0
- {fred_oss-0.35.0 → fred_oss-0.37.0}/src/main/fred_oss.egg-info/top_level.txt +0 -0
|
@@ -228,12 +228,20 @@ class Future(MonadInterface[A]):
|
|
|
228
228
|
def map(self, function: Callable[[A], B]) -> 'Future[B]':
|
|
229
229
|
"""Applies a function to the result of the future, returning a new future.
|
|
230
230
|
This method allows for transforming the result of a future without blocking.
|
|
231
|
+
|
|
232
|
+
Original implementation:
|
|
233
|
+
return self.flat_map(function=lambda value: type(self).from_value(function(value)))
|
|
234
|
+
|
|
235
|
+
However, that implementation would create an intermediate Future just to
|
|
236
|
+
hold the transformed value, which is unnecessary overhead. Instead, we can directly create a new Future
|
|
237
|
+
that applies the transformation function to the result of the current future.
|
|
238
|
+
|
|
231
239
|
Args:
|
|
232
240
|
function (Callable[[A], B]): A function that takes the result of the current future
|
|
233
241
|
and returns a new value.
|
|
234
242
|
Returns: Future[B]: A new Future containing the transformed result.
|
|
235
243
|
"""
|
|
236
|
-
return
|
|
244
|
+
return Future(function=lambda: function(self.wait_and_resolve()))
|
|
237
245
|
|
|
238
246
|
@classmethod
|
|
239
247
|
def pullsync(
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
0.37.0
|
|
@@ -88,6 +88,34 @@ class RunnerClient:
|
|
|
88
88
|
def fetch_status(request_id: str) -> Optional[str]:
|
|
89
89
|
return FutureResult._get_status_key(future_id=request_id).get()
|
|
90
90
|
|
|
91
|
+
def _pullsync(
|
|
92
|
+
self,
|
|
93
|
+
request_id: str,
|
|
94
|
+
retry_sync: int = 10,
|
|
95
|
+
retry_delay: float = 0.2,
|
|
96
|
+
retry_backoff_rate: float = 0.1,
|
|
97
|
+
**kwargs,
|
|
98
|
+
):
|
|
99
|
+
from fred.future.utils import pull_future_result
|
|
100
|
+
|
|
101
|
+
if not self._is_ready_for_pullsync(
|
|
102
|
+
request_id=request_id,
|
|
103
|
+
retry_sync=retry_sync,
|
|
104
|
+
retry_delay=retry_delay,
|
|
105
|
+
retry_backoff_rate=retry_backoff_rate,
|
|
106
|
+
# Always fail in pullsync to raise an exception if not ready.
|
|
107
|
+
# In addition, this will be caught by the Future to propagate the exception.
|
|
108
|
+
fail=True,
|
|
109
|
+
):
|
|
110
|
+
raise ValueError(f"The provided request_id '{request_id}' is not ready for pullsync.")
|
|
111
|
+
|
|
112
|
+
return pull_future_result(
|
|
113
|
+
future_id=request_id,
|
|
114
|
+
retry_delay=retry_delay,
|
|
115
|
+
retry_backoff_rate=retry_backoff_rate,
|
|
116
|
+
**kwargs
|
|
117
|
+
)
|
|
118
|
+
|
|
91
119
|
def pullsync(
|
|
92
120
|
self,
|
|
93
121
|
request_id: str,
|
|
@@ -96,18 +124,13 @@ class RunnerClient:
|
|
|
96
124
|
retry_backoff_rate: float = 0.1,
|
|
97
125
|
**kwargs,
|
|
98
126
|
) -> Future:
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
future = Future(
|
|
102
|
-
function=self._is_ready_for_pullsync,
|
|
127
|
+
return Future(
|
|
128
|
+
function=self._pullsync,
|
|
103
129
|
request_id=request_id,
|
|
104
130
|
retry_sync=retry_sync,
|
|
105
131
|
retry_delay=retry_delay,
|
|
106
132
|
retry_backoff_rate=retry_backoff_rate,
|
|
107
|
-
|
|
108
|
-
)
|
|
109
|
-
return future.flat_map(
|
|
110
|
-
lambda _: Future.pullsync(future_id=request_id, **kwargs)
|
|
133
|
+
**kwargs
|
|
111
134
|
)
|
|
112
135
|
|
|
113
136
|
def _is_ready_for_pullsync(
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
0.35.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
|
|
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
|
{fred_oss-0.35.0 → fred_oss-0.37.0}/src/main/fred/integrations/databricks/runtimes/__init__.py
RENAMED
|
File without changes
|
{fred_oss-0.35.0 → fred_oss-0.37.0}/src/main/fred/integrations/databricks/runtimes/scanner.py
RENAMED
|
File without changes
|
|
File without changes
|
{fred_oss-0.35.0 → fred_oss-0.37.0}/src/main/fred/integrations/databricks/wrappers/__init__.py
RENAMED
|
File without changes
|
{fred_oss-0.35.0 → fred_oss-0.37.0}/src/main/fred/integrations/databricks/wrappers/dbutils.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
|
|
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
|