mlrun 1.7.0rc47__py3-none-any.whl → 1.7.0rc48__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.

@@ -50,9 +50,19 @@ class NotificationKind(mlrun.common.types.StrEnum):
50
50
  **url** - The webhook url to which to send the notification.\n
51
51
  **method** - The http method to use when sending the notification (GET, POST, PUT, etc…).\n
52
52
  **headers** - (dict) The http headers to send with the notification.\n
53
- **override_body** - (dict) The body to send with the notification.\n
53
+ **override_body** -
54
+ (dict) The body to send with the notification. If not specified, the
55
+ default body will be a dictionary containing `name`, `message`, `severity`, and a `runs` list of the
56
+ completed runs. You can also add the run's details.\n
57
+ Example::
58
+
59
+ "override_body": {"message":"Run Completed {{ runs }}"
60
+ # Results would look like:
61
+ "message": "Run Completed [{'project': 'my-project', 'name': 'my-function', 'host': <run-host>,
62
+ 'status': {'state': 'completed', 'results': <run-results>}}]"
54
63
  **verify_ssl** -
55
- (bool) Whether SSL certificates are validated during HTTP requests or not, The default is set to True.
64
+ (bool) Whether SSL certificates are validated during HTTP requests or not.
65
+ The default is set to True.\n
56
66
  """
57
67
 
58
68
 
@@ -454,7 +454,12 @@ class _PipelineRunner(abc.ABC):
454
454
 
455
455
  @staticmethod
456
456
  @abc.abstractmethod
457
- def wait_for_completion(run_id, project=None, timeout=None, expected_statuses=None):
457
+ def wait_for_completion(
458
+ run: "_PipelineRunStatus",
459
+ project: typing.Optional["mlrun.projects.MlrunProject"] = None,
460
+ timeout: typing.Optional[int] = None,
461
+ expected_statuses: list[str] = None,
462
+ ):
458
463
  pass
459
464
 
460
465
  @staticmethod
@@ -627,12 +632,19 @@ class _KFPRunner(_PipelineRunner):
627
632
  return _PipelineRunStatus(run_id, cls, project=project, workflow=workflow_spec)
628
633
 
629
634
  @staticmethod
630
- def wait_for_completion(run, project=None, timeout=None, expected_statuses=None):
635
+ def wait_for_completion(
636
+ run: "_PipelineRunStatus",
637
+ project: typing.Optional["mlrun.projects.MlrunProject"] = None,
638
+ timeout: typing.Optional[int] = None,
639
+ expected_statuses: list[str] = None,
640
+ ):
641
+ project_name = project.metadata.name if project else ""
631
642
  logger.info(
632
- "Waiting for pipeline run completion", run_id=run.run_id, project=project
643
+ "Waiting for pipeline run completion",
644
+ run_id=run.run_id,
645
+ project=project_name,
633
646
  )
634
647
  timeout = timeout or 60 * 60
635
- project_name = project.metadata.name if project else ""
636
648
  run_info = wait_for_pipeline_completion(
637
649
  run.run_id,
638
650
  timeout=timeout,
mlrun/projects/project.py CHANGED
@@ -2165,7 +2165,8 @@ class MlrunProject(ModelObj):
2165
2165
 
2166
2166
  :param default_controller_image: Deprecated.
2167
2167
  :param base_period: The time period in minutes in which the model monitoring controller
2168
- function is triggered. By default, the base period is 10 minutes.
2168
+ function is triggered. By default, the base period is 10 minutes
2169
+ (which is also the minimum value for production environments).
2169
2170
  :param image: The image of the model monitoring controller, writer, monitoring
2170
2171
  stream & histogram data drift functions, which are real time nuclio
2171
2172
  functions. By default, the image is mlrun/mlrun.
@@ -2184,6 +2185,12 @@ class MlrunProject(ModelObj):
2184
2185
  FutureWarning,
2185
2186
  )
2186
2187
  image = default_controller_image
2188
+ if base_period < 10:
2189
+ logger.warn(
2190
+ "enable_model_monitoring: 'base_period' < 10 minutes is not supported in production environments",
2191
+ project=self.name,
2192
+ )
2193
+
2187
2194
  db = mlrun.db.get_run_db(secrets=self._secrets)
2188
2195
  db.enable_model_monitoring(
2189
2196
  project=self.name,
@@ -314,8 +314,8 @@ class ServingRuntime(RemoteRuntime):
314
314
  tracking_policy: Optional[Union["TrackingPolicy", dict]] = None,
315
315
  enable_tracking: bool = True,
316
316
  ) -> None:
317
- """apply on your serving function to monitor a deployed model, including real-time dashboards to detect drift
318
- and analyze performance.
317
+ """Apply on your serving function to monitor a deployed model, including real-time dashboards to detect drift
318
+ and analyze performance.
319
319
 
320
320
  :param stream_path: Path/url of the tracking stream e.g. v3io:///users/mike/mystream
321
321
  you can use the "dummy://" path for test/simulation.
@@ -1,4 +1,4 @@
1
1
  {
2
- "git_commit": "efce6df76e301a94049bc8cd8eb236302c3193ec",
3
- "version": "1.7.0-rc47"
2
+ "git_commit": "ff1d6128837596f0b9c912ef334f0349232628bc",
3
+ "version": "1.7.0-rc48"
4
4
  }
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: mlrun
3
- Version: 1.7.0rc47
3
+ Version: 1.7.0rc48
4
4
  Summary: Tracking and config of machine learning runs
5
5
  Home-page: https://github.com/mlrun/mlrun
6
6
  Author: Yaron Haviv
@@ -56,7 +56,7 @@ mlrun/common/schemas/http.py,sha256=1PtYFhF6sqLSBRcuPMtYcUGmroBhaleqLmYidSdL9LM,
56
56
  mlrun/common/schemas/hub.py,sha256=cuv_vpkO27XNCZzfytnUyi0k0ZA4wf_QRn5B0ZPoK-Y,4116
57
57
  mlrun/common/schemas/k8s.py,sha256=nmMnhgjVMLem5jyumoG2eQKioGK9eUVhQnOSb3hG7yw,1395
58
58
  mlrun/common/schemas/memory_reports.py,sha256=tpS3fpvxa6VcBpzCRzcZTt0fCF0h6ReUetYs7j6kdps,892
59
- mlrun/common/schemas/notification.py,sha256=BsDjHHH1k8OW2bTi49ww77LIfvjVFde7Btv9vILxcvs,4404
59
+ mlrun/common/schemas/notification.py,sha256=ZZi5uIcpKdijRCAsW7Xq8Mld2D-NsVgnmHgae3fs1J0,4930
60
60
  mlrun/common/schemas/object.py,sha256=VleJSUmDJMl92knLgaDE8SWCi3ky0UaHcwcwOIapPQ8,1980
61
61
  mlrun/common/schemas/pagination.py,sha256=q7nk6bipkDiE7HExIVqhy5ANl-zv0x8QC9Kg6AkLtDA,887
62
62
  mlrun/common/schemas/pipeline.py,sha256=MhH07_fAQXNAnmf5j6oXZp8qh9cxGcZlReMdt-ZJf40,1429
@@ -274,8 +274,8 @@ mlrun/platforms/__init__.py,sha256=ggSGF7inITs6S-vj9u4S9X_5psgbA0G3GVqf7zu8qYc,2
274
274
  mlrun/platforms/iguazio.py,sha256=1h5BpdAEQJBg2vIt7ySjUADU0ip5OkaMYr0_VREi9ys,13084
275
275
  mlrun/projects/__init__.py,sha256=Lv5rfxyXJrw6WGOWJKhBz66M6t3_zsNMCfUD6waPwx4,1153
276
276
  mlrun/projects/operations.py,sha256=UEpiW4bDscth4pwWcLWF1xz-IU7bnZfckPR7sXp3O-g,19441
277
- mlrun/projects/pipelines.py,sha256=tFqmE_diKiGURwZPCHVPZmwEKza_gyfpr7F8bLS3plA,40173
278
- mlrun/projects/project.py,sha256=rw0QQ2XtBUevW3cv8baCGDGsqISxsHYYziPcOABLOpg,190604
277
+ mlrun/projects/pipelines.py,sha256=bumAbKDYPLbMkWW1CyHvUpEclKzX63dImCuG7qf3s1s,40496
278
+ mlrun/projects/project.py,sha256=vbtgNpbldOFXEMkYDQlktYl80tjrO_TD8oast7lylGg,190935
279
279
  mlrun/runtimes/__init__.py,sha256=egLM94cDMUyQ1GVABdFGXUQcDhU70lP3k7qSnM_UnHY,9008
280
280
  mlrun/runtimes/base.py,sha256=JXWmTIcm3b0klGUOHDlyFNa3bUgsNzQIgWhUQpSZoE0,37692
281
281
  mlrun/runtimes/daskjob.py,sha256=Ka_xqim8LkCYjp-M_WgteJy6ZN_3qfmLLHvXs7N6pa4,19411
@@ -298,7 +298,7 @@ mlrun/runtimes/nuclio/__init__.py,sha256=gx1kizzKv8pGT5TNloN1js1hdbxqDw3rM90sLVY
298
298
  mlrun/runtimes/nuclio/api_gateway.py,sha256=2sHtkVHSS3L1DuV2KNWatJJRxvoGSBOjB6tnqv6SA5w,26730
299
299
  mlrun/runtimes/nuclio/function.py,sha256=TQt6RyxK_iyzNJr2r57BRtVXuy2GMrhdeFOlFjb2AZg,52106
300
300
  mlrun/runtimes/nuclio/nuclio.py,sha256=sLK8KdGO1LbftlL3HqPZlFOFTAAuxJACZCVl1c0Ha6E,2942
301
- mlrun/runtimes/nuclio/serving.py,sha256=X0fYJnidH0S5xrupoTC74OhZz7Tym34iw6hFSzahMCk,29720
301
+ mlrun/runtimes/nuclio/serving.py,sha256=Tsv-MssXJPe4di9stVOAyCj2MTMI7zQxvtFbAgdAtu0,29717
302
302
  mlrun/runtimes/nuclio/application/__init__.py,sha256=rRs5vasy_G9IyoTpYIjYDafGoL6ifFBKgBtsXn31Atw,614
303
303
  mlrun/runtimes/nuclio/application/application.py,sha256=5XFIg7tgU9kKWwGdMFwB1OJpw79BWwlWUdGiHlDo4AY,29055
304
304
  mlrun/runtimes/nuclio/application/reverse_proxy.go,sha256=JIIYae6bXzCLf3jXuu49KWPQYoXr_FDQ2Rbo1OWKAd0,3150
@@ -343,11 +343,11 @@ mlrun/utils/notifications/notification/ipython.py,sha256=ZtVL30B_Ha0VGoo4LxO-voT
343
343
  mlrun/utils/notifications/notification/slack.py,sha256=wqpFGr5BTvFO5KuUSzFfxsgmyU1Ohq7fbrGeNe9TXOk,7006
344
344
  mlrun/utils/notifications/notification/webhook.py,sha256=cb9w1Mc8ENfJBdgan7iiVHK9eVls4-R3tUxmXM-P-8I,4746
345
345
  mlrun/utils/version/__init__.py,sha256=7kkrB7hEZ3cLXoWj1kPoDwo4MaswsI2JVOBpbKgPAgc,614
346
- mlrun/utils/version/version.json,sha256=q5cEJlSDRoZA0OSLYB_pHTa6NDst7rvigtmJRxEHYLw,89
346
+ mlrun/utils/version/version.json,sha256=Rom-5CPmSdKkRsWq_4v5tZavypVtZmD18LJ9U3Yog38,89
347
347
  mlrun/utils/version/version.py,sha256=eEW0tqIAkU9Xifxv8Z9_qsYnNhn3YH7NRAfM-pPLt1g,1878
348
- mlrun-1.7.0rc47.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
349
- mlrun-1.7.0rc47.dist-info/METADATA,sha256=mFz9Rh9j0hxTRo8fwrTziz_722E5JijvBB8K32E3X7s,19943
350
- mlrun-1.7.0rc47.dist-info/WHEEL,sha256=GV9aMThwP_4oNCtvEC2ec3qUYutgWeAzklro_0m4WJQ,91
351
- mlrun-1.7.0rc47.dist-info/entry_points.txt,sha256=1Owd16eAclD5pfRCoJpYC2ZJSyGNTtUr0nCELMioMmU,46
352
- mlrun-1.7.0rc47.dist-info/top_level.txt,sha256=NObLzw3maSF9wVrgSeYBv-fgnHkAJ1kEkh12DLdd5KM,6
353
- mlrun-1.7.0rc47.dist-info/RECORD,,
348
+ mlrun-1.7.0rc48.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
349
+ mlrun-1.7.0rc48.dist-info/METADATA,sha256=8KpQXwToJDR-fYaWs37jtvCWddahifC4ZyMLvxf7Qmw,19943
350
+ mlrun-1.7.0rc48.dist-info/WHEEL,sha256=GV9aMThwP_4oNCtvEC2ec3qUYutgWeAzklro_0m4WJQ,91
351
+ mlrun-1.7.0rc48.dist-info/entry_points.txt,sha256=1Owd16eAclD5pfRCoJpYC2ZJSyGNTtUr0nCELMioMmU,46
352
+ mlrun-1.7.0rc48.dist-info/top_level.txt,sha256=NObLzw3maSF9wVrgSeYBv-fgnHkAJ1kEkh12DLdd5KM,6
353
+ mlrun-1.7.0rc48.dist-info/RECORD,,