mlrun 1.7.0rc4__py3-none-any.whl → 1.7.0rc6__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.

Files changed (47) hide show
  1. mlrun/artifacts/base.py +2 -1
  2. mlrun/artifacts/plots.py +9 -5
  3. mlrun/common/constants.py +1 -0
  4. mlrun/common/schemas/__init__.py +10 -0
  5. mlrun/common/schemas/api_gateway.py +85 -0
  6. mlrun/common/schemas/auth.py +2 -2
  7. mlrun/config.py +19 -4
  8. mlrun/datastore/sources.py +5 -4
  9. mlrun/datastore/targets.py +16 -20
  10. mlrun/db/base.py +16 -0
  11. mlrun/db/factory.py +1 -1
  12. mlrun/db/httpdb.py +50 -8
  13. mlrun/db/nopdb.py +13 -0
  14. mlrun/launcher/__init__.py +1 -1
  15. mlrun/launcher/base.py +1 -1
  16. mlrun/launcher/client.py +1 -1
  17. mlrun/launcher/factory.py +1 -1
  18. mlrun/launcher/local.py +1 -1
  19. mlrun/launcher/remote.py +1 -1
  20. mlrun/model_monitoring/api.py +6 -12
  21. mlrun/model_monitoring/application.py +21 -21
  22. mlrun/model_monitoring/applications/histogram_data_drift.py +130 -40
  23. mlrun/model_monitoring/batch.py +1 -42
  24. mlrun/model_monitoring/controller.py +1 -8
  25. mlrun/model_monitoring/features_drift_table.py +34 -22
  26. mlrun/model_monitoring/helpers.py +45 -4
  27. mlrun/model_monitoring/stream_processing.py +2 -0
  28. mlrun/projects/project.py +229 -16
  29. mlrun/run.py +70 -74
  30. mlrun/runtimes/__init__.py +35 -0
  31. mlrun/runtimes/base.py +15 -11
  32. mlrun/runtimes/nuclio/__init__.py +1 -0
  33. mlrun/runtimes/nuclio/api_gateway.py +300 -0
  34. mlrun/runtimes/nuclio/application/__init__.py +15 -0
  35. mlrun/runtimes/nuclio/application/application.py +283 -0
  36. mlrun/runtimes/nuclio/application/reverse_proxy.go +87 -0
  37. mlrun/runtimes/nuclio/function.py +50 -1
  38. mlrun/runtimes/pod.py +1 -1
  39. mlrun/serving/states.py +7 -19
  40. mlrun/utils/logger.py +2 -2
  41. mlrun/utils/version/version.json +2 -2
  42. {mlrun-1.7.0rc4.dist-info → mlrun-1.7.0rc6.dist-info}/METADATA +1 -1
  43. {mlrun-1.7.0rc4.dist-info → mlrun-1.7.0rc6.dist-info}/RECORD +47 -42
  44. {mlrun-1.7.0rc4.dist-info → mlrun-1.7.0rc6.dist-info}/WHEEL +1 -1
  45. {mlrun-1.7.0rc4.dist-info → mlrun-1.7.0rc6.dist-info}/LICENSE +0 -0
  46. {mlrun-1.7.0rc4.dist-info → mlrun-1.7.0rc6.dist-info}/entry_points.txt +0 -0
  47. {mlrun-1.7.0rc4.dist-info → mlrun-1.7.0rc6.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,87 @@
1
+ // Copyright 2024 Iguazio
2
+ //
3
+ // Licensed under the Apache License, Version 2.0 (the "License");
4
+ // you may not use this file except in compliance with the License.
5
+ // You may obtain a copy of the License at
6
+ //
7
+ // http://www.apache.org/licenses/LICENSE-2.0
8
+ //
9
+ // Unless required by applicable law or agreed to in writing, software
10
+ // distributed under the License is distributed on an "AS IS" BASIS,
11
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ // See the License for the specific language governing permissions and
13
+ // limitations under the License.
14
+ package main
15
+
16
+ import (
17
+ "bytes"
18
+ "fmt"
19
+ "net/http"
20
+ "net/http/httptest"
21
+ "net/http/httputil"
22
+ "net/url"
23
+ "os"
24
+ "strings"
25
+
26
+ nuclio "github.com/nuclio/nuclio-sdk-go"
27
+ )
28
+
29
+ func Handler(context *nuclio.Context, event nuclio.Event) (interface{}, error) {
30
+ reverseProxy := context.UserData.(map[string]interface{})["reverseProxy"].(*httputil.ReverseProxy)
31
+ sidecarUrl := context.UserData.(map[string]interface{})["server"].(string)
32
+
33
+ // populate reverse proxy http request
34
+ httpRequest, err := http.NewRequest(event.GetMethod(), event.GetPath(), bytes.NewReader(event.GetBody()))
35
+ if err != nil {
36
+ context.Logger.ErrorWith("Failed to create a reverse proxy request")
37
+ return nil, err
38
+ }
39
+ for k, v := range event.GetHeaders() {
40
+ httpRequest.Header[k] = []string{v.(string)}
41
+ }
42
+ recorder := httptest.NewRecorder()
43
+ reverseProxy.ServeHTTP(recorder, httpRequest)
44
+
45
+ // send request to sidecar
46
+ context.Logger.InfoWith("Forwarding request to sidecar", "sidecarUrl", sidecarUrl)
47
+ response := recorder.Result()
48
+
49
+ headers := make(map[string]interface{})
50
+ for key, value := range response.Header {
51
+ headers[key] = value[0]
52
+ }
53
+
54
+ // let the processor calculate the content length
55
+ delete(headers, "Content-Length")
56
+ return nuclio.Response{
57
+ StatusCode: response.StatusCode,
58
+ Body: recorder.Body.Bytes(),
59
+ ContentType: response.Header.Get("Content-Type"),
60
+ Headers: headers,
61
+ }, nil
62
+ }
63
+
64
+ func InitContext(context *nuclio.Context) error {
65
+ sidecarHost := os.Getenv("SIDECAR_HOST")
66
+ sidecarPort := os.Getenv("SIDECAR_PORT")
67
+ if sidecarHost == "" {
68
+ sidecarHost = "http://localhost"
69
+ } else if !strings.Contains(sidecarHost, "://") {
70
+ sidecarHost = fmt.Sprintf("http://%s", sidecarHost)
71
+ }
72
+
73
+ // url for request forwarding
74
+ sidecarUrl := fmt.Sprintf("%s:%s", sidecarHost, sidecarPort)
75
+ parsedURL, err := url.Parse(sidecarUrl)
76
+ if err != nil {
77
+ context.Logger.ErrorWith("Failed to parse sidecar url", "sidecarUrl", sidecarUrl)
78
+ return err
79
+ }
80
+ reverseProxy := httputil.NewSingleHostReverseProxy(parsedURL)
81
+
82
+ context.UserData = map[string]interface{}{
83
+ "server": sidecarUrl,
84
+ "reverseProxy": reverseProxy,
85
+ }
86
+ return nil
87
+ }
@@ -291,6 +291,9 @@ class RemoteRuntime(KubeResource):
291
291
  def status(self, status):
292
292
  self._status = self._verify_dict(status, "status", NuclioStatus)
293
293
 
294
+ def pre_deploy_validation(self):
295
+ pass
296
+
294
297
  def set_config(self, key, value):
295
298
  self.spec.config[key] = value
296
299
  return self
@@ -603,7 +606,6 @@ class RemoteRuntime(KubeResource):
603
606
  return self.spec.command
604
607
 
605
608
  def _wait_for_function_deployment(self, db, verbose=False):
606
- text = ""
607
609
  state = ""
608
610
  last_log_timestamp = 1
609
611
  while state not in ["ready", "error", "unhealthy"]:
@@ -958,6 +960,53 @@ class RemoteRuntime(KubeResource):
958
960
  data = json.loads(data)
959
961
  return data
960
962
 
963
+ def with_sidecar(
964
+ self,
965
+ name: str = None,
966
+ image: str = None,
967
+ ports: typing.Optional[typing.Union[int, list[int]]] = None,
968
+ command: typing.Optional[str] = None,
969
+ args: typing.Optional[list[str]] = None,
970
+ ):
971
+ """
972
+ Add a sidecar container to the function pod
973
+ :param name: Sidecar container name.
974
+ :param image: Sidecar container image.
975
+ :param ports: Sidecar container ports to expose. Can be a single port or a list of ports.
976
+ :param command: Sidecar container command instead of the image entrypoint.
977
+ :param args: Sidecar container command args (requires command to be set).
978
+ """
979
+ name = name or f"{self.metadata.name}-sidecar"
980
+ sidecar = self._set_sidecar(name)
981
+ if image:
982
+ sidecar["image"] = image
983
+
984
+ ports = mlrun.utils.helpers.as_list(ports)
985
+ sidecar["ports"] = [
986
+ {
987
+ "name": "http",
988
+ "containerPort": port,
989
+ "protocol": "TCP",
990
+ }
991
+ for port in ports
992
+ ]
993
+
994
+ if command:
995
+ sidecar["command"] = command
996
+
997
+ if args:
998
+ sidecar["args"] = args
999
+
1000
+ def _set_sidecar(self, name: str) -> dict:
1001
+ self.spec.config.setdefault("spec.sidecars", [])
1002
+ sidecars = self.spec.config["spec.sidecars"]
1003
+ for sidecar in sidecars:
1004
+ if sidecar["name"] == name:
1005
+ return sidecar
1006
+
1007
+ sidecars.append({"name": name})
1008
+ return sidecars[-1]
1009
+
961
1010
  def _trigger_of_kind_exists(self, kind: str) -> bool:
962
1011
  if not self.spec.config:
963
1012
  return False
mlrun/runtimes/pod.py CHANGED
@@ -985,7 +985,7 @@ class KubeResource(BaseRuntime):
985
985
  _is_nested = True
986
986
 
987
987
  def __init__(self, spec=None, metadata=None):
988
- super().__init__(metadata, spec)
988
+ super().__init__(metadata=metadata, spec=spec)
989
989
  self.verbose = False
990
990
 
991
991
  @property
mlrun/serving/states.py CHANGED
@@ -1161,19 +1161,11 @@ class FlowStep(BaseStep):
1161
1161
  if self._controller:
1162
1162
  # async flow (using storey)
1163
1163
  event._awaitable_result = None
1164
- if self.context.is_mock:
1165
- resp = self._controller.emit(
1166
- event, return_awaitable_result=self._wait_for_result
1167
- )
1168
- if self._wait_for_result and resp:
1169
- return resp.await_result()
1170
- else:
1171
- resp_awaitable = self._controller.emit(
1172
- event, await_result=self._wait_for_result
1173
- )
1174
- if self._wait_for_result:
1175
- return resp_awaitable
1176
- return self._await_and_return_id(resp_awaitable, event)
1164
+ resp = self._controller.emit(
1165
+ event, return_awaitable_result=self._wait_for_result
1166
+ )
1167
+ if self._wait_for_result and resp:
1168
+ return resp.await_result()
1177
1169
  event = copy(event)
1178
1170
  event.body = {"id": event.id}
1179
1171
  return event
@@ -1568,12 +1560,8 @@ def _init_async_objects(context, steps):
1568
1560
  source_args = context.get_param("source_args", {})
1569
1561
  explicit_ack = is_explicit_ack_supported(context) and mlrun.mlconf.is_explicit_ack()
1570
1562
 
1571
- if context.is_mock:
1572
- source_class = storey.SyncEmitSource
1573
- else:
1574
- source_class = storey.AsyncEmitSource
1575
-
1576
- default_source = source_class(
1563
+ # TODO: Change to AsyncEmitSource once we can drop support for nuclio<1.12.10
1564
+ default_source = storey.SyncEmitSource(
1577
1565
  context=context,
1578
1566
  explicit_ack=explicit_ack,
1579
1567
  **source_args,
mlrun/utils/logger.py CHANGED
@@ -221,7 +221,7 @@ class FormatterKinds(Enum):
221
221
  JSON = "json"
222
222
 
223
223
 
224
- def _create_formatter_instance(formatter_kind: FormatterKinds) -> logging.Formatter:
224
+ def create_formatter_instance(formatter_kind: FormatterKinds) -> logging.Formatter:
225
225
  return {
226
226
  FormatterKinds.HUMAN: HumanReadableFormatter(),
227
227
  FormatterKinds.HUMAN_EXTENDED: HumanReadableExtendedFormatter(),
@@ -243,7 +243,7 @@ def create_logger(
243
243
  logger_instance = Logger(level, name=name, propagate=False)
244
244
 
245
245
  # resolve formatter
246
- formatter_instance = _create_formatter_instance(
246
+ formatter_instance = create_formatter_instance(
247
247
  FormatterKinds(formatter_kind.lower())
248
248
  )
249
249
 
@@ -1,4 +1,4 @@
1
1
  {
2
- "git_commit": "cb2750f25e202a321723af3465359944445dfda7",
3
- "version": "1.7.0-rc4"
2
+ "git_commit": "cbfd1ee5f41bee97ff90efbce14bac0a56b58dce",
3
+ "version": "1.7.0-rc6"
4
4
  }
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: mlrun
3
- Version: 1.7.0rc4
3
+ Version: 1.7.0rc6
4
4
  Summary: Tracking and config of machine learning runs
5
5
  Home-page: https://github.com/mlrun/mlrun
6
6
  Author: Yaron Haviv
@@ -1,6 +1,6 @@
1
1
  mlrun/__init__.py,sha256=o9dHUfVFADfsi6GnOPLr2OkfkHdPvOnA7rkoECen0-I,7248
2
2
  mlrun/__main__.py,sha256=vg-HMhJqQ3OYt31YmijjBh6-6AZQVe4FvDYn4MwEpYs,49229
3
- mlrun/config.py,sha256=xH1gK-yMe6PdUEyB2FCGfoNzDILHak_6H9J-1CdLwUg,62255
3
+ mlrun/config.py,sha256=DMwxalJOY6E5_JyygKq1LFKUN2vL_sop3gssHm4LWyg,62775
4
4
  mlrun/errors.py,sha256=HmOAdfpL0bCDisZMUoJPOumneq71ko49Ph-XBL-A4xA,7080
5
5
  mlrun/execution.py,sha256=meZ_qSdTmnpqW7DKv7LdBmuE1Ut34E1RbK2kO0MD_QM,40866
6
6
  mlrun/features.py,sha256=nPDvy8tJuxwbRr843oWcnLBrqMJDPUanzn2Sb3BBi6w,15569
@@ -9,17 +9,17 @@ mlrun/kfpops.py,sha256=nVQUjLVBhXqkL2OTWJUo4qFIfNVEXUKIXJmRpBW0MVU,30481
9
9
  mlrun/lists.py,sha256=ev-gLBPc_az03yQEHrKyDPq_Bjosa4D_XFiVbRIpmRY,8286
10
10
  mlrun/model.py,sha256=e9tJG8-wP3gPywDu7wJMNsusLTGpVA9WpBbILFwR5Ns,70583
11
11
  mlrun/render.py,sha256=aMH3U2z7ELpW8MwYEGOrqLdEUwMX29shqy6V6-KbgiM,13009
12
- mlrun/run.py,sha256=Xj9CdKuRFqMGTJ2fV2YTKFlTg45ZgYtrHx8Ooaljgek,42400
12
+ mlrun/run.py,sha256=br2oHhmDvcMSwEEuEBWITTRqGXiFaaIEzNYG21RVhKc,42822
13
13
  mlrun/secrets.py,sha256=Nl_7ZNSErd-AOH19vVx_PjrLg9bJM9L-BvEYoPolB1c,7776
14
14
  mlrun/api/schemas/__init__.py,sha256=LhfO3myrnLVxC0MYCAc1_LTuqhRlYV3H7BwJkjOu3dQ,14211
15
15
  mlrun/artifacts/__init__.py,sha256=LxEWcMYPawJYvNOl6H2_UvrxdLTNYfKeZcMEKFZnGgA,1187
16
- mlrun/artifacts/base.py,sha256=qAM4Tjcduf3unCvYTVV3jzMTqDWgMhYft2O-fVv5kbQ,34970
16
+ mlrun/artifacts/base.py,sha256=2UYjwp7o_Fxhr1sMYE5mSUpxGA8yt2ZU1_UicreL7hk,34978
17
17
  mlrun/artifacts/dataset.py,sha256=hKdKtyAJqPWUGs1yefOAxa10s_ar3o7MaO7oiiD_HqU,22360
18
18
  mlrun/artifacts/manager.py,sha256=p6CmIJH91vm9DsEZHgHxKYTHU2BvF9IwpLv85cqoHNs,14425
19
19
  mlrun/artifacts/model.py,sha256=DXT24CH1ZgQLz9HcWBfjRAEhCBfznoa7-pB52N9qMOI,25205
20
- mlrun/artifacts/plots.py,sha256=dHt7Ardo4yZWaPtlUN3b78eB8NXV8XKigPP0u0poRl0,15701
20
+ mlrun/artifacts/plots.py,sha256=RPJxfzS_3dKAXiY2N1LchS7c9LsrJMg42OAVyDn0mK0,15860
21
21
  mlrun/common/__init__.py,sha256=xY3wHC4TEJgez7qtnn1pQvHosi8-5UJOCtyGBS7FcGE,571
22
- mlrun/common/constants.py,sha256=sIec-l1aj4GHOn__iwX-2A2mbTx5YYeWMLyhMUsWNTQ,707
22
+ mlrun/common/constants.py,sha256=OwcN3HroG3l94Kx1B-247cp1UyqC0IVLc_TCFGWmrg4,745
23
23
  mlrun/common/helpers.py,sha256=BAhyuUnZvD_BT43i0_1EszuSbKgZx7bFy2KRIWP0XeA,1087
24
24
  mlrun/common/secrets.py,sha256=vc8WV82EZsCB5ENjUkObFOzZP59aZ1w8F82PTnqwBnc,5181
25
25
  mlrun/common/types.py,sha256=V_jCEFCJZcycFVsPzEToCRQja5bqW0zRAAVaGN_QYxQ,790
@@ -27,9 +27,10 @@ mlrun/common/db/__init__.py,sha256=xY3wHC4TEJgez7qtnn1pQvHosi8-5UJOCtyGBS7FcGE,5
27
27
  mlrun/common/db/sql_session.py,sha256=Znc8KE2oLy4lg3_vRki1sVlNx59TgDSOTCXfU561hBU,2659
28
28
  mlrun/common/model_monitoring/__init__.py,sha256=x0EMEvxVjHsm858J1t6IEA9dtKTdFpJ9sKhss10ld8A,721
29
29
  mlrun/common/model_monitoring/helpers.py,sha256=1CpxIDQPumFnpUB1eqcvCpLlyPFVeW2sL6prM-N5A1A,4405
30
- mlrun/common/schemas/__init__.py,sha256=JZZB7i513MJZUYQgEJ5KxMlTyEfvJJvWKyHB25meS5E,4718
30
+ mlrun/common/schemas/__init__.py,sha256=PKOeaerKRHOIWCmaIhCYdlieOZhZDDf8cubNOWlJQaM,4935
31
+ mlrun/common/schemas/api_gateway.py,sha256=lDXnA0mE9PCyeB0p7VSoj7TN0xSF-e6XUrTYJjLqbbQ,2344
31
32
  mlrun/common/schemas/artifact.py,sha256=d6srME_eWn2MpGuqvPQZtePRFkjDfNJgQ6JDd51qVrI,2796
32
- mlrun/common/schemas/auth.py,sha256=4aiaBy-g8iDQo41_9FQydI49Onak6j4PNsmI79s-vT4,5957
33
+ mlrun/common/schemas/auth.py,sha256=KOQfABIXTrcMh3Us5vlmnN4w3bJB7Rl3Xd5GTAFpr-g,5970
33
34
  mlrun/common/schemas/background_task.py,sha256=2qZxib2qrF_nPZj0ncitCG-2jxz2hg1qj0hFc8eswWQ,1707
34
35
  mlrun/common/schemas/client_spec.py,sha256=EFYUSstblo13-O0LTwJfnsYmxbGPAypY3idy8SHpq1c,2858
35
36
  mlrun/common/schemas/clusterization_spec.py,sha256=aeaFJZms7r7h2HDv6ML_GDAT6gboW-PxBbc3GKPalGk,888
@@ -77,20 +78,20 @@ mlrun/datastore/helpers.py,sha256=-bKveE9rteLd0hJd6OSMuMbfz09W_OXyu1G5O2ihZjs,62
77
78
  mlrun/datastore/inmem.py,sha256=6PAltUk7uyYlDgnsaJPOkg_P98iku1ys2e2wpAmPRkc,2779
78
79
  mlrun/datastore/redis.py,sha256=yJ8xYHAR4DyYzsAMLQmsdzO-VVUTQABkIxcWhVHeUFI,5575
79
80
  mlrun/datastore/s3.py,sha256=EIPAXJGZ9kpQVbb_utFFZskDM21fAGz4m6QEAGecABU,8110
80
- mlrun/datastore/sources.py,sha256=6rK3pmpQ0Mzk1p3yEvMSqiaJOpjXGsMpXOcDYlcHaP8,40060
81
+ mlrun/datastore/sources.py,sha256=1cQ697He_2avwLH6_6bMB2LBl1arBvSfdL-cYmH3UP8,40160
81
82
  mlrun/datastore/spark_udf.py,sha256=NnnB3DZxZb-rqpRy7b-NC7QWXuuqFn3XkBDc86tU4mQ,1498
82
83
  mlrun/datastore/spark_utils.py,sha256=50rllp6xXpXY__1LbU7aTXUU5ca8dKAfoskPre3npZo,1611
83
84
  mlrun/datastore/store_resources.py,sha256=dfMdFy2urilECtlwLJr5CSG12MA645b-NPYDnbr5s1A,6839
84
- mlrun/datastore/targets.py,sha256=Hei-PlXmNpbb9IJ0LOz7gGarvXoD2ca46r_47V3O9Y8,70653
85
+ mlrun/datastore/targets.py,sha256=YjjvXnaEEj0ojxiOxoRSuIrbzAvuRSpFxX-9_zJFaZ0,70714
85
86
  mlrun/datastore/utils.py,sha256=YKK9q1C0LmveQFnbh1Dkb8LwA4WbOYFTsNxziC8d0E4,5227
86
87
  mlrun/datastore/v3io.py,sha256=oCAMpST6sKnjm5CaNsTrcwqk3bvUFzuKBvNFmUJpPfw,9252
87
88
  mlrun/datastore/wasbfs/__init__.py,sha256=s5Ul-0kAhYqFjKDR2X0O2vDGDbLQQduElb32Ev56Te4,1343
88
89
  mlrun/datastore/wasbfs/fs.py,sha256=MnSj7Q4OKA2L55ihCmUnj2t3GA3B77oLMdAw-yxvN9w,6151
89
90
  mlrun/db/__init__.py,sha256=WqJ4x8lqJ7ZoKbhEyFqkYADd9P6E3citckx9e9ZLcIU,1163
90
- mlrun/db/base.py,sha256=exhNorDB-wxRq0yRUj-cXe5NUB1hR6fe7p9grvw3sWc,18505
91
- mlrun/db/factory.py,sha256=wTEKHEmdDkylM6IkTYvmEYVF8gn2HdjLoLoWICCyatI,2403
92
- mlrun/db/httpdb.py,sha256=pljaKPnFAPX4zuDHl8KcQ8-nkR-KLrEW9bcXFws4LbE,156837
93
- mlrun/db/nopdb.py,sha256=7SnfMdusNvtxM0GmFIYLCBnkB-fSnvUtM2hQoF1q--I,14514
91
+ mlrun/db/base.py,sha256=d6J2g2uFvJh8CcAYoFR4DxPvKsAjByKxLqGENWDoluc,18906
92
+ mlrun/db/factory.py,sha256=ibIrE5QkIIyzDU1FXKrfbc31cZiRLYKDZb8dqCpQwyU,2397
93
+ mlrun/db/httpdb.py,sha256=JtVbbetPzhpZNYb5meXMevPIRGkGu2KBbb9QTADYvLs,158600
94
+ mlrun/db/nopdb.py,sha256=FoEFMfnh1aSs-mcXlwA8GnnbQCIoTtFkflbFpUF5bMY,14814
94
95
  mlrun/feature_store/__init__.py,sha256=n1F5m1svFW2chbE2dJdWzZJJiYS4E-y8PQsG9Q-F0lU,1584
95
96
  mlrun/feature_store/api.py,sha256=bO5I_lkIPLv8j3AXYOAseSBI8RrsGwQ9m7isepuADkw,49480
96
97
  mlrun/feature_store/common.py,sha256=DKmoRk04NCS1gv7qZuEUa2-g8WsfR6IWjYctcrqKVlg,12853
@@ -190,28 +191,28 @@ mlrun/frameworks/xgboost/__init__.py,sha256=opkcSxdS4y-FF6EO2KHHmtEqpACk06RU2y6i
190
191
  mlrun/frameworks/xgboost/mlrun_interface.py,sha256=QcP_mTKBjxvRyWcNnju0BlvXBDOqNH9B1XBoxvEojAk,878
191
192
  mlrun/frameworks/xgboost/model_handler.py,sha256=e7IwdrmAaQ5Yy_fqOirN7oi-xEJgg_Gqh83Dw1w-U34,11530
192
193
  mlrun/frameworks/xgboost/utils.py,sha256=5zLzHoeI3n2FuA_rdGzi404QCTLfQx1TYEyUWhZogs8,1069
193
- mlrun/launcher/__init__.py,sha256=pZgS6ZN126aJme4z5spCX-RmdchShxMnQeCPya8AsQI,577
194
- mlrun/launcher/base.py,sha256=EGnfzZd0HUkS92lcFJ0c6AxTqM_Chpa-WzdGMNsPZNk,16438
195
- mlrun/launcher/client.py,sha256=pnHqTSGl3FnwzOh7FicrGl0JOWZ3naKjay3MOkbIzLI,6054
196
- mlrun/launcher/factory.py,sha256=tk6foFWox7f_xaeTgkWTx9ht_5fv0XzLDR8ucdb8oTE,2344
197
- mlrun/launcher/local.py,sha256=s6waNbLAUC6qb0bpWWHCq2aveRGUSaEbAL7x1F1cgxQ,10915
198
- mlrun/launcher/remote.py,sha256=zxPaN6yElLiZ51ABSz8qfnulNXpDFuW_xN3vNy2xiDQ,7475
194
+ mlrun/launcher/__init__.py,sha256=JL8qkT1lLr1YvW6iP0hmwDTaSR2RfrMDx0-1gWRhTOE,571
195
+ mlrun/launcher/base.py,sha256=GHEZoxrgW1EIjYu9y6rGKLWwKBxEj6TqZd1ntSJ0CuY,16432
196
+ mlrun/launcher/client.py,sha256=q3bmydSpO2x2Fbgy18W1uvaLbtxzJFlj1Uq6YNVndUU,6048
197
+ mlrun/launcher/factory.py,sha256=RW7mfzEFi8fR0M-4W1JQg1iq3_muUU6OTqT_3l4Ubrk,2338
198
+ mlrun/launcher/local.py,sha256=6E83lCJ8Ma4WPCQYzo3P6c4tvpIipJsokZ3zMrCORbk,10909
199
+ mlrun/launcher/remote.py,sha256=2DGInyx0um5BRUEA5DYcnLXzVKTIv8JxeXogWdxl48o,7469
199
200
  mlrun/model_monitoring/__init__.py,sha256=XaYyvWsIXpjJQ2gCPj8tFvfSbRSEEqgDtNz4tCE5H4g,915
200
- mlrun/model_monitoring/api.py,sha256=GXQNIVjjoMK-lM2MRRdQxQPnyfNhzm3ZgyxgSTcF3OM,36626
201
- mlrun/model_monitoring/application.py,sha256=Omy8t8GKqtCachQ67iovM1e0DQ24WXCH7K9QfjJ42Gw,12282
202
- mlrun/model_monitoring/batch.py,sha256=s2QCB0NW6Aiwy8JXveOb5-ULcwr5cCp4zG1z1yCkkog,39836
203
- mlrun/model_monitoring/controller.py,sha256=9HIM0Ko2c4D-1d2q4--Bebuch8r6CMZHGrtef5jVZg8,28342
201
+ mlrun/model_monitoring/api.py,sha256=urggp5P_lpfLO1RO4YVdT_jDhIMF8Xqr22H3OYhRZnw,36535
202
+ mlrun/model_monitoring/application.py,sha256=w87IuSgkIUXV5T6HpMiWWCsxFoikD6Mk8JpoyoefUCg,12504
203
+ mlrun/model_monitoring/batch.py,sha256=nVEj-NtgqE4m9-LPMiWht-ZEbw4YY24jjaskuTcsPqs,38184
204
+ mlrun/model_monitoring/controller.py,sha256=OUqrZkYuCP2_t5pSEZ4gOemejWbjnNLTcdMEAKTBths,27925
204
205
  mlrun/model_monitoring/controller_handler.py,sha256=J9Y9ppLsQaxyYRl21165Rr7QuI9EM-mk-5veAqs4Bi0,1336
205
206
  mlrun/model_monitoring/evidently_application.py,sha256=o9PsDsjyRfcbuC1X1gb2ww5nzWCsR_KheabtpxKZ5yY,4824
206
- mlrun/model_monitoring/features_drift_table.py,sha256=1HrL11_0zvl8LjKSjluEaE92WlCmGwoeqoBazxYog6M,24866
207
- mlrun/model_monitoring/helpers.py,sha256=Y7X-YjIaV2LN4Aiski50IEIP0dLCv6uTfzwzS5FVisE,7302
207
+ mlrun/model_monitoring/features_drift_table.py,sha256=c6GpKtpOJbuT1u5uMWDL_S-6N4YPOmlktWMqPme3KFY,25308
208
+ mlrun/model_monitoring/helpers.py,sha256=OsMBvRS_kSFe4cdarwVrrlwGeRDOesUm8zmasfRcfQg,9013
208
209
  mlrun/model_monitoring/model_endpoint.py,sha256=BBtxdY5ciormI_al4zshmIp0GN7hGhOCn-hLgpCXek0,3938
209
210
  mlrun/model_monitoring/prometheus.py,sha256=cUR4y73GutJB_pA_VCBDl9YtK4PcIJp2wj2rnLVmYi4,7578
210
- mlrun/model_monitoring/stream_processing.py,sha256=o2EmztZH3SZTawZwcvwCsaxGwNWmoZdw3YS1-YJJG0o,48113
211
+ mlrun/model_monitoring/stream_processing.py,sha256=XKj9ToKj7VgF_Yxb6I27r1AoVU64EwflGC1966oIUaQ,48198
211
212
  mlrun/model_monitoring/tracking_policy.py,sha256=9P0oRjFMfoqKY7Zv2rv7abKgnKkiepFJfimWx-LOm0M,5283
212
213
  mlrun/model_monitoring/writer.py,sha256=IWPzPenoAkfIxlvn0IdcdB19Nxqmg4mjbo3-RnYWw9A,8669
213
214
  mlrun/model_monitoring/applications/__init__.py,sha256=6CsTXAxeLbbf8yfCADTaxmiavqwrLEdYFJ-qc5kgDAY,569
214
- mlrun/model_monitoring/applications/histogram_data_drift.py,sha256=FeEKXYY7ORiBOKNUI45z8Z2xXzzuIKIai1WQnPMc5bU,8005
215
+ mlrun/model_monitoring/applications/histogram_data_drift.py,sha256=IG1qRXs316OdjcLLEHeKGH4t6WZabt8o92RLk-iB9e4,11647
215
216
  mlrun/model_monitoring/metrics/__init__.py,sha256=6CsTXAxeLbbf8yfCADTaxmiavqwrLEdYFJ-qc5kgDAY,569
216
217
  mlrun/model_monitoring/metrics/histogram_distance.py,sha256=E9_WIl2vd6qNvoHVHoFcnuQk3ekbFWOdi8aU7sHrfk4,4724
217
218
  mlrun/model_monitoring/stores/__init__.py,sha256=adU_G07jkD3JUT8__d0jAxs9nNomL7igKmd6uVM9L50,4525
@@ -245,9 +246,9 @@ mlrun/platforms/other.py,sha256=T1BibmEBNggM62YJ6oejRmcVv_1besfH5DDHhCaDkRg,1182
245
246
  mlrun/projects/__init__.py,sha256=Lv5rfxyXJrw6WGOWJKhBz66M6t3_zsNMCfUD6waPwx4,1153
246
247
  mlrun/projects/operations.py,sha256=SiDHd7cqh9u23AVpETbkJE6WmOnB434zBrwM-StZLQY,18538
247
248
  mlrun/projects/pipelines.py,sha256=SMXBmIeuopwPpU0o2VFvaPXgbmaj-2WfCJryN6mZvZY,40124
248
- mlrun/projects/project.py,sha256=fRsf7dVj9F9jpVqp7bnQ7B5fNAFY-tAcpwgMWtkuq_w,155594
249
- mlrun/runtimes/__init__.py,sha256=vsoNA9ts_VPvGN9YPYKAjkxZe1RaZu22D5t-tiMyP-4,7034
250
- mlrun/runtimes/base.py,sha256=G0OtEBza6I_6AwQPA-k4XhNkbboxwf9g3Q56kowl1V4,36355
249
+ mlrun/projects/project.py,sha256=S8nL7it4E92OUWGE6PSjoQQsGNV22Q5bnRsaI2LEL2E,165058
250
+ mlrun/runtimes/__init__.py,sha256=tTDfia4cr0gUy2rEtLTj4Nz6M_JJd6utzkFi-ogDvXg,8289
251
+ mlrun/runtimes/base.py,sha256=pXZAuE5kzOwdSBUjscdXzgfjdfzW4PxLq9d3Mf0IQbI,36572
251
252
  mlrun/runtimes/constants.py,sha256=oP3OxdYCpbvadJ3zP1JGkqGBKaBheNkCnJISWha9x58,9513
252
253
  mlrun/runtimes/daskjob.py,sha256=xvN8ajs3-_voqxrfz6b3rh_idNw4ypRAkPRWGOnDMGA,19149
253
254
  mlrun/runtimes/funcdoc.py,sha256=FHwnLfFzoD6yGlsAJXAl_3VTtudgg4fTrsw_XqLOkC0,10508
@@ -255,7 +256,7 @@ mlrun/runtimes/function_reference.py,sha256=iWKRe4r2GTc5S8FOIASYUNLwwne8NqIui51P
255
256
  mlrun/runtimes/generators.py,sha256=v28HdNgxdHvj888G1dTnUeQZz-D9iTO0hoGeZbCdiuQ,7241
256
257
  mlrun/runtimes/kubejob.py,sha256=UfSm7hiPLAtM0TfIE5nbBdSvrbsKWCZfvKP-SZhGyAk,12500
257
258
  mlrun/runtimes/local.py,sha256=u9MhASzF7VRt_yT6_mZPze_hDvAaBxonPk_KafRG3Gg,21783
258
- mlrun/runtimes/pod.py,sha256=6s-ZLNudzoILXfpvb0_DPWujMrKXaza_yc2rfId8wss,58650
259
+ mlrun/runtimes/pod.py,sha256=id1mxg6lCIWQA55x0Yk3-fLwtnR9MisRkwRoIW0rWCE,58664
259
260
  mlrun/runtimes/remotesparkjob.py,sha256=ORkKmZRz_V3YiNE1NF7JIa_hI_LWbKEyI15Qb6R6g5I,7326
260
261
  mlrun/runtimes/utils.py,sha256=G4t29elE2PBT7WQZmrEOTIFAJUmeu6zXGEWwgz533vg,16004
261
262
  mlrun/runtimes/databricks_job/__init__.py,sha256=kXGBqhLN0rlAx0kTXhozGzFsIdSqW0uTSKMmsLgq_is,569
@@ -266,10 +267,14 @@ mlrun/runtimes/mpijob/__init__.py,sha256=jZf2uPBv6IB18Jj-dGSQ9NU5_xxni7XS4dnDZGw
266
267
  mlrun/runtimes/mpijob/abstract.py,sha256=AqIb-nEKZaRO7x1GxJea6cXg_Tn3Dr4WiWZUz3ywCjU,9161
267
268
  mlrun/runtimes/mpijob/v1.py,sha256=_RUlFo_3NcFf7x-QpUNVm8f7qNbRDIdUmPf_ijrv54U,3206
268
269
  mlrun/runtimes/mpijob/v1alpha1.py,sha256=w_971wwL03hW_ksgHJXdjTdjhxCs9KJ0zNqHSQ9whIM,1034
269
- mlrun/runtimes/nuclio/__init__.py,sha256=5V9oUtyU058xH_n9CiAXWDZJuipTyG3I1RGhBTt7T_0,758
270
- mlrun/runtimes/nuclio/function.py,sha256=glnE8K-4rQVfQB2hCeLt8OtcpG2NFwKgEB8aRClcSJ4,47402
270
+ mlrun/runtimes/nuclio/__init__.py,sha256=gx1kizzKv8pGT5TNloN1js1hdbxqDw3rM90sLVYVffY,794
271
+ mlrun/runtimes/nuclio/api_gateway.py,sha256=t4im6F8f-zPYYXrHXCFr46Rw6sGgvydIpxpgxncTUMQ,10277
272
+ mlrun/runtimes/nuclio/function.py,sha256=bCK_EVrLe2NfAelVpKtQrOYVnsPMiT91sB2_aJzLP_o,48990
271
273
  mlrun/runtimes/nuclio/nuclio.py,sha256=sLK8KdGO1LbftlL3HqPZlFOFTAAuxJACZCVl1c0Ha6E,2942
272
274
  mlrun/runtimes/nuclio/serving.py,sha256=hzkXKCVgU6uXLYfO3H15ZWJIQiSbcKY2M_WLybHW1hM,30363
275
+ mlrun/runtimes/nuclio/application/__init__.py,sha256=rRs5vasy_G9IyoTpYIjYDafGoL6ifFBKgBtsXn31Atw,614
276
+ mlrun/runtimes/nuclio/application/application.py,sha256=IxBvE7XcQKgtPWJqib32v6ANigxbK0-yfKC3vq0mjG4,9678
277
+ mlrun/runtimes/nuclio/application/reverse_proxy.go,sha256=RDR2BuO7E87Ek9DYjvEaF5manuxcuVaVY7eZX986GFI,2920
273
278
  mlrun/runtimes/sparkjob/__init__.py,sha256=_KPvk0qefeLtHO6lxQE_AMOGiMTG_OT48eRCE4Z2ldw,709
274
279
  mlrun/runtimes/sparkjob/spark3job.py,sha256=yU-PxEI2pDJK5LHXTTcmrdjmO1Jwrj5Zyf8NwPDnZyA,41189
275
280
  mlrun/serving/__init__.py,sha256=_6HRAOuS2Ehjo3vwx5h1aI_-JppxEAsl4VfEERAbGFE,1078
@@ -278,7 +283,7 @@ mlrun/serving/remote.py,sha256=jLFjMfgPx_PwJkpRHYbKrB9EQZcD4gZ-iczzHl1o0zs,18010
278
283
  mlrun/serving/routers.py,sha256=YN8k6eWWraqWOU3SqYFda7ky-oV_O0--zAuPEGwKdPI,54976
279
284
  mlrun/serving/server.py,sha256=42wWLtMb1AWeXtSXzSv0bKfQkxAQreqxs40Q0C_Bc-c,21161
280
285
  mlrun/serving/serving_wrapper.py,sha256=R670-S6PX_d5ER6jiHtRvacuPyFzQH0mEf2K0sBIIOM,836
281
- mlrun/serving/states.py,sha256=Jd08eDKSeh_PmR5HEwmCDYmCinOUUUacHwWW_URnjK0,56175
286
+ mlrun/serving/states.py,sha256=EUkltwQlNNU6mjsUc8f3Rq65SGiAICkCAxbHw2jUqBk,55773
282
287
  mlrun/serving/utils.py,sha256=WO0n_YTO0YVPTjp_90zxRl4vey4flDgw5vaOHK5p_qY,3871
283
288
  mlrun/serving/v1_serving.py,sha256=by4myxlnwyZ0ijQ5fURilGCK1sUpdQL2Il1VR3Xqpxg,11805
284
289
  mlrun/serving/v2_serving.py,sha256=z1jTy0ObRFpV5nxMk-FGL2PoTQf-L01sYjfdA6_NqJc,23559
@@ -295,7 +300,7 @@ mlrun/utils/condition_evaluator.py,sha256=-nGfRmZzivn01rHTroiGY4rqEv8T1irMyhzxEe
295
300
  mlrun/utils/db.py,sha256=KEa-vzicUhzIwo1wBXax2ZuXtYgf5to7wnsY3CYCiOQ,1713
296
301
  mlrun/utils/helpers.py,sha256=guQSdMvQT8KdS2_LHXe0C9pTEC56XtsWNMliSI0i5CQ,51162
297
302
  mlrun/utils/http.py,sha256=mQqnCsdsg9_q2WIbgoEKGQpMesslb0ErvbwYV-htarw,8700
298
- mlrun/utils/logger.py,sha256=MCj18mxDbDV86CV_R2l7_8PoAWZPU-GtmkSbWFkss4w,8135
303
+ mlrun/utils/logger.py,sha256=6-XMv1ucg9NqTstLpiji9qb06XHpx2LvNA8JxU1J5Tk,8133
299
304
  mlrun/utils/regex.py,sha256=Nd7xnDHU9PEOsse6rFwLNVgU4AaYCyuwMmQ9qgx2-Vw,4581
300
305
  mlrun/utils/retryer.py,sha256=BsST2dbGCHcY46wyGG3zWel_O9YquO0c57P3rcBxXU0,7522
301
306
  mlrun/utils/singleton.py,sha256=p1Y-X0mPSs_At092GS-pZCA8CTR62HOqPU07_ZH6-To,869
@@ -311,11 +316,11 @@ mlrun/utils/notifications/notification/ipython.py,sha256=d47s-fW4TgqOJZOSdmzBQvd
311
316
  mlrun/utils/notifications/notification/slack.py,sha256=5JysqIpUYUZKXPSeeZtbl7qb2L9dj7p2NvnEBcEsZkA,3898
312
317
  mlrun/utils/notifications/notification/webhook.py,sha256=QHezCuN5uXkLcroAGxGrhGHaxAdUvkDLIsp27_Yrfd4,2390
313
318
  mlrun/utils/version/__init__.py,sha256=7kkrB7hEZ3cLXoWj1kPoDwo4MaswsI2JVOBpbKgPAgc,614
314
- mlrun/utils/version/version.json,sha256=gHF4gBcfnBuVhOFzc6eGMjVwEIMbyScdRcHadPcGqMA,88
319
+ mlrun/utils/version/version.json,sha256=ILF1rc0HYdLIjaV0EoivXDa8o11QVEm_vR_0HbZkVBA,88
315
320
  mlrun/utils/version/version.py,sha256=eEW0tqIAkU9Xifxv8Z9_qsYnNhn3YH7NRAfM-pPLt1g,1878
316
- mlrun-1.7.0rc4.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
317
- mlrun-1.7.0rc4.dist-info/METADATA,sha256=cK98mzAZ6SZp3vGbvlgSuC72lt064HWhDulfYclg04Y,18263
318
- mlrun-1.7.0rc4.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
319
- mlrun-1.7.0rc4.dist-info/entry_points.txt,sha256=1Owd16eAclD5pfRCoJpYC2ZJSyGNTtUr0nCELMioMmU,46
320
- mlrun-1.7.0rc4.dist-info/top_level.txt,sha256=NObLzw3maSF9wVrgSeYBv-fgnHkAJ1kEkh12DLdd5KM,6
321
- mlrun-1.7.0rc4.dist-info/RECORD,,
321
+ mlrun-1.7.0rc6.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
322
+ mlrun-1.7.0rc6.dist-info/METADATA,sha256=aTGZl-fqFbpXsw_iPz64qD7nl2dBrtDqZuuxItHHQ3Q,18263
323
+ mlrun-1.7.0rc6.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
324
+ mlrun-1.7.0rc6.dist-info/entry_points.txt,sha256=1Owd16eAclD5pfRCoJpYC2ZJSyGNTtUr0nCELMioMmU,46
325
+ mlrun-1.7.0rc6.dist-info/top_level.txt,sha256=NObLzw3maSF9wVrgSeYBv-fgnHkAJ1kEkh12DLdd5KM,6
326
+ mlrun-1.7.0rc6.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: bdist_wheel (0.42.0)
2
+ Generator: bdist_wheel (0.43.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5