fred-oss 0.46.0__tar.gz → 0.47.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.46.0/src/main/fred_oss.egg-info → fred_oss-0.47.0}/PKG-INFO +1 -1
- fred_oss-0.47.0/src/main/fred/version +1 -0
- {fred_oss-0.46.0 → fred_oss-0.47.0}/src/main/fred/worker/runner/rest/routers/_runner.py +25 -0
- {fred_oss-0.46.0 → fred_oss-0.47.0/src/main/fred_oss.egg-info}/PKG-INFO +1 -1
- fred_oss-0.46.0/src/main/fred/version +0 -1
- {fred_oss-0.46.0 → fred_oss-0.47.0}/MANIFEST.in +0 -0
- {fred_oss-0.46.0 → fred_oss-0.47.0}/NOTICE.txt +0 -0
- {fred_oss-0.46.0 → fred_oss-0.47.0}/README.md +0 -0
- {fred_oss-0.46.0 → fred_oss-0.47.0}/requirements.txt +0 -0
- {fred_oss-0.46.0 → fred_oss-0.47.0}/setup.cfg +0 -0
- {fred_oss-0.46.0 → fred_oss-0.47.0}/setup.py +0 -0
- {fred_oss-0.46.0 → fred_oss-0.47.0}/src/main/fred/cli/__init__.py +0 -0
- {fred_oss-0.46.0 → fred_oss-0.47.0}/src/main/fred/cli/__main__.py +0 -0
- {fred_oss-0.46.0 → fred_oss-0.47.0}/src/main/fred/cli/interface.py +0 -0
- {fred_oss-0.46.0 → fred_oss-0.47.0}/src/main/fred/cli/main.py +0 -0
- {fred_oss-0.46.0 → fred_oss-0.47.0}/src/main/fred/dao/__init__.py +0 -0
- {fred_oss-0.46.0 → fred_oss-0.47.0}/src/main/fred/dao/comp/__init__.py +0 -0
- {fred_oss-0.46.0 → fred_oss-0.47.0}/src/main/fred/dao/comp/_keyval.py +0 -0
- {fred_oss-0.46.0 → fred_oss-0.47.0}/src/main/fred/dao/comp/_pubsub.py +0 -0
- {fred_oss-0.46.0 → fred_oss-0.47.0}/src/main/fred/dao/comp/_queue.py +0 -0
- {fred_oss-0.46.0 → fred_oss-0.47.0}/src/main/fred/dao/comp/catalog.py +0 -0
- {fred_oss-0.46.0 → fred_oss-0.47.0}/src/main/fred/dao/comp/interface.py +0 -0
- {fred_oss-0.46.0 → fred_oss-0.47.0}/src/main/fred/dao/service/__init__.py +0 -0
- {fred_oss-0.46.0 → fred_oss-0.47.0}/src/main/fred/dao/service/_redis.py +0 -0
- {fred_oss-0.46.0 → fred_oss-0.47.0}/src/main/fred/dao/service/_stdlib.py +0 -0
- {fred_oss-0.46.0 → fred_oss-0.47.0}/src/main/fred/dao/service/catalog.py +0 -0
- {fred_oss-0.46.0 → fred_oss-0.47.0}/src/main/fred/dao/service/interface.py +0 -0
- {fred_oss-0.46.0 → fred_oss-0.47.0}/src/main/fred/dao/service/utils.py +0 -0
- {fred_oss-0.46.0 → fred_oss-0.47.0}/src/main/fred/future/__init__.py +0 -0
- {fred_oss-0.46.0 → fred_oss-0.47.0}/src/main/fred/future/callback/__init__.py +0 -0
- {fred_oss-0.46.0 → fred_oss-0.47.0}/src/main/fred/future/callback/_function.py +0 -0
- {fred_oss-0.46.0 → fred_oss-0.47.0}/src/main/fred/future/callback/catalog.py +0 -0
- {fred_oss-0.46.0 → fred_oss-0.47.0}/src/main/fred/future/callback/interface.py +0 -0
- {fred_oss-0.46.0 → fred_oss-0.47.0}/src/main/fred/future/impl.py +0 -0
- {fred_oss-0.46.0 → fred_oss-0.47.0}/src/main/fred/future/result.py +0 -0
- {fred_oss-0.46.0 → fred_oss-0.47.0}/src/main/fred/future/settings.py +0 -0
- {fred_oss-0.46.0 → fred_oss-0.47.0}/src/main/fred/future/utils.py +0 -0
- {fred_oss-0.46.0 → fred_oss-0.47.0}/src/main/fred/integrations/databricks/__init__.py +0 -0
- {fred_oss-0.46.0 → fred_oss-0.47.0}/src/main/fred/integrations/databricks/cli_ext.py +0 -0
- {fred_oss-0.46.0 → fred_oss-0.47.0}/src/main/fred/integrations/databricks/runtime.py +0 -0
- {fred_oss-0.46.0 → fred_oss-0.47.0}/src/main/fred/integrations/databricks/runtimes/__init__.py +0 -0
- {fred_oss-0.46.0 → fred_oss-0.47.0}/src/main/fred/integrations/databricks/runtimes/scanner.py +0 -0
- {fred_oss-0.46.0 → fred_oss-0.47.0}/src/main/fred/integrations/databricks/runtimes/sync.py +0 -0
- {fred_oss-0.46.0 → fred_oss-0.47.0}/src/main/fred/integrations/databricks/wrappers/__init__.py +0 -0
- {fred_oss-0.46.0 → fred_oss-0.47.0}/src/main/fred/integrations/databricks/wrappers/dbutils.py +0 -0
- {fred_oss-0.46.0 → fred_oss-0.47.0}/src/main/fred/integrations/runpod/__init__.py +0 -0
- {fred_oss-0.46.0 → fred_oss-0.47.0}/src/main/fred/integrations/runpod/cli_ext.py +0 -0
- {fred_oss-0.46.0 → fred_oss-0.47.0}/src/main/fred/integrations/runpod/helper.py +0 -0
- {fred_oss-0.46.0 → fred_oss-0.47.0}/src/main/fred/maturity.py +0 -0
- {fred_oss-0.46.0 → fred_oss-0.47.0}/src/main/fred/monad/__init__.py +0 -0
- {fred_oss-0.46.0 → fred_oss-0.47.0}/src/main/fred/monad/_either.py +0 -0
- {fred_oss-0.46.0 → fred_oss-0.47.0}/src/main/fred/monad/catalog.py +0 -0
- {fred_oss-0.46.0 → fred_oss-0.47.0}/src/main/fred/monad/interface.py +0 -0
- {fred_oss-0.46.0 → fred_oss-0.47.0}/src/main/fred/settings.py +0 -0
- {fred_oss-0.46.0 → fred_oss-0.47.0}/src/main/fred/utils/__init__.py +0 -0
- {fred_oss-0.46.0 → fred_oss-0.47.0}/src/main/fred/utils/dateops.py +0 -0
- {fred_oss-0.46.0 → fred_oss-0.47.0}/src/main/fred/utils/runtime.py +0 -0
- {fred_oss-0.46.0 → fred_oss-0.47.0}/src/main/fred/version.py +0 -0
- {fred_oss-0.46.0 → fred_oss-0.47.0}/src/main/fred/worker/__init__.py +0 -0
- {fred_oss-0.46.0 → fred_oss-0.47.0}/src/main/fred/worker/interface.py +0 -0
- {fred_oss-0.46.0 → fred_oss-0.47.0}/src/main/fred/worker/runner/__init__.py +0 -0
- {fred_oss-0.46.0 → fred_oss-0.47.0}/src/main/fred/worker/runner/backend.py +0 -0
- {fred_oss-0.46.0 → fred_oss-0.47.0}/src/main/fred/worker/runner/client.py +0 -0
- {fred_oss-0.46.0 → fred_oss-0.47.0}/src/main/fred/worker/runner/handler.py +0 -0
- {fred_oss-0.46.0 → fred_oss-0.47.0}/src/main/fred/worker/runner/model/__init__.py +0 -0
- {fred_oss-0.46.0 → fred_oss-0.47.0}/src/main/fred/worker/runner/model/_handler.py +0 -0
- {fred_oss-0.46.0 → fred_oss-0.47.0}/src/main/fred/worker/runner/model/_item.py +0 -0
- {fred_oss-0.46.0 → fred_oss-0.47.0}/src/main/fred/worker/runner/model/_request.py +0 -0
- {fred_oss-0.46.0 → fred_oss-0.47.0}/src/main/fred/worker/runner/model/_runner_spec.py +0 -0
- {fred_oss-0.46.0 → fred_oss-0.47.0}/src/main/fred/worker/runner/model/catalog.py +0 -0
- {fred_oss-0.46.0 → fred_oss-0.47.0}/src/main/fred/worker/runner/model/interface.py +0 -0
- {fred_oss-0.46.0 → fred_oss-0.47.0}/src/main/fred/worker/runner/plugins/__init__.py +0 -0
- {fred_oss-0.46.0 → fred_oss-0.47.0}/src/main/fred/worker/runner/plugins/_local.py +0 -0
- {fred_oss-0.46.0 → fred_oss-0.47.0}/src/main/fred/worker/runner/plugins/_runpod.py +0 -0
- {fred_oss-0.46.0 → fred_oss-0.47.0}/src/main/fred/worker/runner/plugins/catalog.py +0 -0
- {fred_oss-0.46.0 → fred_oss-0.47.0}/src/main/fred/worker/runner/plugins/interface.py +0 -0
- {fred_oss-0.46.0 → fred_oss-0.47.0}/src/main/fred/worker/runner/rest/__init__.py +0 -0
- {fred_oss-0.46.0 → fred_oss-0.47.0}/src/main/fred/worker/runner/rest/auth.py +0 -0
- {fred_oss-0.46.0 → fred_oss-0.47.0}/src/main/fred/worker/runner/rest/cli_ext.py +0 -0
- {fred_oss-0.46.0 → fred_oss-0.47.0}/src/main/fred/worker/runner/rest/routers/__init__.py +0 -0
- {fred_oss-0.46.0 → fred_oss-0.47.0}/src/main/fred/worker/runner/rest/routers/catalog.py +0 -0
- {fred_oss-0.46.0 → fred_oss-0.47.0}/src/main/fred/worker/runner/rest/routers/interface.py +0 -0
- {fred_oss-0.46.0 → fred_oss-0.47.0}/src/main/fred/worker/runner/rest/server.py +0 -0
- {fred_oss-0.46.0 → fred_oss-0.47.0}/src/main/fred/worker/runner/rest/settings.py +0 -0
- {fred_oss-0.46.0 → fred_oss-0.47.0}/src/main/fred/worker/runner/settings.py +0 -0
- {fred_oss-0.46.0 → fred_oss-0.47.0}/src/main/fred/worker/runner/signal.py +0 -0
- {fred_oss-0.46.0 → fred_oss-0.47.0}/src/main/fred/worker/runner/status.py +0 -0
- {fred_oss-0.46.0 → fred_oss-0.47.0}/src/main/fred/worker/runner/utils.py +0 -0
- {fred_oss-0.46.0 → fred_oss-0.47.0}/src/main/fred/worker/settings.py +0 -0
- {fred_oss-0.46.0 → fred_oss-0.47.0}/src/main/fred_oss.egg-info/SOURCES.txt +0 -0
- {fred_oss-0.46.0 → fred_oss-0.47.0}/src/main/fred_oss.egg-info/dependency_links.txt +0 -0
- {fred_oss-0.46.0 → fred_oss-0.47.0}/src/main/fred_oss.egg-info/entry_points.txt +0 -0
- {fred_oss-0.46.0 → fred_oss-0.47.0}/src/main/fred_oss.egg-info/requires.txt +0 -0
- {fred_oss-0.46.0 → fred_oss-0.47.0}/src/main/fred_oss.egg-info/top_level.txt +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
0.47.0
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
from dataclasses import dataclass
|
|
2
|
+
from typing import Optional
|
|
2
3
|
|
|
4
|
+
from fred.future import Future
|
|
3
5
|
from fred.settings import logger_manager
|
|
4
6
|
from fred.utils.dateops import datetime_utcnow
|
|
5
7
|
from fred.worker.runner.rest.routers.interface import RouterInterface
|
|
@@ -86,6 +88,21 @@ class RunnerRouterMethods:
|
|
|
86
88
|
"dispatched_at": datetime_utcnow().isoformat(),
|
|
87
89
|
}
|
|
88
90
|
|
|
91
|
+
def runner_output(self, request_id: str, nonblocking: bool = False, timeout: Optional[float] = None) -> dict:
|
|
92
|
+
|
|
93
|
+
output_requested_at = datetime_utcnow().isoformat()
|
|
94
|
+
# Subscribe to the future result using the request_id
|
|
95
|
+
future = Future.subscribe(future_id=request_id)
|
|
96
|
+
if nonblocking:
|
|
97
|
+
# TODO: Implement non-blocking fetch logic... let's ensure it's worth the effort.
|
|
98
|
+
raise NotImplementedError("Non-blocking fetch not implemented yet...")
|
|
99
|
+
return {
|
|
100
|
+
"request_id": request_id,
|
|
101
|
+
"output_requested_at": output_requested_at,
|
|
102
|
+
"output_delivered_at": datetime_utcnow().isoformat(),
|
|
103
|
+
"output": future.wait_and_resolve(timeout=timeout),
|
|
104
|
+
}
|
|
105
|
+
|
|
89
106
|
|
|
90
107
|
@dataclass(frozen=True, slots=False)
|
|
91
108
|
class RunnerRouter(RouterInterface.with_backend(), RunnerRouterMethods):
|
|
@@ -123,3 +140,11 @@ class RunnerRouter(RouterInterface.with_backend(), RunnerRouterMethods):
|
|
|
123
140
|
summary="Execute a task by dispatching a request to the specified queue.",
|
|
124
141
|
response_description="Details about the dispatched request.",
|
|
125
142
|
)
|
|
143
|
+
self.router.add_api_route(
|
|
144
|
+
"/output/{request_id}",
|
|
145
|
+
self.runner_output,
|
|
146
|
+
methods=["GET"],
|
|
147
|
+
tags=["Runner"],
|
|
148
|
+
summary="Fetch the output of a previously dispatched request.",
|
|
149
|
+
response_description="The output of the request.",
|
|
150
|
+
)
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
0.46.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
|
|
File without changes
|
|
File without changes
|
{fred_oss-0.46.0 → fred_oss-0.47.0}/src/main/fred/integrations/databricks/runtimes/__init__.py
RENAMED
|
File without changes
|
{fred_oss-0.46.0 → fred_oss-0.47.0}/src/main/fred/integrations/databricks/runtimes/scanner.py
RENAMED
|
File without changes
|
|
File without changes
|
{fred_oss-0.46.0 → fred_oss-0.47.0}/src/main/fred/integrations/databricks/wrappers/__init__.py
RENAMED
|
File without changes
|
{fred_oss-0.46.0 → fred_oss-0.47.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
|
|
File without changes
|