mlrun 1.7.0rc18__py3-none-any.whl → 1.7.0rc19__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/__main__.py +5 -2
- mlrun/common/constants.py +64 -3
- mlrun/common/formatters/__init__.py +16 -0
- mlrun/common/formatters/base.py +59 -0
- mlrun/common/formatters/function.py +41 -0
- mlrun/common/runtimes/constants.py +29 -4
- mlrun/common/schemas/__init__.py +0 -1
- mlrun/common/schemas/api_gateway.py +52 -0
- mlrun/common/schemas/frontend_spec.py +1 -0
- mlrun/common/schemas/model_monitoring/__init__.py +6 -3
- mlrun/common/schemas/model_monitoring/constants.py +2 -7
- mlrun/config.py +7 -2
- mlrun/datastore/sources.py +16 -22
- mlrun/datastore/store_resources.py +5 -1
- mlrun/datastore/targets.py +3 -2
- mlrun/datastore/utils.py +42 -0
- mlrun/execution.py +16 -6
- mlrun/feature_store/ingestion.py +7 -6
- mlrun/feature_store/retrieval/job.py +4 -1
- mlrun/frameworks/parallel_coordinates.py +2 -1
- mlrun/frameworks/tf_keras/__init__.py +4 -1
- mlrun/launcher/client.py +4 -2
- mlrun/launcher/local.py +8 -2
- mlrun/launcher/remote.py +8 -2
- mlrun/model.py +5 -1
- mlrun/model_monitoring/db/stores/__init__.py +0 -2
- mlrun/model_monitoring/db/stores/base/store.py +1 -2
- mlrun/model_monitoring/db/stores/sqldb/models/__init__.py +43 -21
- mlrun/model_monitoring/db/stores/sqldb/models/base.py +32 -2
- mlrun/model_monitoring/db/stores/sqldb/models/mysql.py +25 -5
- mlrun/model_monitoring/db/stores/sqldb/models/sqlite.py +5 -0
- mlrun/model_monitoring/db/stores/sqldb/sql_store.py +207 -139
- mlrun/model_monitoring/db/tsdb/__init__.py +1 -1
- mlrun/model_monitoring/db/tsdb/base.py +225 -38
- mlrun/model_monitoring/db/tsdb/helpers.py +30 -0
- mlrun/model_monitoring/db/tsdb/tdengine/schemas.py +48 -15
- mlrun/model_monitoring/db/tsdb/tdengine/tdengine_connector.py +182 -16
- mlrun/model_monitoring/db/tsdb/v3io/v3io_connector.py +229 -42
- mlrun/model_monitoring/helpers.py +13 -0
- mlrun/model_monitoring/writer.py +36 -11
- mlrun/projects/operations.py +8 -5
- mlrun/projects/pipelines.py +42 -15
- mlrun/projects/project.py +22 -6
- mlrun/runtimes/base.py +2 -1
- mlrun/runtimes/local.py +4 -1
- mlrun/runtimes/nuclio/api_gateway.py +32 -8
- mlrun/runtimes/nuclio/application/application.py +3 -3
- mlrun/runtimes/nuclio/function.py +1 -4
- mlrun/runtimes/utils.py +5 -6
- mlrun/serving/server.py +2 -1
- mlrun/utils/helpers.py +8 -6
- mlrun/utils/logger.py +28 -1
- mlrun/utils/notifications/notification/__init__.py +14 -9
- mlrun/utils/notifications/notification_pusher.py +10 -3
- mlrun/utils/v3io_clients.py +0 -1
- mlrun/utils/version/version.json +2 -2
- {mlrun-1.7.0rc18.dist-info → mlrun-1.7.0rc19.dist-info}/METADATA +3 -3
- {mlrun-1.7.0rc18.dist-info → mlrun-1.7.0rc19.dist-info}/RECORD +62 -59
- mlrun/model_monitoring/db/v3io_tsdb_reader.py +0 -335
- {mlrun-1.7.0rc18.dist-info → mlrun-1.7.0rc19.dist-info}/LICENSE +0 -0
- {mlrun-1.7.0rc18.dist-info → mlrun-1.7.0rc19.dist-info}/WHEEL +0 -0
- {mlrun-1.7.0rc18.dist-info → mlrun-1.7.0rc19.dist-info}/entry_points.txt +0 -0
- {mlrun-1.7.0rc18.dist-info → mlrun-1.7.0rc19.dist-info}/top_level.txt +0 -0
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
mlrun/__init__.py,sha256=y08M1JcKXy5-9_5WaI9fn5aV5BxIQ5QkbduJK0OxWbA,7470
|
|
2
|
-
mlrun/__main__.py,sha256=
|
|
3
|
-
mlrun/config.py,sha256=
|
|
2
|
+
mlrun/__main__.py,sha256=F65N1MUdAn5hO4qFuJ1v5M3XSCLHUKv7C010toZd-P4,45852
|
|
3
|
+
mlrun/config.py,sha256=kFccBYAVmCgWZmwpBNtWmv3DOaYGB5IhNLhgj6_6dFQ,65140
|
|
4
4
|
mlrun/errors.py,sha256=53oT_uQliD-CEe7jxJZMFlNOT86zCTYBl802MZYluaE,7395
|
|
5
|
-
mlrun/execution.py,sha256=
|
|
5
|
+
mlrun/execution.py,sha256=HIYkzHHG6W-txJvzq0flYVGjPvV0qmhPhqQz6lelUOs,41332
|
|
6
6
|
mlrun/features.py,sha256=m17K_3l9Jktwb9dOwlHLTAPTlemsWrRF7dJhXUX0iJU,15429
|
|
7
7
|
mlrun/k8s_utils.py,sha256=YyFZT2WNZrJkcZoqxrkduQgzQ1X-7195O0mmEqvaIug,7023
|
|
8
8
|
mlrun/lists.py,sha256=3PqBdcajdwhTe1XuFsAaHTuFVM2kjwepf31qqE82apg,8384
|
|
9
|
-
mlrun/model.py,sha256=
|
|
9
|
+
mlrun/model.py,sha256=UM7Mfq7cu5tVr7PGa45aFynOdFnY7knua4o2-BSmKuY,71946
|
|
10
10
|
mlrun/render.py,sha256=uVI4kk7XqMAxamholZ_stPQ0nPUebij50ZpgAdjDQ6U,13131
|
|
11
11
|
mlrun/run.py,sha256=0V99lXDuXtrUlZlmVHi7Dj2OyVT7fXrLHYLqqxfon_4,42457
|
|
12
12
|
mlrun/secrets.py,sha256=ibtCK79u7JVBZF6F0SP1-xXXF5MyrLEUs_TCWiJAnlc,7798
|
|
@@ -20,18 +20,21 @@ mlrun/artifacts/manager.py,sha256=AsZ2RAIkQU6nNG-GJR2Fu2JwYCuP94pwnFCgREPFzLQ,14
|
|
|
20
20
|
mlrun/artifacts/model.py,sha256=ObUkqFMejYOtq0CDFdpYwzwhQ5bsHv0dHTysuVPJnbs,21102
|
|
21
21
|
mlrun/artifacts/plots.py,sha256=dS0mHGt1b20tN2JyEH9H5o5I0oMKZkzn3Uz_3Hf4WjU,4813
|
|
22
22
|
mlrun/common/__init__.py,sha256=xY3wHC4TEJgez7qtnn1pQvHosi8-5UJOCtyGBS7FcGE,571
|
|
23
|
-
mlrun/common/constants.py,sha256=
|
|
23
|
+
mlrun/common/constants.py,sha256=JG5YNpdf3wjCQXKfn_iKMFOwETjdgpA79sASUC_loR0,2922
|
|
24
24
|
mlrun/common/helpers.py,sha256=BAhyuUnZvD_BT43i0_1EszuSbKgZx7bFy2KRIWP0XeA,1087
|
|
25
25
|
mlrun/common/secrets.py,sha256=vc8WV82EZsCB5ENjUkObFOzZP59aZ1w8F82PTnqwBnc,5181
|
|
26
26
|
mlrun/common/types.py,sha256=nNqNqNpn-xl4xliy-ofBAWVX02q5NFh6wxmvOnD4wW8,949
|
|
27
27
|
mlrun/common/db/__init__.py,sha256=xY3wHC4TEJgez7qtnn1pQvHosi8-5UJOCtyGBS7FcGE,571
|
|
28
28
|
mlrun/common/db/sql_session.py,sha256=Znc8KE2oLy4lg3_vRki1sVlNx59TgDSOTCXfU561hBU,2659
|
|
29
|
+
mlrun/common/formatters/__init__.py,sha256=dQrhtWwk4WH8Gl9_2AmAruScXQ3bduVIsEPFFIs75Vk,617
|
|
30
|
+
mlrun/common/formatters/base.py,sha256=juGpuKETYfF79zkMPpdHn5jQINVu3Vl-ISk4-3Ypp3I,2006
|
|
31
|
+
mlrun/common/formatters/function.py,sha256=HBvIWxJA4Se_9eFAZD2JhbSex7fPS_cOeGcN-sgPKMc,1298
|
|
29
32
|
mlrun/common/model_monitoring/__init__.py,sha256=x0EMEvxVjHsm858J1t6IEA9dtKTdFpJ9sKhss10ld8A,721
|
|
30
33
|
mlrun/common/model_monitoring/helpers.py,sha256=1CpxIDQPumFnpUB1eqcvCpLlyPFVeW2sL6prM-N5A1A,4405
|
|
31
|
-
mlrun/common/runtimes/constants.py,sha256=
|
|
32
|
-
mlrun/common/schemas/__init__.py,sha256=
|
|
34
|
+
mlrun/common/runtimes/constants.py,sha256=Rl0Sd8n_L7Imo-uF1LL9CJ5Szi0W1gUm36yrF8PXfSc,10989
|
|
35
|
+
mlrun/common/schemas/__init__.py,sha256=31XU6t7yY83F8zBpXnUaKf-ClI97tK-azwzEbdmQdJY,5192
|
|
33
36
|
mlrun/common/schemas/alert.py,sha256=yzXcmrhW8EHb-NxArVSlH0pRPrBLyqpMCTgMCDz4ExM,6644
|
|
34
|
-
mlrun/common/schemas/api_gateway.py,sha256=
|
|
37
|
+
mlrun/common/schemas/api_gateway.py,sha256=CEvDsGHRH9okB52HeGx5HJXYxnDzPta1atwNECJq8NM,4797
|
|
35
38
|
mlrun/common/schemas/artifact.py,sha256=RsiuVztn_eS5BuSRFUyJGTC9ed-Z2SpsEqJ_WslM30E,3375
|
|
36
39
|
mlrun/common/schemas/auth.py,sha256=5c4WSn3KdX1v04ttSQblkF_gyjdjuJSHG7BTCx4_LWM,6336
|
|
37
40
|
mlrun/common/schemas/background_task.py,sha256=2qZxib2qrF_nPZj0ncitCG-2jxz2hg1qj0hFc8eswWQ,1707
|
|
@@ -42,7 +45,7 @@ mlrun/common/schemas/constants.py,sha256=UnnhyLeF-SSjy8KaV5a-TBw4Ws675gueYGiP1fr
|
|
|
42
45
|
mlrun/common/schemas/datastore_profile.py,sha256=hJ8q54A8VZKsnOvSIjcllj4MZ1bBhb_EmBgsqpwSF_Y,750
|
|
43
46
|
mlrun/common/schemas/events.py,sha256=ROHJLo_fqYjc96pek7yhAUPpPRIuAR76lwxvNz8LIr8,1026
|
|
44
47
|
mlrun/common/schemas/feature_store.py,sha256=577OHVRZbV3kqYei4drVdTmCcGLJU8UXSGEpfo9FTQk,3717
|
|
45
|
-
mlrun/common/schemas/frontend_spec.py,sha256=
|
|
48
|
+
mlrun/common/schemas/frontend_spec.py,sha256=CNPq3YV0U1jCbCMbb84_Oid2Snow5EXYt1F5wsuhgD8,2454
|
|
46
49
|
mlrun/common/schemas/function.py,sha256=Khd5Jd6ept1nHWkW1WdIy1u8iK4O8_Ddf3a7cv3Hf1I,4652
|
|
47
50
|
mlrun/common/schemas/http.py,sha256=1PtYFhF6sqLSBRcuPMtYcUGmroBhaleqLmYidSdL9LM,705
|
|
48
51
|
mlrun/common/schemas/hub.py,sha256=cuv_vpkO27XNCZzfytnUyi0k0ZA4wf_QRn5B0ZPoK-Y,4116
|
|
@@ -60,8 +63,8 @@ mlrun/common/schemas/schedule.py,sha256=e9nAeRkZkyk37Ws1cBNseHVKPOQqmWV16rt-zr_e
|
|
|
60
63
|
mlrun/common/schemas/secret.py,sha256=51tCN1F8DFTq4y_XdHIMDy3I1TnMEBX8kO8BHKavYF4,1484
|
|
61
64
|
mlrun/common/schemas/tag.py,sha256=OAn9Qt6z8ibqw8uU8WQSvuwY8irUv45Dhx2Ko5FzUss,884
|
|
62
65
|
mlrun/common/schemas/workflow.py,sha256=eRoaOBFiWbvP0iwZ6Aof5JmheV81A0-0PGi8L4vuXmI,1823
|
|
63
|
-
mlrun/common/schemas/model_monitoring/__init__.py,sha256=
|
|
64
|
-
mlrun/common/schemas/model_monitoring/constants.py,sha256=
|
|
66
|
+
mlrun/common/schemas/model_monitoring/__init__.py,sha256=7Aih_5KAcmSMeTNsBvunuQpPkAQ_GslzVU4HtU6Fg_M,1777
|
|
67
|
+
mlrun/common/schemas/model_monitoring/constants.py,sha256=ZwiSzQfgKEv06AP0wQjUK8gWO9eyNZg29aaxG0_yb1s,9548
|
|
65
68
|
mlrun/common/schemas/model_monitoring/grafana.py,sha256=SG13MFUUz_tk6-mWeSx17qcdEW4ekicxqNtnMSwRTCY,1559
|
|
66
69
|
mlrun/common/schemas/model_monitoring/model_endpoints.py,sha256=o7sejyMX5sYm6Aq9Ae6arKV-kqIAKCdtCJ7rN36cscU,14251
|
|
67
70
|
mlrun/data_types/__init__.py,sha256=EkxfkFoHb91zz3Aymq-KZfCHlPMzEc3bBqgzPUwmHWY,1087
|
|
@@ -83,12 +86,12 @@ mlrun/datastore/inmem.py,sha256=PQAbNbjQvDhtCQrvPTCuUWRwGVe4a7nB5E84l8C20pQ,2802
|
|
|
83
86
|
mlrun/datastore/redis.py,sha256=OKMkDCU3APhxfo65SyJq605u1DsfOYH0fODnCXZRqEU,5575
|
|
84
87
|
mlrun/datastore/s3.py,sha256=moTbuBy7YydP_2frCpN8DjmVRMzg9M2R20CN6RTe_Ls,8330
|
|
85
88
|
mlrun/datastore/snowflake_utils.py,sha256=QFWS6skWnPs_p4ioE9qEyUUettSHVYA4g8e-LnebU8A,1439
|
|
86
|
-
mlrun/datastore/sources.py,sha256=
|
|
89
|
+
mlrun/datastore/sources.py,sha256=p6wDgR6AMpaHYi5iP58oNViUtUGK4lfyD68ffN4XtKI,45549
|
|
87
90
|
mlrun/datastore/spark_udf.py,sha256=NnnB3DZxZb-rqpRy7b-NC7QWXuuqFn3XkBDc86tU4mQ,1498
|
|
88
91
|
mlrun/datastore/spark_utils.py,sha256=50rllp6xXpXY__1LbU7aTXUU5ca8dKAfoskPre3npZo,1611
|
|
89
|
-
mlrun/datastore/store_resources.py,sha256=
|
|
90
|
-
mlrun/datastore/targets.py,sha256=
|
|
91
|
-
mlrun/datastore/utils.py,sha256=
|
|
92
|
+
mlrun/datastore/store_resources.py,sha256=iKVWhAK8uwoYap14j48sbaDPrx6WsboWJFHQCJNWxyM,6832
|
|
93
|
+
mlrun/datastore/targets.py,sha256=KMyqYaYGiWs3Uk3CkkNWEH528wziED3q1Guzfa_S2n4,79003
|
|
94
|
+
mlrun/datastore/utils.py,sha256=l9dLZb_VCbHs_htqMFRv4qiestZ8z8K-4eY1MxHS8wE,7720
|
|
92
95
|
mlrun/datastore/v3io.py,sha256=tmZ2S-POZhjjKPE_0T1EkHcv6Q10pz5KQiaTXE1Be-4,8102
|
|
93
96
|
mlrun/datastore/wasbfs/__init__.py,sha256=s5Ul-0kAhYqFjKDR2X0O2vDGDbLQQduElb32Ev56Te4,1343
|
|
94
97
|
mlrun/datastore/wasbfs/fs.py,sha256=MnSj7Q4OKA2L55ihCmUnj2t3GA3B77oLMdAw-yxvN9w,6151
|
|
@@ -103,18 +106,18 @@ mlrun/feature_store/api.py,sha256=uYheyPkJOVCrz1jivvpGatgy_JBAq0It0XZqPpNVQkE,48
|
|
|
103
106
|
mlrun/feature_store/common.py,sha256=DKmoRk04NCS1gv7qZuEUa2-g8WsfR6IWjYctcrqKVlg,12853
|
|
104
107
|
mlrun/feature_store/feature_set.py,sha256=qD8RqkeoJFbJMMK5-zjs-27DC4UXQiQSokkt4pdMzkw,56027
|
|
105
108
|
mlrun/feature_store/feature_vector.py,sha256=YTwg2-qFMF8ard3jvrYACh7vwZJ51ddy8UzCguQ1F1I,43561
|
|
106
|
-
mlrun/feature_store/ingestion.py,sha256=
|
|
109
|
+
mlrun/feature_store/ingestion.py,sha256=kT3Hbz1PBjsJd-GPBm2ap0sg9-fiXxaSXoEIo-dOXpU,11361
|
|
107
110
|
mlrun/feature_store/steps.py,sha256=EAOJvcnKNiFxSXlJuRxEEZU3q2a6GpMH9KffTfXeWKo,28860
|
|
108
111
|
mlrun/feature_store/retrieval/__init__.py,sha256=bwA4copPpLQi8fyoUAYtOyrlw0-6f3-Knct8GbJSvRg,1282
|
|
109
112
|
mlrun/feature_store/retrieval/base.py,sha256=zgDsRsYQz8eqReKBEeTP0O4UoLoVYjWpO1o1gtvbjRA,30230
|
|
110
113
|
mlrun/feature_store/retrieval/conversion.py,sha256=Bh3d8vLtEwpJHvE9oezhKi9fwk5BzXbjx8yfXURWFMY,11638
|
|
111
114
|
mlrun/feature_store/retrieval/dask_merger.py,sha256=t60xciYp6StUQLEyFyI4JK5NpWkdBy2MGCs6beimaWU,5575
|
|
112
|
-
mlrun/feature_store/retrieval/job.py,sha256=
|
|
115
|
+
mlrun/feature_store/retrieval/job.py,sha256=vm50yAqvaazuTGbCOgN_e1Ax8gh-d-qQN4Ebz4OnsLs,8557
|
|
113
116
|
mlrun/feature_store/retrieval/local_merger.py,sha256=jM-8ta44PeNUc1cKMPs-TxrO9t8pXbwu_Tw8MZrLxUY,4513
|
|
114
117
|
mlrun/feature_store/retrieval/spark_merger.py,sha256=1SbDn0T6-zoggTzD72DvuRLtOQqkXNWSR_kEv3pl0iU,11217
|
|
115
118
|
mlrun/feature_store/retrieval/storey_merger.py,sha256=5YM0UPrLjGOobulHkowRO-1LuvFD2cm_0GxcpnTdu0I,6314
|
|
116
119
|
mlrun/frameworks/__init__.py,sha256=qRHe_nUfxpoLaSASAkIxcW6IyunMtxq5LXhjzZMO_1E,743
|
|
117
|
-
mlrun/frameworks/parallel_coordinates.py,sha256=
|
|
120
|
+
mlrun/frameworks/parallel_coordinates.py,sha256=AJ3TuvffAC4_zN-RVcyTkq1T3lomDqgeNf7hVBmscEw,11517
|
|
118
121
|
mlrun/frameworks/_common/__init__.py,sha256=7afutDCDVp999gyWSWQZMJRKGuW3VP3MFil8cobRsyg,962
|
|
119
122
|
mlrun/frameworks/_common/artifacts_library.py,sha256=f0rtDRQI3BYT2ZvXR4drSXZPYPJG19Sbej-_ru-i0II,8497
|
|
120
123
|
mlrun/frameworks/_common/mlrun_interface.py,sha256=HbnE1jtApNjMog3fhd40Ayq6mos_vFUx5ICGEgFzNEA,20999
|
|
@@ -184,7 +187,7 @@ mlrun/frameworks/sklearn/metrics_library.py,sha256=mGMo_s4d1JpTBVm_6pfqqCRlGbpbM
|
|
|
184
187
|
mlrun/frameworks/sklearn/mlrun_interface.py,sha256=y4RsG_RI4KfPrPADU4Lsr8PF95_VRXJiUX6ez-ljrv0,14054
|
|
185
188
|
mlrun/frameworks/sklearn/model_handler.py,sha256=h2fZGq8y_0okTq9ygsRtVwE3IduNYcUTf8OJyNA2xww,4695
|
|
186
189
|
mlrun/frameworks/sklearn/utils.py,sha256=Cg_pSxUMvKe8vBSLQor6JM8u9_ccKJg4Rk5EPDzTsVo,1209
|
|
187
|
-
mlrun/frameworks/tf_keras/__init__.py,sha256=
|
|
190
|
+
mlrun/frameworks/tf_keras/__init__.py,sha256=OuDIC4NQ59x003KddYq_Vzd0LBYdjfpoJzz28-co0cs,10555
|
|
188
191
|
mlrun/frameworks/tf_keras/mlrun_interface.py,sha256=1xPUv8YAqxrY3CmkMfWMdp2yEAvk5viiMH6qw41ytSk,16617
|
|
189
192
|
mlrun/frameworks/tf_keras/model_handler.py,sha256=2BFrYc7mKLKmEdgPAzBa8c_OnvSHqO9HXv7At3onrlo,28102
|
|
190
193
|
mlrun/frameworks/tf_keras/model_server.py,sha256=64x0nWFGdEONrye5F1socl8KXhMiia_neAoMzXcPF8A,9529
|
|
@@ -199,10 +202,10 @@ mlrun/frameworks/xgboost/model_handler.py,sha256=e7IwdrmAaQ5Yy_fqOirN7oi-xEJgg_G
|
|
|
199
202
|
mlrun/frameworks/xgboost/utils.py,sha256=5zLzHoeI3n2FuA_rdGzi404QCTLfQx1TYEyUWhZogs8,1069
|
|
200
203
|
mlrun/launcher/__init__.py,sha256=JL8qkT1lLr1YvW6iP0hmwDTaSR2RfrMDx0-1gWRhTOE,571
|
|
201
204
|
mlrun/launcher/base.py,sha256=ud1qc2v66-84haAVBuQ2e0IsOzvd_bleSVVImwNWhwE,16461
|
|
202
|
-
mlrun/launcher/client.py,sha256=
|
|
205
|
+
mlrun/launcher/client.py,sha256=kgju2mvGuVlvJWRk8sL8qTKF0lf_cSPK2nqYz1oZy3E,6196
|
|
203
206
|
mlrun/launcher/factory.py,sha256=RW7mfzEFi8fR0M-4W1JQg1iq3_muUU6OTqT_3l4Ubrk,2338
|
|
204
|
-
mlrun/launcher/local.py,sha256=
|
|
205
|
-
mlrun/launcher/remote.py,sha256=
|
|
207
|
+
mlrun/launcher/local.py,sha256=FOv9-csTduHQFBYi6qJn8iv7BCAY8DatQgK8Uj-Yglw,11094
|
|
208
|
+
mlrun/launcher/remote.py,sha256=BmEvrGoJBsJgS0_uyv3TjV6DvhgONgcKMHCgbjBdmXg,7654
|
|
206
209
|
mlrun/model_monitoring/__init__.py,sha256=dm5_j0_pwqrdzFwTaEtGnKfv2nVpNaM56nBI-oqLbNU,879
|
|
207
210
|
mlrun/model_monitoring/api.py,sha256=zOYxVK-rTC1ZZkI9ImPb4ifxPk3mzEzQxMGHRSg2AV0,30298
|
|
208
211
|
mlrun/model_monitoring/application.py,sha256=RJ8HeAPfGO3P2A_dEZYNg60c1wKTADh2YSv8BQ5embg,745
|
|
@@ -210,12 +213,12 @@ mlrun/model_monitoring/controller.py,sha256=MQ4BF3vfJSyYZv6HuTuSLt_nqaflgBYyOSwC
|
|
|
210
213
|
mlrun/model_monitoring/controller_handler.py,sha256=J9Y9ppLsQaxyYRl21165Rr7QuI9EM-mk-5veAqs4Bi0,1336
|
|
211
214
|
mlrun/model_monitoring/evidently_application.py,sha256=iOc42IVjj8m6PDBmVcKIMWm46Bu0EdO9SDcH40Eqhyo,769
|
|
212
215
|
mlrun/model_monitoring/features_drift_table.py,sha256=c6GpKtpOJbuT1u5uMWDL_S-6N4YPOmlktWMqPme3KFY,25308
|
|
213
|
-
mlrun/model_monitoring/helpers.py,sha256=
|
|
216
|
+
mlrun/model_monitoring/helpers.py,sha256=I_JVG4BE5Vw8Z6y26_LuicXUrPlJQBzSHksHEoFclps,10887
|
|
214
217
|
mlrun/model_monitoring/model_endpoint.py,sha256=7VX0cBATqLsA4sSinDzouf41ndxqh2mf5bO9BW0G5Z4,4017
|
|
215
218
|
mlrun/model_monitoring/prometheus.py,sha256=cUR4y73GutJB_pA_VCBDl9YtK4PcIJp2wj2rnLVmYi4,7578
|
|
216
219
|
mlrun/model_monitoring/stream_processing.py,sha256=x1GewJcoLSJESAqMFEFnVb-Gln9H7lVwD7NJKa0dcho,42386
|
|
217
220
|
mlrun/model_monitoring/tracking_policy.py,sha256=sQq956akAQpntkrJwIgFWcEq-JpyVcg0FxgNa4h3V70,5502
|
|
218
|
-
mlrun/model_monitoring/writer.py,sha256=
|
|
221
|
+
mlrun/model_monitoring/writer.py,sha256=cAQ24HbtWGA8czzaemmjLT4WfDInJ7gPpkkIp9LePBY,10013
|
|
219
222
|
mlrun/model_monitoring/applications/__init__.py,sha256=i793GqYee01mRh_KD6GShvX7UbPBgdJDO4qf9Z3BXEQ,970
|
|
220
223
|
mlrun/model_monitoring/applications/_application_steps.py,sha256=-g9jxIAFM5f22iJaUAQVlM8QRSv6KFT92I4WHmZe_f0,6028
|
|
221
224
|
mlrun/model_monitoring/applications/base.py,sha256=5YYI3XDcXnbkDQFL5oZGfbco93dqv1vB2fLW0wK8lSo,11362
|
|
@@ -224,27 +227,27 @@ mlrun/model_monitoring/applications/evidently_base.py,sha256=AE_eIz-GEYm3AZTrMCi
|
|
|
224
227
|
mlrun/model_monitoring/applications/histogram_data_drift.py,sha256=HZmNg09SCjAKkIlKmJwqR7hr-8sXrwFEqXgJCitVbXc,13039
|
|
225
228
|
mlrun/model_monitoring/applications/results.py,sha256=VVlu9Si7Tj2LNJzPQrp4_Qeyh9mxOVMu1Jwb5K2LfvY,3577
|
|
226
229
|
mlrun/model_monitoring/db/__init__.py,sha256=6Ic-X3Fh9XLPYMytmevGNSs-Hii1rAjLLoFTSPwTguw,736
|
|
227
|
-
mlrun/model_monitoring/db/
|
|
228
|
-
mlrun/model_monitoring/db/stores/__init__.py,sha256=G3g1ZclwVWfdtFsuTAW1O2A2ndR4ku9xU9TivnIb4yk,4305
|
|
230
|
+
mlrun/model_monitoring/db/stores/__init__.py,sha256=qesQRwo0tT4rDlQHMVliXFYiMRHZv2-rd-2JHvAQF-Y,4203
|
|
229
231
|
mlrun/model_monitoring/db/stores/base/__init__.py,sha256=JufJETW3BXzPhFwbRa8dMf7BFGGZKceIWIMgr5x9n9c,599
|
|
230
|
-
mlrun/model_monitoring/db/stores/base/store.py,sha256=
|
|
232
|
+
mlrun/model_monitoring/db/stores/base/store.py,sha256=ZzzXDRBnX0VJbvBinfgUdkXDyRQJwsjgPolgiyVLfwM,5858
|
|
231
233
|
mlrun/model_monitoring/db/stores/sqldb/__init__.py,sha256=6CsTXAxeLbbf8yfCADTaxmiavqwrLEdYFJ-qc5kgDAY,569
|
|
232
|
-
mlrun/model_monitoring/db/stores/sqldb/sql_store.py,sha256=
|
|
233
|
-
mlrun/model_monitoring/db/stores/sqldb/models/__init__.py,sha256=
|
|
234
|
-
mlrun/model_monitoring/db/stores/sqldb/models/base.py,sha256=
|
|
235
|
-
mlrun/model_monitoring/db/stores/sqldb/models/mysql.py,sha256=
|
|
236
|
-
mlrun/model_monitoring/db/stores/sqldb/models/sqlite.py,sha256=
|
|
234
|
+
mlrun/model_monitoring/db/stores/sqldb/sql_store.py,sha256=_p12LEpmGNVP6h5DTqAVwMVkwyfAbesBZigED-Lbduw,27500
|
|
235
|
+
mlrun/model_monitoring/db/stores/sqldb/models/__init__.py,sha256=lCiGw9WKPtHAIgrtNS2jyvM5OZvZvogBh76iurNYblg,2453
|
|
236
|
+
mlrun/model_monitoring/db/stores/sqldb/models/base.py,sha256=YKRWgWvi8yyzXvratpePqSZ3ZVjgfZ6Q_QhgaLUnAsE,5215
|
|
237
|
+
mlrun/model_monitoring/db/stores/sqldb/models/mysql.py,sha256=lkvwtxZwUK15vrdoRER_uYppmpkR3VYuIhhjQjbYi-k,2568
|
|
238
|
+
mlrun/model_monitoring/db/stores/sqldb/models/sqlite.py,sha256=yJJZppbKj3PsOANS_DXAQFFHKX4cQcm6Pz2DoxRiXMk,1104
|
|
237
239
|
mlrun/model_monitoring/db/stores/v3io_kv/__init__.py,sha256=6CsTXAxeLbbf8yfCADTaxmiavqwrLEdYFJ-qc5kgDAY,569
|
|
238
240
|
mlrun/model_monitoring/db/stores/v3io_kv/kv_store.py,sha256=o8P80yowPj4NRLonJ8rdSffot1OB-V6i3Ji1m_TWvzs,27399
|
|
239
|
-
mlrun/model_monitoring/db/tsdb/__init__.py,sha256=
|
|
240
|
-
mlrun/model_monitoring/db/tsdb/base.py,sha256=
|
|
241
|
+
mlrun/model_monitoring/db/tsdb/__init__.py,sha256=NR895JSsEvNmINL223GLf8IbJ16b9Wn4XnxobDwivM8,3724
|
|
242
|
+
mlrun/model_monitoring/db/tsdb/base.py,sha256=tS4XbqH_gztqQy58bJ4jO6ZGIXo3mQmpU-jjWH8aJ0k,13658
|
|
243
|
+
mlrun/model_monitoring/db/tsdb/helpers.py,sha256=0oUXc4aUkYtP2SGP6jTb3uPPKImIUsVsrb9otX9a7O4,1189
|
|
241
244
|
mlrun/model_monitoring/db/tsdb/tdengine/__init__.py,sha256=vgBdsKaXUURKqIf3M0y4sRatmSVA4CQiJs7J5dcVBkQ,620
|
|
242
|
-
mlrun/model_monitoring/db/tsdb/tdengine/schemas.py,sha256=
|
|
245
|
+
mlrun/model_monitoring/db/tsdb/tdengine/schemas.py,sha256=94u886UtyK40YNtdOX8WiJUImDytygdaqIzFwo_ExzI,8881
|
|
243
246
|
mlrun/model_monitoring/db/tsdb/tdengine/stream_graph_steps.py,sha256=x1cWM2ystghHUeDZNgnaN4kI_XjFOnh1FRBRJAX-tsw,1620
|
|
244
|
-
mlrun/model_monitoring/db/tsdb/tdengine/tdengine_connector.py,sha256=
|
|
247
|
+
mlrun/model_monitoring/db/tsdb/tdengine/tdengine_connector.py,sha256=aZ6sRIC5iHXBQlsKGWxgvH1kh7d5lKRymEXAWjkYH-8,15329
|
|
245
248
|
mlrun/model_monitoring/db/tsdb/v3io/__init__.py,sha256=aL3bfmQsUQ-sbvKGdNihFj8gLCK3mSys0qDcXtYOwgc,616
|
|
246
249
|
mlrun/model_monitoring/db/tsdb/v3io/stream_graph_steps.py,sha256=qbiyBzrdWLJAKLmJV4K8jUxsAMbKGZ1vip7WNfRcpXM,4764
|
|
247
|
-
mlrun/model_monitoring/db/tsdb/v3io/v3io_connector.py,sha256=
|
|
250
|
+
mlrun/model_monitoring/db/tsdb/v3io/v3io_connector.py,sha256=StM3hqBn9g3-hpylSychu6Bzy9oPgyiITLtg60Smlyc,25160
|
|
248
251
|
mlrun/model_monitoring/metrics/__init__.py,sha256=6CsTXAxeLbbf8yfCADTaxmiavqwrLEdYFJ-qc5kgDAY,569
|
|
249
252
|
mlrun/model_monitoring/metrics/histogram_distance.py,sha256=E9_WIl2vd6qNvoHVHoFcnuQk3ekbFWOdi8aU7sHrfk4,4724
|
|
250
253
|
mlrun/package/__init__.py,sha256=uWILzN42bcq5vFRk6ptxEmn1I5uBWAnhaJr7e4H834w,7082
|
|
@@ -267,20 +270,20 @@ mlrun/package/utils/type_hint_utils.py,sha256=JYrek6vuN3z7e6MGUD3qBLDfQ03C4puZXN
|
|
|
267
270
|
mlrun/platforms/__init__.py,sha256=ggSGF7inITs6S-vj9u4S9X_5psgbA0G3GVqf7zu8qYc,2406
|
|
268
271
|
mlrun/platforms/iguazio.py,sha256=1h5BpdAEQJBg2vIt7ySjUADU0ip5OkaMYr0_VREi9ys,13084
|
|
269
272
|
mlrun/projects/__init__.py,sha256=Lv5rfxyXJrw6WGOWJKhBz66M6t3_zsNMCfUD6waPwx4,1153
|
|
270
|
-
mlrun/projects/operations.py,sha256=
|
|
271
|
-
mlrun/projects/pipelines.py,sha256=
|
|
272
|
-
mlrun/projects/project.py,sha256=
|
|
273
|
+
mlrun/projects/operations.py,sha256=60ARXslBZdia7NcQvD_OxG0tOm6c8oUMDJkLKjzzMS0,18843
|
|
274
|
+
mlrun/projects/pipelines.py,sha256=8Dd5hqi_kUeOKh8_PS5cgiFYb_oDdLLlS-pqswmIq4s,39417
|
|
275
|
+
mlrun/projects/project.py,sha256=BYBIeygcK7Bw4Yf53aaYSWXcC9amocvnAF0R1MC1aS0,176951
|
|
273
276
|
mlrun/runtimes/__init__.py,sha256=hDtZU6gBb25Ay-AXjJ7YvzrSQhsvjEVwtz-hmBkw3vA,8695
|
|
274
|
-
mlrun/runtimes/base.py,sha256=
|
|
277
|
+
mlrun/runtimes/base.py,sha256=j8eVPkpLbI0mN2yRKPn7kOOk7bkM2pAxgoP2AVxIT5M,36940
|
|
275
278
|
mlrun/runtimes/daskjob.py,sha256=xvN8ajs3-_voqxrfz6b3rh_idNw4ypRAkPRWGOnDMGA,19149
|
|
276
279
|
mlrun/runtimes/funcdoc.py,sha256=CC9cWRPgBiM2sk4NJTqusjc6O9kZ-49vGA5WRPjREKE,9796
|
|
277
280
|
mlrun/runtimes/function_reference.py,sha256=iWKRe4r2GTc5S8FOIASYUNLwwne8NqIui51PFr8Q4mg,4918
|
|
278
281
|
mlrun/runtimes/generators.py,sha256=v28HdNgxdHvj888G1dTnUeQZz-D9iTO0hoGeZbCdiuQ,7241
|
|
279
282
|
mlrun/runtimes/kubejob.py,sha256=ptBnMTIjukbEznkdixmbGvBqzujXrRzqNfP7ze6M76M,8660
|
|
280
|
-
mlrun/runtimes/local.py,sha256=
|
|
283
|
+
mlrun/runtimes/local.py,sha256=MKF-8Q3Xy57cskjfC-FjuK8YW5mhG8lde0eklJbOwIQ,21924
|
|
281
284
|
mlrun/runtimes/pod.py,sha256=I9cfZH-u7ZmAHKc8D7htzKILO1K9lzfoHjBOVe29trU,64406
|
|
282
285
|
mlrun/runtimes/remotesparkjob.py,sha256=1MJLNzrw17wQoXy11KowHU18h_R_6R9iNZpqPMzt28c,7329
|
|
283
|
-
mlrun/runtimes/utils.py,sha256=
|
|
286
|
+
mlrun/runtimes/utils.py,sha256=OFATL8d0c5vKN9N2enAu2oS3b4H71RfeG776ZnfZ0J4,14332
|
|
284
287
|
mlrun/runtimes/databricks_job/__init__.py,sha256=kXGBqhLN0rlAx0kTXhozGzFsIdSqW0uTSKMmsLgq_is,569
|
|
285
288
|
mlrun/runtimes/databricks_job/databricks_cancel_task.py,sha256=sIqIg5DQAf4j0wCPA-G0GoxY6vacRddxCy5KDUZszek,2245
|
|
286
289
|
mlrun/runtimes/databricks_job/databricks_runtime.py,sha256=a9W7A8sboteQov0Z9uVcthEU3FGYFf2cdAsi-vdjH1w,12749
|
|
@@ -289,12 +292,12 @@ mlrun/runtimes/mpijob/__init__.py,sha256=V_1gQD1VHa0Qvjqgyv8RLouH27Sy9YTwj2ZG62o
|
|
|
289
292
|
mlrun/runtimes/mpijob/abstract.py,sha256=kDWo-IY1FKLZhI30j38Xx9HMhlUvHezfd1DT2ShoxZY,9161
|
|
290
293
|
mlrun/runtimes/mpijob/v1.py,sha256=1XQZC7AIMGX_AQCbApcwpH8I7y39-v0v2O35MvxjXoo,3213
|
|
291
294
|
mlrun/runtimes/nuclio/__init__.py,sha256=gx1kizzKv8pGT5TNloN1js1hdbxqDw3rM90sLVYVffY,794
|
|
292
|
-
mlrun/runtimes/nuclio/api_gateway.py,sha256=
|
|
293
|
-
mlrun/runtimes/nuclio/function.py,sha256=
|
|
295
|
+
mlrun/runtimes/nuclio/api_gateway.py,sha256=_tkqyH63cyIVcjZEiSP--bh_mOAOGGclYY7wyQ5q_JA,24683
|
|
296
|
+
mlrun/runtimes/nuclio/function.py,sha256=OszUbbADwqvV_O9cRxoTry5rIbRbaBKBTK0IwHGvFk0,48928
|
|
294
297
|
mlrun/runtimes/nuclio/nuclio.py,sha256=sLK8KdGO1LbftlL3HqPZlFOFTAAuxJACZCVl1c0Ha6E,2942
|
|
295
298
|
mlrun/runtimes/nuclio/serving.py,sha256=H3bSI33FmfOBkL99ZU6_xKbFx4qKdyQVdpIwwfhK5qo,29649
|
|
296
299
|
mlrun/runtimes/nuclio/application/__init__.py,sha256=rRs5vasy_G9IyoTpYIjYDafGoL6ifFBKgBtsXn31Atw,614
|
|
297
|
-
mlrun/runtimes/nuclio/application/application.py,sha256=
|
|
300
|
+
mlrun/runtimes/nuclio/application/application.py,sha256=oEbu50cMwjHo9Y8BXFtEgXnvxe1DHSQAUtnOaFKv_gc,18848
|
|
298
301
|
mlrun/runtimes/nuclio/application/reverse_proxy.go,sha256=JIIYae6bXzCLf3jXuu49KWPQYoXr_FDQ2Rbo1OWKAd0,3150
|
|
299
302
|
mlrun/runtimes/sparkjob/__init__.py,sha256=_KPvk0qefeLtHO6lxQE_AMOGiMTG_OT48eRCE4Z2ldw,709
|
|
300
303
|
mlrun/runtimes/sparkjob/spark3job.py,sha256=1bNRy72Migrh_ZASQOx7UlSZTbB-xpNc76sz4kfc9UM,41191
|
|
@@ -302,7 +305,7 @@ mlrun/serving/__init__.py,sha256=_6HRAOuS2Ehjo3vwx5h1aI_-JppxEAsl4VfEERAbGFE,107
|
|
|
302
305
|
mlrun/serving/merger.py,sha256=PXLn3A21FiLteJHaDSLm5xKNT-80eTTjfHUJnBX1gKY,6116
|
|
303
306
|
mlrun/serving/remote.py,sha256=MrFByphQWmIsKXqw-MOwl2Q1hbtWReYVRKvlcKj9pfw,17980
|
|
304
307
|
mlrun/serving/routers.py,sha256=scvpXD0VmgGRLJb2UqNq0o39ML2_F_SyZ4OXVQhJIOM,55086
|
|
305
|
-
mlrun/serving/server.py,sha256=
|
|
308
|
+
mlrun/serving/server.py,sha256=U27KHG85Q-Eap3bX4sZlutH_YkpTr1oO89MlkHF9ACs,21081
|
|
306
309
|
mlrun/serving/serving_wrapper.py,sha256=R670-S6PX_d5ER6jiHtRvacuPyFzQH0mEf2K0sBIIOM,836
|
|
307
310
|
mlrun/serving/states.py,sha256=RAWaL3f65-WAa86arKXW8G35TA04Gcp_Z5-gPrDVQr8,57395
|
|
308
311
|
mlrun/serving/utils.py,sha256=WO0n_YTO0YVPTjp_90zxRl4vey4flDgw5vaOHK5p_qY,3871
|
|
@@ -319,17 +322,17 @@ mlrun/utils/azure_vault.py,sha256=IEFizrDGDbAaoWwDr1WoA88S_EZ0T--vjYtY-i0cvYQ,34
|
|
|
319
322
|
mlrun/utils/clones.py,sha256=mJpx4nyFiY6jlBCvFABsNuyi_mr1mvfPWn81vlafpOU,7361
|
|
320
323
|
mlrun/utils/condition_evaluator.py,sha256=-nGfRmZzivn01rHTroiGY4rqEv8T1irMyhzxEei-sKc,1897
|
|
321
324
|
mlrun/utils/db.py,sha256=KEa-vzicUhzIwo1wBXax2ZuXtYgf5to7wnsY3CYCiOQ,1713
|
|
322
|
-
mlrun/utils/helpers.py,sha256=
|
|
325
|
+
mlrun/utils/helpers.py,sha256=6Jik9bf1nAilMEDaaFs5K0oS2ETrZa_RVEFfATHh4ho,53687
|
|
323
326
|
mlrun/utils/http.py,sha256=l_JCPrCq8bfYUcUcAFWUPvb9Xu-93bLGIhV-H-XCU9s,8707
|
|
324
|
-
mlrun/utils/logger.py,sha256=
|
|
327
|
+
mlrun/utils/logger.py,sha256=CG5pgkMeU3VAkIP0pSGOwvFtm0tJYzmPVF8jEp2EtlU,9073
|
|
325
328
|
mlrun/utils/regex.py,sha256=Nd7xnDHU9PEOsse6rFwLNVgU4AaYCyuwMmQ9qgx2-Vw,4581
|
|
326
329
|
mlrun/utils/retryer.py,sha256=GzDMeATklqxcKSLYaFYcqioh8e5cbWRxA1_XKrGR1A4,7570
|
|
327
330
|
mlrun/utils/singleton.py,sha256=p1Y-X0mPSs_At092GS-pZCA8CTR62HOqPU07_ZH6-To,869
|
|
328
|
-
mlrun/utils/v3io_clients.py,sha256=
|
|
331
|
+
mlrun/utils/v3io_clients.py,sha256=F7zO2NaXSSih6B35LkwuKW_y2CdV5C1ztP-Xs2FsgpQ,1282
|
|
329
332
|
mlrun/utils/vault.py,sha256=xUiKL17dCXjwQJ33YRzQj0oadUXATlFWPzKKYAESoQk,10447
|
|
330
333
|
mlrun/utils/notifications/__init__.py,sha256=eUzQDBxSQmMZASRY-YAnYS6tL5801P0wEjycp3Dvoe0,990
|
|
331
|
-
mlrun/utils/notifications/notification_pusher.py,sha256=
|
|
332
|
-
mlrun/utils/notifications/notification/__init__.py,sha256=
|
|
334
|
+
mlrun/utils/notifications/notification_pusher.py,sha256=v-bB05rkDW04f52Wsh_1-UD77M2FNFukmQO9wglVIRg,26918
|
|
335
|
+
mlrun/utils/notifications/notification/__init__.py,sha256=2in3F2q8gtYDiDoQ4i9BIIE2I06OokT2EW49vs2krRA,2168
|
|
333
336
|
mlrun/utils/notifications/notification/base.py,sha256=b0nncv0oV01wNeT-3upWQkcvyVVbBbJkrFgk6PMAusw,2788
|
|
334
337
|
mlrun/utils/notifications/notification/console.py,sha256=MAVk7v5PJ52vdGRv76YcEPixWgV0licBPWGpR01uR40,2643
|
|
335
338
|
mlrun/utils/notifications/notification/git.py,sha256=ELZ-ZmbFDb39A0OUIhtvuSbqJoVfF_o_IOxMD5eBlv4,5351
|
|
@@ -337,11 +340,11 @@ mlrun/utils/notifications/notification/ipython.py,sha256=ZtVL30B_Ha0VGoo4LxO-voT
|
|
|
337
340
|
mlrun/utils/notifications/notification/slack.py,sha256=Vc6EHdnVAZe-p4ZWMvLc23YjMIDE3h2flf2b83ATVCA,7286
|
|
338
341
|
mlrun/utils/notifications/notification/webhook.py,sha256=WgfxX1cpm8n2A-O08pwnsP4tzbxxv_vNUSnyXG4uKts,2752
|
|
339
342
|
mlrun/utils/version/__init__.py,sha256=7kkrB7hEZ3cLXoWj1kPoDwo4MaswsI2JVOBpbKgPAgc,614
|
|
340
|
-
mlrun/utils/version/version.json,sha256=
|
|
343
|
+
mlrun/utils/version/version.json,sha256=O08dwe4vCB5egFnGFdaTTHrNAx9qeAfHhxicYWZ2P2Y,89
|
|
341
344
|
mlrun/utils/version/version.py,sha256=eEW0tqIAkU9Xifxv8Z9_qsYnNhn3YH7NRAfM-pPLt1g,1878
|
|
342
|
-
mlrun-1.7.
|
|
343
|
-
mlrun-1.7.
|
|
344
|
-
mlrun-1.7.
|
|
345
|
-
mlrun-1.7.
|
|
346
|
-
mlrun-1.7.
|
|
347
|
-
mlrun-1.7.
|
|
345
|
+
mlrun-1.7.0rc19.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
|
346
|
+
mlrun-1.7.0rc19.dist-info/METADATA,sha256=zzSesln8VOr3uXku5dgFCN9A7B6_L3h4Bup_VjtVoa8,19122
|
|
347
|
+
mlrun-1.7.0rc19.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
|
|
348
|
+
mlrun-1.7.0rc19.dist-info/entry_points.txt,sha256=1Owd16eAclD5pfRCoJpYC2ZJSyGNTtUr0nCELMioMmU,46
|
|
349
|
+
mlrun-1.7.0rc19.dist-info/top_level.txt,sha256=NObLzw3maSF9wVrgSeYBv-fgnHkAJ1kEkh12DLdd5KM,6
|
|
350
|
+
mlrun-1.7.0rc19.dist-info/RECORD,,
|
|
@@ -1,335 +0,0 @@
|
|
|
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
|
-
|
|
15
|
-
# TODO: Move this module into the TSDB abstraction:
|
|
16
|
-
# mlrun/model_monitoring/db/tsdb/v3io/v3io_connector.py
|
|
17
|
-
|
|
18
|
-
from datetime import datetime
|
|
19
|
-
from io import StringIO
|
|
20
|
-
from typing import Literal, Optional, Union
|
|
21
|
-
|
|
22
|
-
import pandas as pd
|
|
23
|
-
|
|
24
|
-
import mlrun
|
|
25
|
-
import mlrun.common.schemas.model_monitoring.constants as mm_constants
|
|
26
|
-
import mlrun.model_monitoring.writer as mm_writer
|
|
27
|
-
import mlrun.utils.v3io_clients
|
|
28
|
-
from mlrun.common.schemas.model_monitoring.model_endpoints import (
|
|
29
|
-
ModelEndpointMonitoringMetric,
|
|
30
|
-
ModelEndpointMonitoringMetricNoData,
|
|
31
|
-
ModelEndpointMonitoringMetricType,
|
|
32
|
-
ModelEndpointMonitoringMetricValues,
|
|
33
|
-
ModelEndpointMonitoringResultValues,
|
|
34
|
-
_compose_full_name,
|
|
35
|
-
_ModelEndpointMonitoringMetricValuesBase,
|
|
36
|
-
)
|
|
37
|
-
from mlrun.model_monitoring.db.stores.v3io_kv.kv_store import KVStoreBase
|
|
38
|
-
from mlrun.model_monitoring.db.tsdb.v3io.v3io_connector import _TSDB_BE
|
|
39
|
-
from mlrun.utils import logger
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
def _get_sql_query(
|
|
43
|
-
endpoint_id: str,
|
|
44
|
-
names: list[tuple[str, str]],
|
|
45
|
-
table_name: str = mm_constants.V3IOTSDBTables.APP_RESULTS,
|
|
46
|
-
name: str = mm_writer.ResultData.RESULT_NAME,
|
|
47
|
-
) -> str:
|
|
48
|
-
with StringIO() as query:
|
|
49
|
-
query.write(
|
|
50
|
-
f"SELECT * FROM '{table_name}' "
|
|
51
|
-
f"WHERE {mm_writer.WriterEvent.ENDPOINT_ID}='{endpoint_id}'"
|
|
52
|
-
)
|
|
53
|
-
if names:
|
|
54
|
-
query.write(" AND (")
|
|
55
|
-
|
|
56
|
-
for i, (app_name, result_name) in enumerate(names):
|
|
57
|
-
sub_cond = (
|
|
58
|
-
f"({mm_writer.WriterEvent.APPLICATION_NAME}='{app_name}' "
|
|
59
|
-
f"AND {name}='{result_name}')"
|
|
60
|
-
)
|
|
61
|
-
if i != 0: # not first sub condition
|
|
62
|
-
query.write(" OR ")
|
|
63
|
-
query.write(sub_cond)
|
|
64
|
-
|
|
65
|
-
query.write(")")
|
|
66
|
-
|
|
67
|
-
query.write(";")
|
|
68
|
-
return query.getvalue()
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
def _get_result_kind(result_df: pd.DataFrame) -> mm_constants.ResultKindApp:
|
|
72
|
-
kind_series = result_df[mm_writer.ResultData.RESULT_KIND]
|
|
73
|
-
unique_kinds = kind_series.unique()
|
|
74
|
-
if len(unique_kinds) > 1:
|
|
75
|
-
logger.warning(
|
|
76
|
-
"The result has more than one kind",
|
|
77
|
-
kinds=list(unique_kinds),
|
|
78
|
-
application_name=result_df[mm_writer.WriterEvent.APPLICATION_NAME],
|
|
79
|
-
result_name=result_df[mm_writer.ResultData.RESULT_NAME],
|
|
80
|
-
)
|
|
81
|
-
return unique_kinds[0]
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
def read_metrics_data(
|
|
85
|
-
*,
|
|
86
|
-
project: str,
|
|
87
|
-
endpoint_id: str,
|
|
88
|
-
start: datetime,
|
|
89
|
-
end: datetime,
|
|
90
|
-
metrics: list[ModelEndpointMonitoringMetric],
|
|
91
|
-
type: Literal["metrics", "results"] = "results",
|
|
92
|
-
) -> Union[
|
|
93
|
-
list[
|
|
94
|
-
Union[
|
|
95
|
-
ModelEndpointMonitoringResultValues,
|
|
96
|
-
ModelEndpointMonitoringMetricNoData,
|
|
97
|
-
],
|
|
98
|
-
],
|
|
99
|
-
list[
|
|
100
|
-
Union[
|
|
101
|
-
ModelEndpointMonitoringMetricValues,
|
|
102
|
-
ModelEndpointMonitoringMetricNoData,
|
|
103
|
-
],
|
|
104
|
-
],
|
|
105
|
-
]:
|
|
106
|
-
"""
|
|
107
|
-
Read metrics OR results from the TSDB and return as a list.
|
|
108
|
-
Note: the type must match the actual metrics in the `metrics` parameter.
|
|
109
|
-
If the type is "results", pass only results in the `metrics` parameter.
|
|
110
|
-
"""
|
|
111
|
-
client = mlrun.utils.v3io_clients.get_frames_client(
|
|
112
|
-
address=mlrun.mlconf.v3io_framesd,
|
|
113
|
-
container=KVStoreBase.get_v3io_monitoring_apps_container(project),
|
|
114
|
-
)
|
|
115
|
-
|
|
116
|
-
if type == "metrics":
|
|
117
|
-
table_name = mm_constants.V3IOTSDBTables.METRICS
|
|
118
|
-
name = mm_constants.MetricData.METRIC_NAME
|
|
119
|
-
df_handler = df_to_metrics_values
|
|
120
|
-
elif type == "results":
|
|
121
|
-
table_name = mm_constants.V3IOTSDBTables.APP_RESULTS
|
|
122
|
-
name = mm_constants.ResultData.RESULT_NAME
|
|
123
|
-
df_handler = df_to_results_values
|
|
124
|
-
else:
|
|
125
|
-
raise ValueError(f"Invalid {type = }")
|
|
126
|
-
|
|
127
|
-
query = _get_sql_query(
|
|
128
|
-
endpoint_id,
|
|
129
|
-
[(metric.app, metric.name) for metric in metrics],
|
|
130
|
-
table_name=table_name,
|
|
131
|
-
name=name,
|
|
132
|
-
)
|
|
133
|
-
|
|
134
|
-
logger.debug("Querying V3IO TSDB", query=query)
|
|
135
|
-
|
|
136
|
-
df: pd.DataFrame = client.read(
|
|
137
|
-
backend=_TSDB_BE,
|
|
138
|
-
query=query,
|
|
139
|
-
start=start,
|
|
140
|
-
end=end,
|
|
141
|
-
)
|
|
142
|
-
|
|
143
|
-
logger.debug(
|
|
144
|
-
"Read a data-frame", project=project, endpoint_id=endpoint_id, is_empty=df.empty
|
|
145
|
-
)
|
|
146
|
-
|
|
147
|
-
return df_handler(df=df, metrics=metrics, project=project)
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
def df_to_results_values(
|
|
151
|
-
*, df: pd.DataFrame, metrics: list[ModelEndpointMonitoringMetric], project: str
|
|
152
|
-
) -> list[
|
|
153
|
-
Union[ModelEndpointMonitoringResultValues, ModelEndpointMonitoringMetricNoData]
|
|
154
|
-
]:
|
|
155
|
-
"""
|
|
156
|
-
Parse a time-indexed data-frame of results from the TSDB into a list of
|
|
157
|
-
results values per distinct results.
|
|
158
|
-
When a result is not found in the data-frame, it is represented in no-data object.
|
|
159
|
-
"""
|
|
160
|
-
metrics_without_data = {metric.full_name: metric for metric in metrics}
|
|
161
|
-
|
|
162
|
-
metrics_values: list[
|
|
163
|
-
Union[ModelEndpointMonitoringResultValues, ModelEndpointMonitoringMetricNoData]
|
|
164
|
-
] = []
|
|
165
|
-
if not df.empty:
|
|
166
|
-
grouped = df.groupby(
|
|
167
|
-
[mm_writer.WriterEvent.APPLICATION_NAME, mm_writer.ResultData.RESULT_NAME],
|
|
168
|
-
observed=False,
|
|
169
|
-
)
|
|
170
|
-
else:
|
|
171
|
-
grouped = []
|
|
172
|
-
logger.debug("No results", missing_results=metrics_without_data.keys())
|
|
173
|
-
for (app_name, name), sub_df in grouped:
|
|
174
|
-
result_kind = _get_result_kind(sub_df)
|
|
175
|
-
full_name = _compose_full_name(project=project, app=app_name, name=name)
|
|
176
|
-
metrics_values.append(
|
|
177
|
-
ModelEndpointMonitoringResultValues(
|
|
178
|
-
full_name=full_name,
|
|
179
|
-
result_kind=result_kind,
|
|
180
|
-
values=list(
|
|
181
|
-
zip(
|
|
182
|
-
sub_df.index,
|
|
183
|
-
sub_df[mm_writer.ResultData.RESULT_VALUE],
|
|
184
|
-
sub_df[mm_writer.ResultData.RESULT_STATUS],
|
|
185
|
-
)
|
|
186
|
-
), # pyright: ignore[reportArgumentType]
|
|
187
|
-
)
|
|
188
|
-
)
|
|
189
|
-
del metrics_without_data[full_name]
|
|
190
|
-
|
|
191
|
-
for metric in metrics_without_data.values():
|
|
192
|
-
if metric.full_name == get_invocations_fqn(project):
|
|
193
|
-
continue
|
|
194
|
-
metrics_values.append(
|
|
195
|
-
ModelEndpointMonitoringMetricNoData(
|
|
196
|
-
full_name=metric.full_name,
|
|
197
|
-
type=ModelEndpointMonitoringMetricType.RESULT,
|
|
198
|
-
)
|
|
199
|
-
)
|
|
200
|
-
|
|
201
|
-
return metrics_values
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
def df_to_metrics_values(
|
|
205
|
-
*, df: pd.DataFrame, metrics: list[ModelEndpointMonitoringMetric], project: str
|
|
206
|
-
) -> list[
|
|
207
|
-
Union[ModelEndpointMonitoringMetricValues, ModelEndpointMonitoringMetricNoData]
|
|
208
|
-
]:
|
|
209
|
-
"""
|
|
210
|
-
Parse a time-indexed data-frame of metrics from the TSDB into a list of
|
|
211
|
-
metrics values per distinct results.
|
|
212
|
-
When a metric is not found in the data-frame, it is represented in no-data object.
|
|
213
|
-
"""
|
|
214
|
-
metrics_without_data = {metric.full_name: metric for metric in metrics}
|
|
215
|
-
|
|
216
|
-
metrics_values: list[
|
|
217
|
-
Union[ModelEndpointMonitoringMetricValues, ModelEndpointMonitoringMetricNoData]
|
|
218
|
-
] = []
|
|
219
|
-
if not df.empty:
|
|
220
|
-
grouped = df.groupby(
|
|
221
|
-
[mm_writer.WriterEvent.APPLICATION_NAME, mm_writer.MetricData.METRIC_NAME],
|
|
222
|
-
observed=False,
|
|
223
|
-
)
|
|
224
|
-
else:
|
|
225
|
-
logger.debug("No metrics", missing_metrics=metrics_without_data.keys())
|
|
226
|
-
grouped = []
|
|
227
|
-
for (app_name, name), sub_df in grouped:
|
|
228
|
-
full_name = _compose_full_name(
|
|
229
|
-
project=project,
|
|
230
|
-
app=app_name,
|
|
231
|
-
name=name,
|
|
232
|
-
type=ModelEndpointMonitoringMetricType.METRIC,
|
|
233
|
-
)
|
|
234
|
-
metrics_values.append(
|
|
235
|
-
ModelEndpointMonitoringMetricValues(
|
|
236
|
-
full_name=full_name,
|
|
237
|
-
values=list(
|
|
238
|
-
zip(
|
|
239
|
-
sub_df.index,
|
|
240
|
-
sub_df[mm_writer.MetricData.METRIC_VALUE],
|
|
241
|
-
)
|
|
242
|
-
), # pyright: ignore[reportArgumentType]
|
|
243
|
-
)
|
|
244
|
-
)
|
|
245
|
-
del metrics_without_data[full_name]
|
|
246
|
-
|
|
247
|
-
for metric in metrics_without_data.values():
|
|
248
|
-
metrics_values.append(
|
|
249
|
-
ModelEndpointMonitoringMetricNoData(
|
|
250
|
-
full_name=metric.full_name,
|
|
251
|
-
type=ModelEndpointMonitoringMetricType.METRIC,
|
|
252
|
-
)
|
|
253
|
-
)
|
|
254
|
-
|
|
255
|
-
return metrics_values
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
def get_invocations_fqn(project: str):
|
|
259
|
-
return mlrun.common.schemas.model_monitoring.model_endpoints._compose_full_name(
|
|
260
|
-
project=project,
|
|
261
|
-
app=mm_constants.SpecialApps.MLRUN_INFRA,
|
|
262
|
-
name=mlrun.common.schemas.model_monitoring.constants.PredictionsQueryConstants.INVOCATIONS,
|
|
263
|
-
type=mlrun.common.schemas.model_monitoring.ModelEndpointMonitoringMetricType.METRIC,
|
|
264
|
-
)
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
def read_predictions(
|
|
268
|
-
*,
|
|
269
|
-
project: str,
|
|
270
|
-
endpoint_id: str,
|
|
271
|
-
start: Optional[Union[datetime, str]] = None,
|
|
272
|
-
end: Optional[Union[datetime, str]] = None,
|
|
273
|
-
aggregation_window: Optional[str] = None,
|
|
274
|
-
limit: Optional[int] = None,
|
|
275
|
-
) -> _ModelEndpointMonitoringMetricValuesBase:
|
|
276
|
-
client = mlrun.utils.v3io_clients.get_frames_client(
|
|
277
|
-
address=mlrun.mlconf.v3io_framesd,
|
|
278
|
-
container="users",
|
|
279
|
-
)
|
|
280
|
-
frames_client_kwargs = {}
|
|
281
|
-
if aggregation_window:
|
|
282
|
-
frames_client_kwargs["step"] = aggregation_window
|
|
283
|
-
frames_client_kwargs["aggregation_window"] = aggregation_window
|
|
284
|
-
if limit:
|
|
285
|
-
frames_client_kwargs["limit"] = limit
|
|
286
|
-
df: pd.DataFrame = client.read(
|
|
287
|
-
backend=_TSDB_BE,
|
|
288
|
-
table=f"pipelines/{project}/model-endpoints/predictions",
|
|
289
|
-
columns=["latency"],
|
|
290
|
-
filter=f"endpoint_id=='{endpoint_id}'",
|
|
291
|
-
start=start,
|
|
292
|
-
end=end,
|
|
293
|
-
aggregators="count",
|
|
294
|
-
**frames_client_kwargs,
|
|
295
|
-
)
|
|
296
|
-
|
|
297
|
-
full_name = get_invocations_fqn(project)
|
|
298
|
-
|
|
299
|
-
if df.empty:
|
|
300
|
-
return ModelEndpointMonitoringMetricNoData(
|
|
301
|
-
full_name=full_name,
|
|
302
|
-
type=ModelEndpointMonitoringMetricType.METRIC,
|
|
303
|
-
)
|
|
304
|
-
|
|
305
|
-
return ModelEndpointMonitoringMetricValues(
|
|
306
|
-
full_name=full_name,
|
|
307
|
-
values=list(
|
|
308
|
-
zip(
|
|
309
|
-
df.index,
|
|
310
|
-
df["count(latency)"],
|
|
311
|
-
)
|
|
312
|
-
),
|
|
313
|
-
)
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
def read_prediction_metric_for_endpoint_if_exists(
|
|
317
|
-
*,
|
|
318
|
-
project: str,
|
|
319
|
-
endpoint_id: str,
|
|
320
|
-
) -> Optional[ModelEndpointMonitoringMetric]:
|
|
321
|
-
predictions = read_predictions(
|
|
322
|
-
project=project,
|
|
323
|
-
endpoint_id=endpoint_id,
|
|
324
|
-
start="0",
|
|
325
|
-
end="now",
|
|
326
|
-
limit=1, # Read just one record, because we just want to check if there is any data for this endpoint_id
|
|
327
|
-
)
|
|
328
|
-
if predictions:
|
|
329
|
-
return ModelEndpointMonitoringMetric(
|
|
330
|
-
project=project,
|
|
331
|
-
app=mm_constants.SpecialApps.MLRUN_INFRA,
|
|
332
|
-
type=ModelEndpointMonitoringMetricType.METRIC,
|
|
333
|
-
name=mlrun.common.schemas.model_monitoring.constants.PredictionsQueryConstants.INVOCATIONS,
|
|
334
|
-
full_name=get_invocations_fqn(project),
|
|
335
|
-
)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|