mlrun 1.7.0rc34__py3-none-any.whl → 1.7.0rc35__py3-none-any.whl
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.
Potentially problematic release.
This version of mlrun might be problematic. Click here for more details.
- mlrun/artifacts/base.py +1 -0
- mlrun/common/schemas/__init__.py +0 -1
- mlrun/common/schemas/model_monitoring/__init__.py +1 -2
- mlrun/common/schemas/model_monitoring/constants.py +3 -16
- mlrun/common/schemas/notification.py +1 -1
- mlrun/common/types.py +1 -0
- mlrun/config.py +6 -7
- mlrun/datastore/sources.py +8 -4
- mlrun/db/base.py +2 -3
- mlrun/db/httpdb.py +3 -3
- mlrun/model.py +1 -1
- mlrun/model_monitoring/applications/evidently_base.py +4 -5
- mlrun/model_monitoring/db/stores/sqldb/sql_store.py +5 -0
- mlrun/model_monitoring/db/stores/v3io_kv/kv_store.py +2 -2
- mlrun/model_monitoring/db/tsdb/base.py +6 -3
- mlrun/model_monitoring/db/tsdb/tdengine/stream_graph_steps.py +0 -3
- mlrun/model_monitoring/db/tsdb/v3io/stream_graph_steps.py +22 -3
- mlrun/model_monitoring/stream_processing.py +5 -153
- mlrun/projects/pipelines.py +76 -73
- mlrun/run.py +4 -0
- mlrun/runtimes/nuclio/application/application.py +25 -2
- mlrun/runtimes/nuclio/function.py +5 -0
- mlrun/runtimes/nuclio/serving.py +1 -1
- mlrun/runtimes/pod.py +2 -4
- mlrun/serving/states.py +3 -1
- mlrun/utils/helpers.py +27 -14
- mlrun/utils/version/version.json +2 -2
- {mlrun-1.7.0rc34.dist-info → mlrun-1.7.0rc35.dist-info}/METADATA +3 -1
- {mlrun-1.7.0rc34.dist-info → mlrun-1.7.0rc35.dist-info}/RECORD +33 -34
- {mlrun-1.7.0rc34.dist-info → mlrun-1.7.0rc35.dist-info}/WHEEL +1 -1
- mlrun/model_monitoring/prometheus.py +0 -216
- {mlrun-1.7.0rc34.dist-info → mlrun-1.7.0rc35.dist-info}/LICENSE +0 -0
- {mlrun-1.7.0rc34.dist-info → mlrun-1.7.0rc35.dist-info}/entry_points.txt +0 -0
- {mlrun-1.7.0rc34.dist-info → mlrun-1.7.0rc35.dist-info}/top_level.txt +0 -0
mlrun/projects/pipelines.py
CHANGED
|
@@ -404,12 +404,15 @@ class _PipelineRunStatus:
|
|
|
404
404
|
return self._exc
|
|
405
405
|
|
|
406
406
|
def wait_for_completion(self, timeout=None, expected_statuses=None):
|
|
407
|
-
|
|
408
|
-
self
|
|
407
|
+
returned_state = self._engine.wait_for_completion(
|
|
408
|
+
self,
|
|
409
409
|
project=self.project,
|
|
410
410
|
timeout=timeout,
|
|
411
411
|
expected_statuses=expected_statuses,
|
|
412
412
|
)
|
|
413
|
+
# TODO: returning a state is optional until all runners implement wait_for_completion
|
|
414
|
+
if returned_state:
|
|
415
|
+
self._state = returned_state
|
|
413
416
|
return self._state
|
|
414
417
|
|
|
415
418
|
def __str__(self):
|
|
@@ -458,6 +461,48 @@ class _PipelineRunner(abc.ABC):
|
|
|
458
461
|
def get_state(run_id, project=None):
|
|
459
462
|
pass
|
|
460
463
|
|
|
464
|
+
@staticmethod
|
|
465
|
+
def get_run_status(
|
|
466
|
+
project,
|
|
467
|
+
run: _PipelineRunStatus,
|
|
468
|
+
timeout=None,
|
|
469
|
+
expected_statuses=None,
|
|
470
|
+
notifiers: mlrun.utils.notifications.CustomNotificationPusher = None,
|
|
471
|
+
**kwargs,
|
|
472
|
+
):
|
|
473
|
+
timeout = timeout or 60 * 60
|
|
474
|
+
raise_error = None
|
|
475
|
+
state = ""
|
|
476
|
+
try:
|
|
477
|
+
if timeout:
|
|
478
|
+
state = run.wait_for_completion(
|
|
479
|
+
timeout=timeout, expected_statuses=expected_statuses
|
|
480
|
+
)
|
|
481
|
+
except RuntimeError as exc:
|
|
482
|
+
# push runs table also when we have errors
|
|
483
|
+
raise_error = exc
|
|
484
|
+
|
|
485
|
+
mldb = mlrun.db.get_run_db(secrets=project._secrets)
|
|
486
|
+
runs = mldb.list_runs(project=project.name, labels=f"workflow={run.run_id}")
|
|
487
|
+
|
|
488
|
+
# TODO: The below section duplicates notifiers.push_pipeline_run_results() logic. We should use it instead.
|
|
489
|
+
errors_counter = 0
|
|
490
|
+
for r in runs:
|
|
491
|
+
if r["status"].get("state", "") == "error":
|
|
492
|
+
errors_counter += 1
|
|
493
|
+
|
|
494
|
+
text = _PipelineRunner._generate_workflow_finished_message(
|
|
495
|
+
run.run_id, errors_counter, run._state
|
|
496
|
+
)
|
|
497
|
+
|
|
498
|
+
notifiers = notifiers or project.notifiers
|
|
499
|
+
if notifiers:
|
|
500
|
+
notifiers.push(text, "info", runs)
|
|
501
|
+
|
|
502
|
+
if raise_error:
|
|
503
|
+
raise raise_error
|
|
504
|
+
return state or run._state, errors_counter, text
|
|
505
|
+
|
|
461
506
|
@staticmethod
|
|
462
507
|
def _get_handler(workflow_handler, workflow_spec, project, secrets):
|
|
463
508
|
if not (workflow_handler and callable(workflow_handler)):
|
|
@@ -474,16 +519,13 @@ class _PipelineRunner(abc.ABC):
|
|
|
474
519
|
return workflow_handler
|
|
475
520
|
|
|
476
521
|
@staticmethod
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
**kwargs,
|
|
485
|
-
):
|
|
486
|
-
pass
|
|
522
|
+
def _generate_workflow_finished_message(run_id, errors_counter, state):
|
|
523
|
+
text = f"Workflow {run_id} finished"
|
|
524
|
+
if errors_counter:
|
|
525
|
+
text += f" with {errors_counter} errors"
|
|
526
|
+
if state:
|
|
527
|
+
text += f", state={state}"
|
|
528
|
+
return text
|
|
487
529
|
|
|
488
530
|
|
|
489
531
|
class _KFPRunner(_PipelineRunner):
|
|
@@ -585,12 +627,14 @@ class _KFPRunner(_PipelineRunner):
|
|
|
585
627
|
return _PipelineRunStatus(run_id, cls, project=project, workflow=workflow_spec)
|
|
586
628
|
|
|
587
629
|
@staticmethod
|
|
588
|
-
def wait_for_completion(
|
|
589
|
-
|
|
590
|
-
|
|
630
|
+
def wait_for_completion(run, project=None, timeout=None, expected_statuses=None):
|
|
631
|
+
logger.info(
|
|
632
|
+
"Waiting for pipeline run completion", run_id=run.run_id, project=project
|
|
633
|
+
)
|
|
634
|
+
timeout = timeout or 60 * 60
|
|
591
635
|
project_name = project.metadata.name if project else ""
|
|
592
636
|
run_info = wait_for_pipeline_completion(
|
|
593
|
-
run_id,
|
|
637
|
+
run.run_id,
|
|
594
638
|
timeout=timeout,
|
|
595
639
|
expected_statuses=expected_statuses,
|
|
596
640
|
project=project_name,
|
|
@@ -608,51 +652,6 @@ class _KFPRunner(_PipelineRunner):
|
|
|
608
652
|
return resp["run"].get("status", "")
|
|
609
653
|
return ""
|
|
610
654
|
|
|
611
|
-
@staticmethod
|
|
612
|
-
def get_run_status(
|
|
613
|
-
project,
|
|
614
|
-
run,
|
|
615
|
-
timeout=None,
|
|
616
|
-
expected_statuses=None,
|
|
617
|
-
notifiers: mlrun.utils.notifications.CustomNotificationPusher = None,
|
|
618
|
-
**kwargs,
|
|
619
|
-
):
|
|
620
|
-
if timeout is None:
|
|
621
|
-
timeout = 60 * 60
|
|
622
|
-
state = ""
|
|
623
|
-
raise_error = None
|
|
624
|
-
try:
|
|
625
|
-
if timeout:
|
|
626
|
-
logger.info("Waiting for pipeline run completion")
|
|
627
|
-
state = run.wait_for_completion(
|
|
628
|
-
timeout=timeout, expected_statuses=expected_statuses
|
|
629
|
-
)
|
|
630
|
-
except RuntimeError as exc:
|
|
631
|
-
# push runs table also when we have errors
|
|
632
|
-
raise_error = exc
|
|
633
|
-
|
|
634
|
-
mldb = mlrun.db.get_run_db(secrets=project._secrets)
|
|
635
|
-
runs = mldb.list_runs(project=project.name, labels=f"workflow={run.run_id}")
|
|
636
|
-
|
|
637
|
-
# TODO: The below section duplicates notifiers.push_pipeline_run_results() logic. We should use it instead.
|
|
638
|
-
had_errors = 0
|
|
639
|
-
for r in runs:
|
|
640
|
-
if r["status"].get("state", "") == "error":
|
|
641
|
-
had_errors += 1
|
|
642
|
-
|
|
643
|
-
text = f"Workflow {run.run_id} finished"
|
|
644
|
-
if had_errors:
|
|
645
|
-
text += f" with {had_errors} errors"
|
|
646
|
-
if state:
|
|
647
|
-
text += f", state={state}"
|
|
648
|
-
|
|
649
|
-
notifiers = notifiers or project.notifiers
|
|
650
|
-
notifiers.push(text, "info", runs)
|
|
651
|
-
|
|
652
|
-
if raise_error:
|
|
653
|
-
raise raise_error
|
|
654
|
-
return state, had_errors, text
|
|
655
|
-
|
|
656
655
|
|
|
657
656
|
class _LocalRunner(_PipelineRunner):
|
|
658
657
|
"""local pipelines runner"""
|
|
@@ -732,18 +731,10 @@ class _LocalRunner(_PipelineRunner):
|
|
|
732
731
|
return ""
|
|
733
732
|
|
|
734
733
|
@staticmethod
|
|
735
|
-
def wait_for_completion(
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
def get_run_status(
|
|
740
|
-
project,
|
|
741
|
-
run,
|
|
742
|
-
timeout=None,
|
|
743
|
-
expected_statuses=None,
|
|
744
|
-
notifiers: mlrun.utils.notifications.CustomNotificationPusher = None,
|
|
745
|
-
**kwargs,
|
|
746
|
-
):
|
|
734
|
+
def wait_for_completion(run, project=None, timeout=None, expected_statuses=None):
|
|
735
|
+
# TODO: local runner blocks for the duration of the pipeline.
|
|
736
|
+
# Therefore usually there will be nothing to wait for.
|
|
737
|
+
# However, users may run functions with watch=False and then it can be useful to wait for the runs here.
|
|
747
738
|
pass
|
|
748
739
|
|
|
749
740
|
|
|
@@ -924,13 +915,25 @@ class _RemoteRunner(_PipelineRunner):
|
|
|
924
915
|
elif inner_engine.engine == _LocalRunner.engine:
|
|
925
916
|
mldb = mlrun.db.get_run_db(secrets=project._secrets)
|
|
926
917
|
pipeline_runner_run = mldb.read_run(run.run_id, project=project.name)
|
|
918
|
+
|
|
927
919
|
pipeline_runner_run = mlrun.run.RunObject.from_dict(pipeline_runner_run)
|
|
920
|
+
|
|
921
|
+
# here we are waiting for the pipeline run to complete and refreshing after that the pipeline run from the
|
|
922
|
+
# db
|
|
923
|
+
# TODO: do it with timeout
|
|
928
924
|
pipeline_runner_run.logs(db=mldb)
|
|
929
925
|
pipeline_runner_run.refresh()
|
|
930
926
|
run._state = mlrun.common.runtimes.constants.RunStates.run_state_to_pipeline_run_status(
|
|
931
927
|
pipeline_runner_run.status.state
|
|
932
928
|
)
|
|
933
929
|
run._exc = pipeline_runner_run.status.error
|
|
930
|
+
return _LocalRunner.get_run_status(
|
|
931
|
+
project,
|
|
932
|
+
run,
|
|
933
|
+
timeout,
|
|
934
|
+
expected_statuses,
|
|
935
|
+
notifiers=notifiers,
|
|
936
|
+
)
|
|
934
937
|
|
|
935
938
|
else:
|
|
936
939
|
raise mlrun.errors.MLRunInvalidArgumentError(
|
mlrun/run.py
CHANGED
|
@@ -791,6 +791,10 @@ def code_to_function(
|
|
|
791
791
|
raise ValueError("code_output option is only used with notebooks")
|
|
792
792
|
|
|
793
793
|
if is_nuclio:
|
|
794
|
+
mlrun.utils.helpers.validate_single_def_handler(
|
|
795
|
+
function_kind=sub_kind, code=code
|
|
796
|
+
)
|
|
797
|
+
|
|
794
798
|
runtime = RuntimeKinds.resolve_nuclio_runtime(kind, sub_kind)
|
|
795
799
|
# default_handler is only used in :mlrun sub kind, determine the handler to invoke in function.run()
|
|
796
800
|
runtime.spec.default_handler = handler if sub_kind == "mlrun" else ""
|
|
@@ -27,7 +27,7 @@ from mlrun.runtimes.nuclio.api_gateway import (
|
|
|
27
27
|
APIGatewaySpec,
|
|
28
28
|
)
|
|
29
29
|
from mlrun.runtimes.nuclio.function import NuclioSpec, NuclioStatus
|
|
30
|
-
from mlrun.utils import logger
|
|
30
|
+
from mlrun.utils import logger, update_in
|
|
31
31
|
|
|
32
32
|
|
|
33
33
|
class ApplicationSpec(NuclioSpec):
|
|
@@ -293,7 +293,7 @@ class ApplicationRuntime(RemoteRuntime):
|
|
|
293
293
|
|
|
294
294
|
:return: True if the function is ready (deployed)
|
|
295
295
|
"""
|
|
296
|
-
if self.requires_build() or force_build:
|
|
296
|
+
if (self.requires_build() and not self.spec.image) or force_build:
|
|
297
297
|
self._fill_credentials()
|
|
298
298
|
self._build_application_image(
|
|
299
299
|
builder_env=builder_env,
|
|
@@ -367,6 +367,12 @@ class ApplicationRuntime(RemoteRuntime):
|
|
|
367
367
|
)
|
|
368
368
|
|
|
369
369
|
def from_image(self, image):
|
|
370
|
+
"""
|
|
371
|
+
Deploy the function with an existing nuclio processor image.
|
|
372
|
+
This applies only for the reverse proxy and not the application image.
|
|
373
|
+
|
|
374
|
+
:param image: image name
|
|
375
|
+
"""
|
|
370
376
|
super().from_image(image)
|
|
371
377
|
# nuclio implementation detail - when providing the image and emptying out the source code and build source,
|
|
372
378
|
# nuclio skips rebuilding the image and simply takes the prebuilt image
|
|
@@ -374,6 +380,17 @@ class ApplicationRuntime(RemoteRuntime):
|
|
|
374
380
|
self.status.application_source = self.spec.build.source
|
|
375
381
|
self.spec.build.source = ""
|
|
376
382
|
|
|
383
|
+
# save the image in the status, so we won't repopulate the function source code
|
|
384
|
+
self.status.container_image = image
|
|
385
|
+
|
|
386
|
+
# ensure golang runtime and handler for the reverse proxy
|
|
387
|
+
self.spec.nuclio_runtime = "golang"
|
|
388
|
+
update_in(
|
|
389
|
+
self.spec.base_spec,
|
|
390
|
+
"spec.handler",
|
|
391
|
+
"main:Handler",
|
|
392
|
+
)
|
|
393
|
+
|
|
377
394
|
@classmethod
|
|
378
395
|
def get_filename_and_handler(cls) -> (str, str):
|
|
379
396
|
reverse_proxy_file_path = pathlib.Path(__file__).parent / "reverse_proxy.go"
|
|
@@ -549,6 +566,12 @@ class ApplicationRuntime(RemoteRuntime):
|
|
|
549
566
|
self.set_env("SIDECAR_PORT", self.spec.internal_application_port)
|
|
550
567
|
self.set_env("SIDECAR_HOST", "http://localhost")
|
|
551
568
|
|
|
569
|
+
# configure the sidecar container as the default container for logging purposes
|
|
570
|
+
self.set_config(
|
|
571
|
+
"metadata.annotations",
|
|
572
|
+
{"kubectl.kubernetes.io/default-container": self.status.sidecar_name},
|
|
573
|
+
)
|
|
574
|
+
|
|
552
575
|
def _sync_api_gateway(self):
|
|
553
576
|
if not self.status.api_gateway_name:
|
|
554
577
|
return
|
|
@@ -446,6 +446,11 @@ class RemoteRuntime(KubeResource):
|
|
|
446
446
|
return self
|
|
447
447
|
|
|
448
448
|
def from_image(self, image):
|
|
449
|
+
"""
|
|
450
|
+
Deploy the function with an existing nuclio processor image.
|
|
451
|
+
|
|
452
|
+
:param image: image name
|
|
453
|
+
"""
|
|
449
454
|
config = nuclio.config.new_config()
|
|
450
455
|
update_in(
|
|
451
456
|
config,
|
mlrun/runtimes/nuclio/serving.py
CHANGED
|
@@ -480,7 +480,7 @@ class ServingRuntime(RemoteRuntime):
|
|
|
480
480
|
trigger_args = stream.trigger_args or {}
|
|
481
481
|
|
|
482
482
|
engine = self.spec.graph.engine or "async"
|
|
483
|
-
if mlrun.mlconf.
|
|
483
|
+
if mlrun.mlconf.is_explicit_ack_enabled() and engine == "async":
|
|
484
484
|
trigger_args["explicit_ack_mode"] = trigger_args.get(
|
|
485
485
|
"explicit_ack_mode", "explicitOnly"
|
|
486
486
|
)
|
mlrun/runtimes/pod.py
CHANGED
|
@@ -215,9 +215,7 @@ class KubeResourceSpec(FunctionSpec):
|
|
|
215
215
|
image_pull_secret or mlrun.mlconf.function.spec.image_pull_secret.default
|
|
216
216
|
)
|
|
217
217
|
self.node_name = node_name
|
|
218
|
-
self.node_selector =
|
|
219
|
-
node_selector or mlrun.mlconf.get_default_function_node_selector()
|
|
220
|
-
)
|
|
218
|
+
self.node_selector = node_selector or {}
|
|
221
219
|
self._affinity = affinity
|
|
222
220
|
self.priority_class_name = (
|
|
223
221
|
priority_class_name or mlrun.mlconf.default_function_priority_class_name
|
|
@@ -532,7 +530,7 @@ class KubeResourceSpec(FunctionSpec):
|
|
|
532
530
|
return
|
|
533
531
|
|
|
534
532
|
# merge node selectors - precedence to existing node selector
|
|
535
|
-
self.node_selector = mlrun.utils.helpers.
|
|
533
|
+
self.node_selector = mlrun.utils.helpers.merge_dicts_with_precedence(
|
|
536
534
|
node_selector, self.node_selector
|
|
537
535
|
)
|
|
538
536
|
|
mlrun/serving/states.py
CHANGED
|
@@ -1684,7 +1684,9 @@ def _init_async_objects(context, steps):
|
|
|
1684
1684
|
wait_for_result = True
|
|
1685
1685
|
|
|
1686
1686
|
source_args = context.get_param("source_args", {})
|
|
1687
|
-
explicit_ack =
|
|
1687
|
+
explicit_ack = (
|
|
1688
|
+
is_explicit_ack_supported(context) and mlrun.mlconf.is_explicit_ack_enabled()
|
|
1689
|
+
)
|
|
1688
1690
|
|
|
1689
1691
|
# TODO: Change to AsyncEmitSource once we can drop support for nuclio<1.12.10
|
|
1690
1692
|
default_source = storey.SyncEmitSource(
|
mlrun/utils/helpers.py
CHANGED
|
@@ -1618,28 +1618,25 @@ def additional_filters_warning(additional_filters, class_name):
|
|
|
1618
1618
|
)
|
|
1619
1619
|
|
|
1620
1620
|
|
|
1621
|
-
def
|
|
1621
|
+
def merge_dicts_with_precedence(*dicts: dict) -> dict:
|
|
1622
1622
|
"""
|
|
1623
|
-
Merge
|
|
1623
|
+
Merge multiple dictionaries with precedence given to keys from later dictionaries.
|
|
1624
1624
|
|
|
1625
|
-
This function merges
|
|
1626
|
-
|
|
1627
|
-
the value from
|
|
1625
|
+
This function merges an arbitrary number of dictionaries, where keys from dictionaries later
|
|
1626
|
+
in the argument list take precedence over keys from dictionaries earlier in the list. If all
|
|
1627
|
+
dictionaries contain the same key, the value from the last dictionary with that key will
|
|
1628
|
+
overwrite the values from earlier dictionaries.
|
|
1628
1629
|
|
|
1629
1630
|
Example:
|
|
1630
1631
|
>>> first_dict = {"key1": "value1", "key2": "value2"}
|
|
1631
1632
|
>>> second_dict = {"key2": "new_value2", "key3": "value3"}
|
|
1632
|
-
>>>
|
|
1633
|
-
|
|
1633
|
+
>>> third_dict = {"key3": "new_value3", "key4": "value4"}
|
|
1634
|
+
>>> merge_dicts_with_precedence(first_dict, second_dict, third_dict)
|
|
1635
|
+
{'key1': 'value1', 'key2': 'new_value2', 'key3': 'new_value3', 'key4': 'value4'}
|
|
1634
1636
|
|
|
1635
|
-
|
|
1636
|
-
- The merge operation uses the ** operator in Python, which combines key-value pairs
|
|
1637
|
-
from each dictionary. Later dictionaries take precedence when there are conflicting keys.
|
|
1637
|
+
- If no dictionaries are provided, the function returns an empty dictionary.
|
|
1638
1638
|
"""
|
|
1639
|
-
return {
|
|
1640
|
-
**(first_dict or {}),
|
|
1641
|
-
**(second_dict or {}),
|
|
1642
|
-
}
|
|
1639
|
+
return {k: v for d in dicts if d for k, v in d.items()}
|
|
1643
1640
|
|
|
1644
1641
|
|
|
1645
1642
|
def validate_component_version_compatibility(
|
|
@@ -1705,6 +1702,22 @@ def is_parquet_file(file_path, format_=None):
|
|
|
1705
1702
|
)
|
|
1706
1703
|
|
|
1707
1704
|
|
|
1705
|
+
def validate_single_def_handler(function_kind: str, code: str):
|
|
1706
|
+
# The name of MLRun's wrapper is 'handler', which is why the handler function name cannot be 'handler'
|
|
1707
|
+
# it would override MLRun's wrapper
|
|
1708
|
+
if function_kind == "mlrun":
|
|
1709
|
+
# Find all lines that start with "def handler("
|
|
1710
|
+
pattern = re.compile(r"^def handler\(", re.MULTILINE)
|
|
1711
|
+
matches = pattern.findall(code)
|
|
1712
|
+
|
|
1713
|
+
# Only MLRun's wrapper handler (footer) can be in the code
|
|
1714
|
+
if len(matches) > 1:
|
|
1715
|
+
raise mlrun.errors.MLRunInvalidArgumentError(
|
|
1716
|
+
"The code file contains a function named “handler“, which is reserved. "
|
|
1717
|
+
+ "Use a different name for your function."
|
|
1718
|
+
)
|
|
1719
|
+
|
|
1720
|
+
|
|
1708
1721
|
def _reload(module, max_recursion_depth):
|
|
1709
1722
|
"""Recursively reload modules."""
|
|
1710
1723
|
if max_recursion_depth <= 0:
|
mlrun/utils/version/version.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: mlrun
|
|
3
|
-
Version: 1.7.
|
|
3
|
+
Version: 1.7.0rc35
|
|
4
4
|
Summary: Tracking and config of machine learning runs
|
|
5
5
|
Home-page: https://github.com/mlrun/mlrun
|
|
6
6
|
Author: Yaron Haviv
|
|
@@ -68,6 +68,7 @@ Requires-Dist: dask ~=2023.9.0 ; extra == 'all'
|
|
|
68
68
|
Requires-Dist: databricks-sdk ~=0.13.0 ; extra == 'all'
|
|
69
69
|
Requires-Dist: distributed ~=2023.9.0 ; extra == 'all'
|
|
70
70
|
Requires-Dist: gcsfs <2024.4,>=2023.9.2 ; extra == 'all'
|
|
71
|
+
Requires-Dist: google-cloud-bigquery-storage ~=2.17 ; extra == 'all'
|
|
71
72
|
Requires-Dist: google-cloud-bigquery[bqstorage,pandas] ==3.14.1 ; extra == 'all'
|
|
72
73
|
Requires-Dist: google-cloud-storage ==2.14.0 ; extra == 'all'
|
|
73
74
|
Requires-Dist: google-cloud ==0.34 ; extra == 'all'
|
|
@@ -179,6 +180,7 @@ Requires-Dist: databricks-sdk ~=0.13.0 ; extra == 'databricks-sdk'
|
|
|
179
180
|
Provides-Extra: google-cloud
|
|
180
181
|
Requires-Dist: google-cloud-storage ==2.14.0 ; extra == 'google-cloud'
|
|
181
182
|
Requires-Dist: google-cloud-bigquery[bqstorage,pandas] ==3.14.1 ; extra == 'google-cloud'
|
|
183
|
+
Requires-Dist: google-cloud-bigquery-storage ~=2.17 ; extra == 'google-cloud'
|
|
182
184
|
Requires-Dist: google-cloud ==0.34 ; extra == 'google-cloud'
|
|
183
185
|
Provides-Extra: google-cloud-bigquery
|
|
184
186
|
Requires-Dist: google-cloud-bigquery[bqstorage,pandas] ==3.14.1 ; extra == 'google-cloud-bigquery'
|
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
mlrun/__init__.py,sha256=y08M1JcKXy5-9_5WaI9fn5aV5BxIQ5QkbduJK0OxWbA,7470
|
|
2
2
|
mlrun/__main__.py,sha256=iAifncsrQQx6ozXXmz7GH1OiNl8PA7KS3TnwlxnHGeo,45890
|
|
3
|
-
mlrun/config.py,sha256=
|
|
3
|
+
mlrun/config.py,sha256=S9W9efq39CQ3IOLkg8iwYt4RovYxTmHTLPpDbLZvWzk,66068
|
|
4
4
|
mlrun/errors.py,sha256=VpC_imeSz2twRMZZb7u90Zj29z6aO-tCxUHD3ZA_Axw,7465
|
|
5
5
|
mlrun/execution.py,sha256=Gv7mzzaf5y8fIEF0VVu8dSJYQp2uCezXDUiE60cGxWU,41970
|
|
6
6
|
mlrun/features.py,sha256=m17K_3l9Jktwb9dOwlHLTAPTlemsWrRF7dJhXUX0iJU,15429
|
|
7
7
|
mlrun/k8s_utils.py,sha256=WdUajadvAhTR7sAMQdwFqKeJMimuTyqm02VdwK1A4xU,7023
|
|
8
8
|
mlrun/lists.py,sha256=3PqBdcajdwhTe1XuFsAaHTuFVM2kjwepf31qqE82apg,8384
|
|
9
|
-
mlrun/model.py,sha256=
|
|
9
|
+
mlrun/model.py,sha256=ymGFzkTmxDb40UJPfOEEyC3Uffe7vDXQNguDCfaZfWo,79091
|
|
10
10
|
mlrun/render.py,sha256=n8SeY3ogVrsV02-7-H0lt1RmpkxGpbI-11RQx61Vq9E,13267
|
|
11
|
-
mlrun/run.py,sha256=
|
|
11
|
+
mlrun/run.py,sha256=5Tz7OPDKkbaRLzLOmEjVBYecZR_BKd0gqtkKt_v4SbE,43524
|
|
12
12
|
mlrun/secrets.py,sha256=ibtCK79u7JVBZF6F0SP1-xXXF5MyrLEUs_TCWiJAnlc,7798
|
|
13
13
|
mlrun/alerts/__init__.py,sha256=0gtG1BG0DXxFrXegIkjbM1XEN4sP9ODo0ucXrNld1hU,601
|
|
14
14
|
mlrun/alerts/alert.py,sha256=JJfMFF-o0j8oTAIkyXAQG0YbU-kZlIDl0A8ILQi8vfA,6510
|
|
15
15
|
mlrun/api/schemas/__init__.py,sha256=fEWH4I8hr5AdRJ7yoW44RlFB6NHkYDxyomP5J6ct1z4,14248
|
|
16
16
|
mlrun/artifacts/__init__.py,sha256=daGrLqltI1nE3ES30nm-tanUnxReRzfyxyaxNRx2zbc,1168
|
|
17
|
-
mlrun/artifacts/base.py,sha256=
|
|
17
|
+
mlrun/artifacts/base.py,sha256=EystjLta4XVdZP2x4nz1ZNlDUYKTIcFNfMVfBVseCHw,29168
|
|
18
18
|
mlrun/artifacts/dataset.py,sha256=O_2g2RFHYEAXIBX86mgyc0wBNOhWLT7NlYvxFeLNTuw,16505
|
|
19
19
|
mlrun/artifacts/manager.py,sha256=I_1mgQ0M8j9JgryFJsB2yN3Pv47oQM6Jfg1fotTPDX0,15323
|
|
20
20
|
mlrun/artifacts/model.py,sha256=ObUkqFMejYOtq0CDFdpYwzwhQ5bsHv0dHTysuVPJnbs,21102
|
|
@@ -23,7 +23,7 @@ mlrun/common/__init__.py,sha256=xY3wHC4TEJgez7qtnn1pQvHosi8-5UJOCtyGBS7FcGE,571
|
|
|
23
23
|
mlrun/common/constants.py,sha256=MdXxRPquVguW98WCnEUcJ9A46MOo-MrafFTk7QOK8BA,3052
|
|
24
24
|
mlrun/common/helpers.py,sha256=LRIULbCg8afKkPnzsZ99-B-JPVjcwR1G9vO--1rzRrQ,1387
|
|
25
25
|
mlrun/common/secrets.py,sha256=vc8WV82EZsCB5ENjUkObFOzZP59aZ1w8F82PTnqwBnc,5181
|
|
26
|
-
mlrun/common/types.py,sha256=
|
|
26
|
+
mlrun/common/types.py,sha256=APVFvumnHpCG-yXlt6OSioMfkyT-DADPiW3dGG3dUFQ,1057
|
|
27
27
|
mlrun/common/db/__init__.py,sha256=xY3wHC4TEJgez7qtnn1pQvHosi8-5UJOCtyGBS7FcGE,571
|
|
28
28
|
mlrun/common/db/sql_session.py,sha256=Znc8KE2oLy4lg3_vRki1sVlNx59TgDSOTCXfU561hBU,2659
|
|
29
29
|
mlrun/common/formatters/__init__.py,sha256=91yPb5xoLK7fTIOC5C7ndJMvyEBlQY6f0CjenLYbsZw,785
|
|
@@ -36,7 +36,7 @@ mlrun/common/formatters/run.py,sha256=eEBy1NEwGT9b98TWS2OetEbDnDrnHBIBVMrlXsxveo
|
|
|
36
36
|
mlrun/common/model_monitoring/__init__.py,sha256=x0EMEvxVjHsm858J1t6IEA9dtKTdFpJ9sKhss10ld8A,721
|
|
37
37
|
mlrun/common/model_monitoring/helpers.py,sha256=1CpxIDQPumFnpUB1eqcvCpLlyPFVeW2sL6prM-N5A1A,4405
|
|
38
38
|
mlrun/common/runtimes/constants.py,sha256=Rl0Sd8n_L7Imo-uF1LL9CJ5Szi0W1gUm36yrF8PXfSc,10989
|
|
39
|
-
mlrun/common/schemas/__init__.py,sha256=
|
|
39
|
+
mlrun/common/schemas/__init__.py,sha256=CUX4F6VeowqX5PzakB7xgGs2lJZAN42RMm1asB-kf1c,5227
|
|
40
40
|
mlrun/common/schemas/alert.py,sha256=Gb2eSjZLTkm-lGy_rQ_D4crEjCTdyf1N90bnIJmQ1H8,6574
|
|
41
41
|
mlrun/common/schemas/api_gateway.py,sha256=_1JyCFNP89dAcFxQE-C8Tj8o6TvPgV13aBzU3wRcM4g,6908
|
|
42
42
|
mlrun/common/schemas/artifact.py,sha256=V3ngobnzI1v2eoOroWBEedjAZu0ntCSIQ-LzsOK1Z9k,3570
|
|
@@ -55,7 +55,7 @@ mlrun/common/schemas/http.py,sha256=1PtYFhF6sqLSBRcuPMtYcUGmroBhaleqLmYidSdL9LM,
|
|
|
55
55
|
mlrun/common/schemas/hub.py,sha256=cuv_vpkO27XNCZzfytnUyi0k0ZA4wf_QRn5B0ZPoK-Y,4116
|
|
56
56
|
mlrun/common/schemas/k8s.py,sha256=nmMnhgjVMLem5jyumoG2eQKioGK9eUVhQnOSb3hG7yw,1395
|
|
57
57
|
mlrun/common/schemas/memory_reports.py,sha256=tpS3fpvxa6VcBpzCRzcZTt0fCF0h6ReUetYs7j6kdps,892
|
|
58
|
-
mlrun/common/schemas/notification.py,sha256=
|
|
58
|
+
mlrun/common/schemas/notification.py,sha256=vEYaz5wfTo3zGLkvf36uNdVdCExfmmGwoDWm3CUjUW8,1775
|
|
59
59
|
mlrun/common/schemas/object.py,sha256=VleJSUmDJMl92knLgaDE8SWCi3ky0UaHcwcwOIapPQ8,1980
|
|
60
60
|
mlrun/common/schemas/pagination.py,sha256=q7nk6bipkDiE7HExIVqhy5ANl-zv0x8QC9Kg6AkLtDA,887
|
|
61
61
|
mlrun/common/schemas/pipeline.py,sha256=MhH07_fAQXNAnmf5j6oXZp8qh9cxGcZlReMdt-ZJf40,1429
|
|
@@ -67,8 +67,8 @@ mlrun/common/schemas/schedule.py,sha256=nD9kxH2KjXkbGZPNfzVNlNSxbyFZmZUlwtT04_z2
|
|
|
67
67
|
mlrun/common/schemas/secret.py,sha256=51tCN1F8DFTq4y_XdHIMDy3I1TnMEBX8kO8BHKavYF4,1484
|
|
68
68
|
mlrun/common/schemas/tag.py,sha256=OAn9Qt6z8ibqw8uU8WQSvuwY8irUv45Dhx2Ko5FzUss,884
|
|
69
69
|
mlrun/common/schemas/workflow.py,sha256=eRoaOBFiWbvP0iwZ6Aof5JmheV81A0-0PGi8L4vuXmI,1823
|
|
70
|
-
mlrun/common/schemas/model_monitoring/__init__.py,sha256=
|
|
71
|
-
mlrun/common/schemas/model_monitoring/constants.py,sha256=
|
|
70
|
+
mlrun/common/schemas/model_monitoring/__init__.py,sha256=uCnHhhVZkWbbtsawIjOa3ub9ShDJK2md-s2fbx46crg,1792
|
|
71
|
+
mlrun/common/schemas/model_monitoring/constants.py,sha256=sknS628AliiJzrOfDImTIxwBiHTgWNBxH2A7eiGnAMo,9438
|
|
72
72
|
mlrun/common/schemas/model_monitoring/grafana.py,sha256=SG13MFUUz_tk6-mWeSx17qcdEW4ekicxqNtnMSwRTCY,1559
|
|
73
73
|
mlrun/common/schemas/model_monitoring/model_endpoints.py,sha256=3wPlCFNoBsHlCMgyJlXfNP-ZqIRsBXzyBX79O2PHkeg,13799
|
|
74
74
|
mlrun/data_types/__init__.py,sha256=EkxfkFoHb91zz3Aymq-KZfCHlPMzEc3bBqgzPUwmHWY,1087
|
|
@@ -90,7 +90,7 @@ mlrun/datastore/inmem.py,sha256=d2dIvHlOQylhc-i4B5Kk9e9ayXnF7DICc5yUlHcNwqs,2873
|
|
|
90
90
|
mlrun/datastore/redis.py,sha256=OKMkDCU3APhxfo65SyJq605u1DsfOYH0fODnCXZRqEU,5575
|
|
91
91
|
mlrun/datastore/s3.py,sha256=YXLIcsODJJuIuTTp4MTPjJqbvxzPRMeXpbImV9_q8Y8,8449
|
|
92
92
|
mlrun/datastore/snowflake_utils.py,sha256=Wohvnlmq8j1d98RCaknll-iWdZZpSlCrKhUOEy0_-CA,1483
|
|
93
|
-
mlrun/datastore/sources.py,sha256=
|
|
93
|
+
mlrun/datastore/sources.py,sha256=Mxn2aS42kSv7I6GrNixUHMjE8taEvs6-YQZE2L4Lsxg,46564
|
|
94
94
|
mlrun/datastore/spark_udf.py,sha256=NnnB3DZxZb-rqpRy7b-NC7QWXuuqFn3XkBDc86tU4mQ,1498
|
|
95
95
|
mlrun/datastore/spark_utils.py,sha256=50rllp6xXpXY__1LbU7aTXUU5ca8dKAfoskPre3npZo,1611
|
|
96
96
|
mlrun/datastore/store_resources.py,sha256=rcLoG506AMmR8qPJU_gE-G5d34VJVV_vNlZ3VHqho6c,6869
|
|
@@ -101,9 +101,9 @@ mlrun/datastore/wasbfs/__init__.py,sha256=s5Ul-0kAhYqFjKDR2X0O2vDGDbLQQduElb32Ev
|
|
|
101
101
|
mlrun/datastore/wasbfs/fs.py,sha256=MnSj7Q4OKA2L55ihCmUnj2t3GA3B77oLMdAw-yxvN9w,6151
|
|
102
102
|
mlrun/db/__init__.py,sha256=WqJ4x8lqJ7ZoKbhEyFqkYADd9P6E3citckx9e9ZLcIU,1163
|
|
103
103
|
mlrun/db/auth_utils.py,sha256=hpg8D2r82oN0BWabuWN04BTNZ7jYMAF242YSUpK7LFM,5211
|
|
104
|
-
mlrun/db/base.py,sha256=
|
|
104
|
+
mlrun/db/base.py,sha256=VztBik6tUYFKGRVXIsXZE7HrALx0hO_sgpCcE2O0cLU,24156
|
|
105
105
|
mlrun/db/factory.py,sha256=ibIrE5QkIIyzDU1FXKrfbc31cZiRLYKDZb8dqCpQwyU,2397
|
|
106
|
-
mlrun/db/httpdb.py,sha256=
|
|
106
|
+
mlrun/db/httpdb.py,sha256=UW-vVFS5xAavHtZi1GmiEhGr9P2s3O8b9OkqgpcY7-o,183981
|
|
107
107
|
mlrun/db/nopdb.py,sha256=d7vSk_2sfwZGY24w7ucSkoq88fLPDLF137IXabongXU,20791
|
|
108
108
|
mlrun/feature_store/__init__.py,sha256=FhHRc8NdqL_HWpCs7A8dKruxJS5wEm55Gs3dcgBiRUg,1522
|
|
109
109
|
mlrun/feature_store/api.py,sha256=uYheyPkJOVCrz1jivvpGatgy_JBAq0It0XZqPpNVQkE,48699
|
|
@@ -217,15 +217,14 @@ mlrun/model_monitoring/evidently_application.py,sha256=iOc42IVjj8m6PDBmVcKIMWm46
|
|
|
217
217
|
mlrun/model_monitoring/features_drift_table.py,sha256=c6GpKtpOJbuT1u5uMWDL_S-6N4YPOmlktWMqPme3KFY,25308
|
|
218
218
|
mlrun/model_monitoring/helpers.py,sha256=jD9m_Dte16kDZc1GCXvv-0z-MCel1LRg_6Pn1nwqk7A,11599
|
|
219
219
|
mlrun/model_monitoring/model_endpoint.py,sha256=7VX0cBATqLsA4sSinDzouf41ndxqh2mf5bO9BW0G5Z4,4017
|
|
220
|
-
mlrun/model_monitoring/
|
|
221
|
-
mlrun/model_monitoring/stream_processing.py,sha256=KJXvmVbAQsgLLLxd6kM_KZCInjWzJUSGiss4dMHuSTU,42545
|
|
220
|
+
mlrun/model_monitoring/stream_processing.py,sha256=eFSeli4W0KHaY6x8r9Qg7aBWy52x4IY3BbD6wDIrT9I,37168
|
|
222
221
|
mlrun/model_monitoring/tracking_policy.py,sha256=sQq956akAQpntkrJwIgFWcEq-JpyVcg0FxgNa4h3V70,5502
|
|
223
222
|
mlrun/model_monitoring/writer.py,sha256=aQ1DAi5XUi1WXXfcSgBQGKiTANT6E61I74abiu_5s8s,9824
|
|
224
223
|
mlrun/model_monitoring/applications/__init__.py,sha256=i793GqYee01mRh_KD6GShvX7UbPBgdJDO4qf9Z3BXEQ,970
|
|
225
224
|
mlrun/model_monitoring/applications/_application_steps.py,sha256=-g9jxIAFM5f22iJaUAQVlM8QRSv6KFT92I4WHmZe_f0,6028
|
|
226
225
|
mlrun/model_monitoring/applications/base.py,sha256=buVKyghH4AB3chZ5py1vyMIFnTF-deY8YDf_fPC9BnQ,11307
|
|
227
226
|
mlrun/model_monitoring/applications/context.py,sha256=LGRJdI1eyyssFzjE4W_rk2VAUV8KpOkUZUX3xCmnC9g,8537
|
|
228
|
-
mlrun/model_monitoring/applications/evidently_base.py,sha256=
|
|
227
|
+
mlrun/model_monitoring/applications/evidently_base.py,sha256=AZKZkIdHDBLN2tCVQq2gIKVBszQfor5GUUNqHIUnlS0,7987
|
|
229
228
|
mlrun/model_monitoring/applications/histogram_data_drift.py,sha256=TE6995h2PyO4lytVngH2HidhXFY7reLupWi4cHmdZdw,13163
|
|
230
229
|
mlrun/model_monitoring/applications/results.py,sha256=VVlu9Si7Tj2LNJzPQrp4_Qeyh9mxOVMu1Jwb5K2LfvY,3577
|
|
231
230
|
mlrun/model_monitoring/db/__init__.py,sha256=6Ic-X3Fh9XLPYMytmevGNSs-Hii1rAjLLoFTSPwTguw,736
|
|
@@ -233,22 +232,22 @@ mlrun/model_monitoring/db/stores/__init__.py,sha256=ZScmxeZZ3yZ84MocdDGRtvVIixSo
|
|
|
233
232
|
mlrun/model_monitoring/db/stores/base/__init__.py,sha256=JufJETW3BXzPhFwbRa8dMf7BFGGZKceIWIMgr5x9n9c,599
|
|
234
233
|
mlrun/model_monitoring/db/stores/base/store.py,sha256=xaiaUwXDYYV1z6e17Ny9IiE3a7pSiEFg8nffdWHSq0A,7517
|
|
235
234
|
mlrun/model_monitoring/db/stores/sqldb/__init__.py,sha256=6CsTXAxeLbbf8yfCADTaxmiavqwrLEdYFJ-qc5kgDAY,569
|
|
236
|
-
mlrun/model_monitoring/db/stores/sqldb/sql_store.py,sha256=
|
|
235
|
+
mlrun/model_monitoring/db/stores/sqldb/sql_store.py,sha256=yyrmOR34usE0ig1zVqXw6s9XWcDGtHpOVOi8fbtN4bY,25415
|
|
237
236
|
mlrun/model_monitoring/db/stores/sqldb/models/__init__.py,sha256=lCiGw9WKPtHAIgrtNS2jyvM5OZvZvogBh76iurNYblg,2453
|
|
238
237
|
mlrun/model_monitoring/db/stores/sqldb/models/base.py,sha256=V2B5WdQM0KHKq0FNDq61q7tkNJ9fNRbxfnxrholKgjk,5352
|
|
239
238
|
mlrun/model_monitoring/db/stores/sqldb/models/mysql.py,sha256=tCzc5ANPxZw7tIPsn9p30woK0_s2HU_FsNzA3hL2wQs,2666
|
|
240
239
|
mlrun/model_monitoring/db/stores/sqldb/models/sqlite.py,sha256=yJJZppbKj3PsOANS_DXAQFFHKX4cQcm6Pz2DoxRiXMk,1104
|
|
241
240
|
mlrun/model_monitoring/db/stores/v3io_kv/__init__.py,sha256=6CsTXAxeLbbf8yfCADTaxmiavqwrLEdYFJ-qc5kgDAY,569
|
|
242
|
-
mlrun/model_monitoring/db/stores/v3io_kv/kv_store.py,sha256=
|
|
241
|
+
mlrun/model_monitoring/db/stores/v3io_kv/kv_store.py,sha256=t1rF9nNENOn9Yi6ujfMknTaNX4-7Ty6hSUJZITGEk6I,26298
|
|
243
242
|
mlrun/model_monitoring/db/tsdb/__init__.py,sha256=_Mfa4gguX86OS1fQCxnt_QSaNh603-zPYAK8NjYk7t8,4040
|
|
244
|
-
mlrun/model_monitoring/db/tsdb/base.py,sha256=
|
|
243
|
+
mlrun/model_monitoring/db/tsdb/base.py,sha256=LWjiqUQqf7PqbXxwXnrImcBY85ChrjmwxWkNEkgmI3E,13240
|
|
245
244
|
mlrun/model_monitoring/db/tsdb/helpers.py,sha256=0oUXc4aUkYtP2SGP6jTb3uPPKImIUsVsrb9otX9a7O4,1189
|
|
246
245
|
mlrun/model_monitoring/db/tsdb/tdengine/__init__.py,sha256=vgBdsKaXUURKqIf3M0y4sRatmSVA4CQiJs7J5dcVBkQ,620
|
|
247
246
|
mlrun/model_monitoring/db/tsdb/tdengine/schemas.py,sha256=94u886UtyK40YNtdOX8WiJUImDytygdaqIzFwo_ExzI,8881
|
|
248
|
-
mlrun/model_monitoring/db/tsdb/tdengine/stream_graph_steps.py,sha256=
|
|
247
|
+
mlrun/model_monitoring/db/tsdb/tdengine/stream_graph_steps.py,sha256=Hb0vcCBP-o0ET78mU4P32fnhUL65QZv-pMuv2lnCby4,1586
|
|
249
248
|
mlrun/model_monitoring/db/tsdb/tdengine/tdengine_connector.py,sha256=oplt9s-C-OGa__V456nkHwvyBe5YHxcuIJcYV9GFQHY,15521
|
|
250
249
|
mlrun/model_monitoring/db/tsdb/v3io/__init__.py,sha256=aL3bfmQsUQ-sbvKGdNihFj8gLCK3mSys0qDcXtYOwgc,616
|
|
251
|
-
mlrun/model_monitoring/db/tsdb/v3io/stream_graph_steps.py,sha256=
|
|
250
|
+
mlrun/model_monitoring/db/tsdb/v3io/stream_graph_steps.py,sha256=NdiqMBERfAmIdOWKiXvZTfmICsjnSAT4-8-b6ZDKiiE,5440
|
|
252
251
|
mlrun/model_monitoring/db/tsdb/v3io/v3io_connector.py,sha256=hroUaoxbvKHDqM5L01p4EuYNuFjzaUQyT-HWt47LJCY,26362
|
|
253
252
|
mlrun/model_monitoring/metrics/__init__.py,sha256=6CsTXAxeLbbf8yfCADTaxmiavqwrLEdYFJ-qc5kgDAY,569
|
|
254
253
|
mlrun/model_monitoring/metrics/histogram_distance.py,sha256=E9_WIl2vd6qNvoHVHoFcnuQk3ekbFWOdi8aU7sHrfk4,4724
|
|
@@ -273,7 +272,7 @@ mlrun/platforms/__init__.py,sha256=ggSGF7inITs6S-vj9u4S9X_5psgbA0G3GVqf7zu8qYc,2
|
|
|
273
272
|
mlrun/platforms/iguazio.py,sha256=1h5BpdAEQJBg2vIt7ySjUADU0ip5OkaMYr0_VREi9ys,13084
|
|
274
273
|
mlrun/projects/__init__.py,sha256=Lv5rfxyXJrw6WGOWJKhBz66M6t3_zsNMCfUD6waPwx4,1153
|
|
275
274
|
mlrun/projects/operations.py,sha256=Y-NwrIFXpltUXcDLDQ9b33NY_r4TOPvJgO4F-xSuzoM,19252
|
|
276
|
-
mlrun/projects/pipelines.py,sha256=
|
|
275
|
+
mlrun/projects/pipelines.py,sha256=_589S5rtZUV6cne1yPvOVhh3oB83fIwdQqNg47R2e6I,40608
|
|
277
276
|
mlrun/projects/project.py,sha256=ROcuNkjV6kA8oGrnk4-MFj_0h5D04af9oWmXqVq7-lg,184688
|
|
278
277
|
mlrun/runtimes/__init__.py,sha256=0-tYDkew-Cr4DM-wztvMbzDA5xq385Jjo-GrtO_84Sc,8741
|
|
279
278
|
mlrun/runtimes/base.py,sha256=g716uF0BpL6vLe75bNqpJ2SjtYW_tQqICl46d_4ljHs,37633
|
|
@@ -283,7 +282,7 @@ mlrun/runtimes/function_reference.py,sha256=iWKRe4r2GTc5S8FOIASYUNLwwne8NqIui51P
|
|
|
283
282
|
mlrun/runtimes/generators.py,sha256=v28HdNgxdHvj888G1dTnUeQZz-D9iTO0hoGeZbCdiuQ,7241
|
|
284
283
|
mlrun/runtimes/kubejob.py,sha256=ptBnMTIjukbEznkdixmbGvBqzujXrRzqNfP7ze6M76M,8660
|
|
285
284
|
mlrun/runtimes/local.py,sha256=h_w0tzCfF1_tZZEjw-FJHqYmoxK-AhN2skpK7cdU1JI,22611
|
|
286
|
-
mlrun/runtimes/pod.py,sha256=
|
|
285
|
+
mlrun/runtimes/pod.py,sha256=j0zsnbZq1p_RuK5u9re7iAX-E-UVnhm3Nx9JFfHFy9U,63184
|
|
287
286
|
mlrun/runtimes/remotesparkjob.py,sha256=9DPxDK8x08t9nReMo083TBxJiiqA83mHCbdtxrjj7AU,7426
|
|
288
287
|
mlrun/runtimes/utils.py,sha256=OFATL8d0c5vKN9N2enAu2oS3b4H71RfeG776ZnfZ0J4,14332
|
|
289
288
|
mlrun/runtimes/databricks_job/__init__.py,sha256=kXGBqhLN0rlAx0kTXhozGzFsIdSqW0uTSKMmsLgq_is,569
|
|
@@ -295,11 +294,11 @@ mlrun/runtimes/mpijob/abstract.py,sha256=kDWo-IY1FKLZhI30j38Xx9HMhlUvHezfd1DT2Sh
|
|
|
295
294
|
mlrun/runtimes/mpijob/v1.py,sha256=1XQZC7AIMGX_AQCbApcwpH8I7y39-v0v2O35MvxjXoo,3213
|
|
296
295
|
mlrun/runtimes/nuclio/__init__.py,sha256=gx1kizzKv8pGT5TNloN1js1hdbxqDw3rM90sLVYVffY,794
|
|
297
296
|
mlrun/runtimes/nuclio/api_gateway.py,sha256=TsEZFv-Ene2WZCS9jKReVmuMil_kIbcr9eFmmLxgsYU,25781
|
|
298
|
-
mlrun/runtimes/nuclio/function.py,sha256=
|
|
297
|
+
mlrun/runtimes/nuclio/function.py,sha256=Eor5qem-nn64JFynwg-BShFkNRpleQWamjIY0_70Pdg,50538
|
|
299
298
|
mlrun/runtimes/nuclio/nuclio.py,sha256=sLK8KdGO1LbftlL3HqPZlFOFTAAuxJACZCVl1c0Ha6E,2942
|
|
300
|
-
mlrun/runtimes/nuclio/serving.py,sha256=
|
|
299
|
+
mlrun/runtimes/nuclio/serving.py,sha256=eUMqtIU6NYIVgKtxfxKN7pd9_QCo_V0aurrjUSU3s08,29754
|
|
301
300
|
mlrun/runtimes/nuclio/application/__init__.py,sha256=rRs5vasy_G9IyoTpYIjYDafGoL6ifFBKgBtsXn31Atw,614
|
|
302
|
-
mlrun/runtimes/nuclio/application/application.py,sha256=
|
|
301
|
+
mlrun/runtimes/nuclio/application/application.py,sha256=v-AqrHfp_nL3orVWzxBWTY-alW7tks6dfEEWRlKcbYE,21665
|
|
303
302
|
mlrun/runtimes/nuclio/application/reverse_proxy.go,sha256=JIIYae6bXzCLf3jXuu49KWPQYoXr_FDQ2Rbo1OWKAd0,3150
|
|
304
303
|
mlrun/runtimes/sparkjob/__init__.py,sha256=_KPvk0qefeLtHO6lxQE_AMOGiMTG_OT48eRCE4Z2ldw,709
|
|
305
304
|
mlrun/runtimes/sparkjob/spark3job.py,sha256=1bNRy72Migrh_ZASQOx7UlSZTbB-xpNc76sz4kfc9UM,41191
|
|
@@ -309,7 +308,7 @@ mlrun/serving/remote.py,sha256=MrFByphQWmIsKXqw-MOwl2Q1hbtWReYVRKvlcKj9pfw,17980
|
|
|
309
308
|
mlrun/serving/routers.py,sha256=tjTAiLkV-BcRnUfbTqfrKB0j2LMTMygG_2oV_eQ26bs,55470
|
|
310
309
|
mlrun/serving/server.py,sha256=LUf38ArOvs1cUbqxr3ZT015DTr4G5GIlToRaKqbhamc,21512
|
|
311
310
|
mlrun/serving/serving_wrapper.py,sha256=R670-S6PX_d5ER6jiHtRvacuPyFzQH0mEf2K0sBIIOM,836
|
|
312
|
-
mlrun/serving/states.py,sha256=
|
|
311
|
+
mlrun/serving/states.py,sha256=xJrKyeFT9HcvzCHv5zUhtW96I3qpBYWrM1Dgbp5sa3c,59665
|
|
313
312
|
mlrun/serving/utils.py,sha256=lej7XcUPX1MmHkEOi_0KZRGSpfbmpnE0GK_Sn4zLkHY,4025
|
|
314
313
|
mlrun/serving/v1_serving.py,sha256=by4myxlnwyZ0ijQ5fURilGCK1sUpdQL2Il1VR3Xqpxg,11805
|
|
315
314
|
mlrun/serving/v2_serving.py,sha256=ARsAU0xaQqZoYWdtTLauMPlIX33Nus-BFQOTPZBYda8,24496
|
|
@@ -324,7 +323,7 @@ mlrun/utils/azure_vault.py,sha256=IEFizrDGDbAaoWwDr1WoA88S_EZ0T--vjYtY-i0cvYQ,34
|
|
|
324
323
|
mlrun/utils/clones.py,sha256=mJpx4nyFiY6jlBCvFABsNuyi_mr1mvfPWn81vlafpOU,7361
|
|
325
324
|
mlrun/utils/condition_evaluator.py,sha256=-nGfRmZzivn01rHTroiGY4rqEv8T1irMyhzxEei-sKc,1897
|
|
326
325
|
mlrun/utils/db.py,sha256=2TydIZzJJs9Rf8Qid6ze-Odb1HIzSPAT-Jr-HuHAris,1863
|
|
327
|
-
mlrun/utils/helpers.py,sha256=
|
|
326
|
+
mlrun/utils/helpers.py,sha256=ZBLxZ0rJV-rRsM3lwmIG92KT2rFLpkJyPS9-8Loh3Lg,57703
|
|
328
327
|
mlrun/utils/http.py,sha256=l_JCPrCq8bfYUcUcAFWUPvb9Xu-93bLGIhV-H-XCU9s,8707
|
|
329
328
|
mlrun/utils/logger.py,sha256=cag2J30-jynIHmHZ2J8RYmVMNhYBGgAoimc5sbk-A1U,10016
|
|
330
329
|
mlrun/utils/regex.py,sha256=b0AUa2THS-ELzJj0grl5b8Stq609F2XomTZkD9SB1fQ,4900
|
|
@@ -342,11 +341,11 @@ mlrun/utils/notifications/notification/ipython.py,sha256=ZtVL30B_Ha0VGoo4LxO-voT
|
|
|
342
341
|
mlrun/utils/notifications/notification/slack.py,sha256=wqpFGr5BTvFO5KuUSzFfxsgmyU1Ohq7fbrGeNe9TXOk,7006
|
|
343
342
|
mlrun/utils/notifications/notification/webhook.py,sha256=cb9w1Mc8ENfJBdgan7iiVHK9eVls4-R3tUxmXM-P-8I,4746
|
|
344
343
|
mlrun/utils/version/__init__.py,sha256=7kkrB7hEZ3cLXoWj1kPoDwo4MaswsI2JVOBpbKgPAgc,614
|
|
345
|
-
mlrun/utils/version/version.json,sha256=
|
|
344
|
+
mlrun/utils/version/version.json,sha256=STte9QxBCHjOGgF8GTITr-yCOmlnRcYeVBIeb6zNyyY,89
|
|
346
345
|
mlrun/utils/version/version.py,sha256=eEW0tqIAkU9Xifxv8Z9_qsYnNhn3YH7NRAfM-pPLt1g,1878
|
|
347
|
-
mlrun-1.7.
|
|
348
|
-
mlrun-1.7.
|
|
349
|
-
mlrun-1.7.
|
|
350
|
-
mlrun-1.7.
|
|
351
|
-
mlrun-1.7.
|
|
352
|
-
mlrun-1.7.
|
|
346
|
+
mlrun-1.7.0rc35.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
|
347
|
+
mlrun-1.7.0rc35.dist-info/METADATA,sha256=v57UgHO_1uk7N4r8Z2i--KbEI4vcwqhgi55rt9z6frk,19681
|
|
348
|
+
mlrun-1.7.0rc35.dist-info/WHEEL,sha256=R0nc6qTxuoLk7ShA2_Y-UWkN8ZdfDBG2B6Eqpz2WXbs,91
|
|
349
|
+
mlrun-1.7.0rc35.dist-info/entry_points.txt,sha256=1Owd16eAclD5pfRCoJpYC2ZJSyGNTtUr0nCELMioMmU,46
|
|
350
|
+
mlrun-1.7.0rc35.dist-info/top_level.txt,sha256=NObLzw3maSF9wVrgSeYBv-fgnHkAJ1kEkh12DLdd5KM,6
|
|
351
|
+
mlrun-1.7.0rc35.dist-info/RECORD,,
|