mlrun 1.8.0rc40__py3-none-any.whl → 1.8.0rc41__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/launcher/base.py CHANGED
@@ -401,7 +401,6 @@ class BaseLauncher(abc.ABC):
401
401
  status=run.status.state,
402
402
  name=run.metadata.name,
403
403
  )
404
- self._update_end_time_if_terminal_state(runtime, run)
405
404
  if (
406
405
  run.status.state
407
406
  in mlrun.common.runtimes.constants.RunStates.error_and_abortion_states()
@@ -417,21 +416,6 @@ class BaseLauncher(abc.ABC):
417
416
 
418
417
  return None
419
418
 
420
- @staticmethod
421
- def _update_end_time_if_terminal_state(
422
- runtime: "mlrun.runtimes.BaseRuntime", run: "mlrun.run.RunObject"
423
- ):
424
- if (
425
- run.status.state
426
- in mlrun.common.runtimes.constants.RunStates.terminal_states()
427
- and not run.status.end_time
428
- ):
429
- end_time = mlrun.utils.now_date().isoformat()
430
- updates = {"status.end_time": end_time}
431
- runtime._get_db().update_run(
432
- updates, run.metadata.uid, run.metadata.project
433
- )
434
-
435
419
  @staticmethod
436
420
  def _refresh_function_metadata(runtime: "mlrun.runtimes.BaseRuntime"):
437
421
  pass
mlrun/projects/project.py CHANGED
@@ -1412,7 +1412,9 @@ class MlrunProject(ModelObj):
1412
1412
  """
1413
1413
 
1414
1414
  # validate the provided workflow_path
1415
- self._validate_file_path(workflow_path, param_name="workflow_path")
1415
+ self._validate_file_path(
1416
+ workflow_path, param_name="workflow_path", engine=engine
1417
+ )
1416
1418
 
1417
1419
  if engine and "local" in engine and schedule:
1418
1420
  raise ValueError("'schedule' argument is not supported for 'local' engine.")
@@ -5241,7 +5243,7 @@ class MlrunProject(ModelObj):
5241
5243
  if is_remote_enriched:
5242
5244
  self.spec.repo.remotes[remote].set_url(clean_remote, enriched_remote)
5243
5245
 
5244
- def _validate_file_path(self, file_path: str, param_name: str):
5246
+ def _validate_file_path(self, file_path: str, param_name: str, engine: str):
5245
5247
  """
5246
5248
  The function checks if the given file_path is a valid path.
5247
5249
  If the file_path is a relative path, it is completed by joining it with the self.spec.get_code_path()
@@ -5266,6 +5268,10 @@ class MlrunProject(ModelObj):
5266
5268
  f"Invalid '{param_name}': '{file_path}'. Got a remote URL without a file suffix."
5267
5269
  )
5268
5270
 
5271
+ # if engine is remote then skip the local file validation
5272
+ if engine and not engine.startswith("remote"):
5273
+ return
5274
+
5269
5275
  code_path = self.spec.get_code_path()
5270
5276
 
5271
5277
  # If the file path is a relative path, it is completed by joining it with the code_path.
mlrun/runtimes/base.py CHANGED
@@ -33,6 +33,14 @@ import mlrun.launcher.factory
33
33
  import mlrun.utils.helpers
34
34
  import mlrun.utils.notifications
35
35
  import mlrun.utils.regex
36
+ from mlrun.model import (
37
+ BaseMetadata,
38
+ HyperParamOptions,
39
+ ImageBuilder,
40
+ ModelObj,
41
+ RunObject,
42
+ RunTemplate,
43
+ )
36
44
  from mlrun.utils.helpers import generate_object_uri, verify_field_regex
37
45
  from mlrun_pipelines.common.ops import mlrun_op
38
46
 
@@ -40,7 +48,6 @@ from ..config import config
40
48
  from ..datastore import store_manager
41
49
  from ..errors import err_to_str
42
50
  from ..lists import RunList
43
- from ..model import BaseMetadata, HyperParamOptions, ImageBuilder, ModelObj, RunObject
44
51
  from ..utils import (
45
52
  dict_to_json,
46
53
  dict_to_yaml,
@@ -668,7 +675,7 @@ class BaseRuntime(ModelObj):
668
675
 
669
676
  def as_step(
670
677
  self,
671
- runspec: RunObject = None,
678
+ runspec: Union[RunObject, RunTemplate] = None,
672
679
  handler=None,
673
680
  name: str = "",
674
681
  project: str = "",
@@ -306,9 +306,12 @@ class RemoteRuntime(KubeResource):
306
306
  def _validate_triggers(self, spec):
307
307
  # ML-7763 / NUC-233
308
308
  min_nuclio_version = "1.13.12"
309
- if mlconf.nuclio_version and semver.VersionInfo.parse(
309
+ if (
310
310
  mlconf.nuclio_version
311
- ) < semver.VersionInfo.parse(min_nuclio_version):
311
+ and mlconf.nuclio_version != "unstable"
312
+ and semver.VersionInfo.parse(mlconf.nuclio_version)
313
+ < semver.VersionInfo.parse(min_nuclio_version)
314
+ ):
312
315
  explicit_ack_enabled = False
313
316
  num_triggers = 0
314
317
  trigger_name = spec.get("name", "UNKNOWN")
mlrun/utils/clones.py CHANGED
@@ -165,14 +165,17 @@ def clone_git(url: str, context: str, secrets=None, clone: bool = True):
165
165
 
166
166
  branch = None
167
167
  tag = None
168
+ commit = None
168
169
  if url_obj.fragment:
169
170
  refs = url_obj.fragment
170
171
  if refs.startswith("refs/heads/"):
171
172
  branch = refs.replace("refs/heads/", "")
172
173
  elif refs.startswith("refs/tags/"):
173
174
  tag = refs.replace("refs/tags/", "")
175
+ elif refs.startswith("refs/commits/"):
176
+ commit = refs.replace("refs/commits/", "")
174
177
  else:
175
- url = url.replace("#" + refs, f"#refs/heads/{refs}")
178
+ url = url.replace(f"#{refs}", f"#refs/heads/{refs}")
176
179
  branch = refs
177
180
 
178
181
  # when using the CLI and clone path was not enriched, username/password input will be requested via shell
@@ -182,8 +185,8 @@ def clone_git(url: str, context: str, secrets=None, clone: bool = True):
182
185
  # override enriched clone path for security reasons
183
186
  repo.remotes[0].set_url(clone_path, final_clone_path)
184
187
 
185
- if tag:
186
- repo.git.checkout(tag)
188
+ if tag_or_commit := tag or commit:
189
+ repo.git.checkout(tag_or_commit)
187
190
 
188
191
  return url, repo
189
192
 
@@ -1,4 +1,4 @@
1
1
  {
2
- "git_commit": "5be12fb6a18e9bc2b1ba338c1372aa59327781f8",
3
- "version": "1.8.0-rc40"
2
+ "git_commit": "18a4adfd7aa39a10127ad6a505bce173beab12a4",
3
+ "version": "1.8.0-rc41"
4
4
  }
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: mlrun
3
- Version: 1.8.0rc40
3
+ Version: 1.8.0rc41
4
4
  Summary: Tracking and config of machine learning runs
5
5
  Home-page: https://github.com/mlrun/mlrun
6
6
  Author: Yaron Haviv
@@ -211,7 +211,7 @@ mlrun/frameworks/xgboost/mlrun_interface.py,sha256=QcP_mTKBjxvRyWcNnju0BlvXBDOqN
211
211
  mlrun/frameworks/xgboost/model_handler.py,sha256=e3VLKMmaC9OFoclUPx9buUXYLDe1Ab3zMxXUmL8TMO4,11664
212
212
  mlrun/frameworks/xgboost/utils.py,sha256=5zLzHoeI3n2FuA_rdGzi404QCTLfQx1TYEyUWhZogs8,1069
213
213
  mlrun/launcher/__init__.py,sha256=JL8qkT1lLr1YvW6iP0hmwDTaSR2RfrMDx0-1gWRhTOE,571
214
- mlrun/launcher/base.py,sha256=tTON7And0Et9RtvWaisoyEdrFXMjnQD7KSG7K-aw2fE,17088
214
+ mlrun/launcher/base.py,sha256=uZaUpwjy9_Z137aQ4b1JsuYqD01ZVRxytAxZSFKSu6U,16480
215
215
  mlrun/launcher/client.py,sha256=lJ3y9brmPspgwAZrUPAeu3Dn5B7mh9k3MhrbFKhNDvw,6286
216
216
  mlrun/launcher/factory.py,sha256=RW7mfzEFi8fR0M-4W1JQg1iq3_muUU6OTqT_3l4Ubrk,2338
217
217
  mlrun/launcher/local.py,sha256=775HY-8S9LFUX5ubGXrLO0N1lVh8bn-DHFmNYuNqQPA,11451
@@ -269,9 +269,9 @@ mlrun/platforms/iguazio.py,sha256=6VBTq8eQ3mzT96tzjYhAtcMQ2VjF4x8LpIPW5DAcX2Q,13
269
269
  mlrun/projects/__init__.py,sha256=0Krf0WIKfnZa71WthYOg0SoaTodGg3sV_hK3f_OlTPI,1220
270
270
  mlrun/projects/operations.py,sha256=TzPbTYBgmYrjxTKP_wOtBJYFFFwDCQtaVvF1Snr0TfM,20029
271
271
  mlrun/projects/pipelines.py,sha256=wud7ezeEmhIJvfYE_wzQbA4ygEfGXHtbOtoOpan6poY,48556
272
- mlrun/projects/project.py,sha256=tiBcPw3AtTDpu8IhjPR8EMYRgDK_-YBTJVgnrZKvUTA,234920
272
+ mlrun/projects/project.py,sha256=md2ieQ0gmsVaRj0urWax0aFld88cIF-9r0JIMgmXiC8,235111
273
273
  mlrun/runtimes/__init__.py,sha256=J9Sy2HiyMlztNv6VUurMzF5H2XzttNil8nRsWDsqLyg,8923
274
- mlrun/runtimes/base.py,sha256=K5-zfFrE_HR6AaHWs2figaOTr7eosw3-4bELkYzpRk4,37789
274
+ mlrun/runtimes/base.py,sha256=EL14Kmc1vWEjnBPJwLj5hHC6CtRAQHJLmohCD3sFEHo,37855
275
275
  mlrun/runtimes/daskjob.py,sha256=JwuGvOiPsxEDHHMMUS4Oie4hLlYYIZwihAl6DjroTY0,19521
276
276
  mlrun/runtimes/funcdoc.py,sha256=zRFHrJsV8rhDLJwoUhcfZ7Cs0j-tQ76DxwUqdXV_Wyc,9810
277
277
  mlrun/runtimes/function_reference.py,sha256=CLvRY-wXX9qhI9YEzSl0VWt8piH_-5FQYQ8ObUYLLDc,4911
@@ -291,7 +291,7 @@ mlrun/runtimes/mpijob/abstract.py,sha256=JGMjcJ4dvpJbctF6psU9UvYyNCutMxTMgBQeTlz
291
291
  mlrun/runtimes/mpijob/v1.py,sha256=1XQZC7AIMGX_AQCbApcwpH8I7y39-v0v2O35MvxjXoo,3213
292
292
  mlrun/runtimes/nuclio/__init__.py,sha256=gx1kizzKv8pGT5TNloN1js1hdbxqDw3rM90sLVYVffY,794
293
293
  mlrun/runtimes/nuclio/api_gateway.py,sha256=vH9ClKVP4Mb24rvA67xPuAvAhX-gAv6vVtjVxyplhdc,26969
294
- mlrun/runtimes/nuclio/function.py,sha256=1M8SdMaPhuQ7yqLegYfOcIlseXPj4a18MsXUNYFdD-c,52901
294
+ mlrun/runtimes/nuclio/function.py,sha256=j_gKYhaGfJjr_mVBdUcnSgXcXOHJrKHtUMpmOu8TII8,52979
295
295
  mlrun/runtimes/nuclio/nuclio.py,sha256=sLK8KdGO1LbftlL3HqPZlFOFTAAuxJACZCVl1c0Ha6E,2942
296
296
  mlrun/runtimes/nuclio/serving.py,sha256=1QPza0oG63bt3Bpib2VGhDcW3PNEjjsBUzIYBhiYR0s,32666
297
297
  mlrun/runtimes/nuclio/application/__init__.py,sha256=rRs5vasy_G9IyoTpYIjYDafGoL6ifFBKgBtsXn31Atw,614
@@ -317,7 +317,7 @@ mlrun/track/trackers/mlflow_tracker.py,sha256=8JnCelnjqqW2L8wjh4fCvEL8r5wYIOzboz
317
317
  mlrun/utils/__init__.py,sha256=g2pbT3loDw0GWELOC_rBq1NojSMCFnWrD-TYcDgAZiI,826
318
318
  mlrun/utils/async_http.py,sha256=nAN0hxKUKaGc1XYJjdb59C2G1-nIF8HbzZECBmlODZI,12247
319
319
  mlrun/utils/azure_vault.py,sha256=IEFizrDGDbAaoWwDr1WoA88S_EZ0T--vjYtY-i0cvYQ,3450
320
- mlrun/utils/clones.py,sha256=y3zC9QS7z5mLuvyQ6vFd6sJnikbgtDwrBvieQq0sovY,7359
320
+ mlrun/utils/clones.py,sha256=yXOeuLtgIiKZdmjeKK0Z_vIrH19ds5JuoJaCeDjhwOo,7516
321
321
  mlrun/utils/condition_evaluator.py,sha256=-nGfRmZzivn01rHTroiGY4rqEv8T1irMyhzxEei-sKc,1897
322
322
  mlrun/utils/db.py,sha256=blQgkWMfFH9lcN4sgJQcPQgEETz2Dl_zwbVA0SslpFg,2186
323
323
  mlrun/utils/helpers.py,sha256=ws-4ekIh2PvwO6n3-3_jm9b9RDAfSGqxC3IIiqqhnlk,73926
@@ -339,11 +339,11 @@ mlrun/utils/notifications/notification/mail.py,sha256=ZyJ3eqd8simxffQmXzqd3bgbAq
339
339
  mlrun/utils/notifications/notification/slack.py,sha256=eQvmctTh6wIG5xVOesLLV9S1-UUCu5UEQ9JIJOor3ts,7183
340
340
  mlrun/utils/notifications/notification/webhook.py,sha256=NeyIMSBojjjTJaUHmPbxMByp34GxYkl1-16NqzU27fU,4943
341
341
  mlrun/utils/version/__init__.py,sha256=7kkrB7hEZ3cLXoWj1kPoDwo4MaswsI2JVOBpbKgPAgc,614
342
- mlrun/utils/version/version.json,sha256=Cdc9Q-3lkO4yeRDmcvJyXgOWmZmzzI1l9Ip-ZxfgXV8,89
342
+ mlrun/utils/version/version.json,sha256=ixZhSkY3aQXk61oqGZn9xgYm6Aj1zyZNZQOWMEPTPtI,89
343
343
  mlrun/utils/version/version.py,sha256=eEW0tqIAkU9Xifxv8Z9_qsYnNhn3YH7NRAfM-pPLt1g,1878
344
- mlrun-1.8.0rc40.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
345
- mlrun-1.8.0rc40.dist-info/METADATA,sha256=3MFGiFDQ0SoRStwHVzIxjQ4gVaki5garhVnpbPwxq2g,25986
346
- mlrun-1.8.0rc40.dist-info/WHEEL,sha256=jB7zZ3N9hIM9adW7qlTAyycLYW9npaWKLRzaoVcLKcM,91
347
- mlrun-1.8.0rc40.dist-info/entry_points.txt,sha256=1Owd16eAclD5pfRCoJpYC2ZJSyGNTtUr0nCELMioMmU,46
348
- mlrun-1.8.0rc40.dist-info/top_level.txt,sha256=NObLzw3maSF9wVrgSeYBv-fgnHkAJ1kEkh12DLdd5KM,6
349
- mlrun-1.8.0rc40.dist-info/RECORD,,
344
+ mlrun-1.8.0rc41.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
345
+ mlrun-1.8.0rc41.dist-info/METADATA,sha256=UVLiV1nBd9z2-TfLSnNVUgKVxFlFyrcA1rZiwyTNi8M,25986
346
+ mlrun-1.8.0rc41.dist-info/WHEEL,sha256=jB7zZ3N9hIM9adW7qlTAyycLYW9npaWKLRzaoVcLKcM,91
347
+ mlrun-1.8.0rc41.dist-info/entry_points.txt,sha256=1Owd16eAclD5pfRCoJpYC2ZJSyGNTtUr0nCELMioMmU,46
348
+ mlrun-1.8.0rc41.dist-info/top_level.txt,sha256=NObLzw3maSF9wVrgSeYBv-fgnHkAJ1kEkh12DLdd5KM,6
349
+ mlrun-1.8.0rc41.dist-info/RECORD,,