mlrun 1.7.0rc26__py3-none-any.whl → 1.7.0rc31__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 (78) hide show
  1. mlrun/__main__.py +7 -7
  2. mlrun/alerts/alert.py +13 -1
  3. mlrun/artifacts/manager.py +5 -0
  4. mlrun/common/constants.py +3 -3
  5. mlrun/common/formatters/artifact.py +1 -0
  6. mlrun/common/formatters/base.py +9 -9
  7. mlrun/common/schemas/alert.py +4 -8
  8. mlrun/common/schemas/api_gateway.py +7 -0
  9. mlrun/common/schemas/constants.py +3 -0
  10. mlrun/common/schemas/model_monitoring/__init__.py +1 -0
  11. mlrun/common/schemas/model_monitoring/constants.py +32 -13
  12. mlrun/common/schemas/model_monitoring/model_endpoints.py +0 -12
  13. mlrun/common/schemas/project.py +10 -9
  14. mlrun/common/schemas/schedule.py +1 -1
  15. mlrun/config.py +37 -11
  16. mlrun/data_types/spark.py +2 -2
  17. mlrun/data_types/to_pandas.py +48 -16
  18. mlrun/datastore/__init__.py +1 -0
  19. mlrun/datastore/azure_blob.py +2 -1
  20. mlrun/datastore/base.py +21 -13
  21. mlrun/datastore/datastore.py +7 -5
  22. mlrun/datastore/datastore_profile.py +1 -1
  23. mlrun/datastore/google_cloud_storage.py +1 -0
  24. mlrun/datastore/inmem.py +4 -1
  25. mlrun/datastore/s3.py +2 -0
  26. mlrun/datastore/snowflake_utils.py +3 -1
  27. mlrun/datastore/sources.py +40 -11
  28. mlrun/datastore/store_resources.py +2 -0
  29. mlrun/datastore/targets.py +71 -26
  30. mlrun/db/base.py +11 -0
  31. mlrun/db/httpdb.py +50 -31
  32. mlrun/db/nopdb.py +11 -1
  33. mlrun/errors.py +4 -0
  34. mlrun/execution.py +18 -10
  35. mlrun/feature_store/retrieval/spark_merger.py +4 -32
  36. mlrun/launcher/local.py +2 -2
  37. mlrun/model.py +27 -1
  38. mlrun/model_monitoring/api.py +9 -55
  39. mlrun/model_monitoring/applications/histogram_data_drift.py +4 -1
  40. mlrun/model_monitoring/controller.py +57 -73
  41. mlrun/model_monitoring/db/stores/__init__.py +21 -9
  42. mlrun/model_monitoring/db/stores/base/store.py +39 -1
  43. mlrun/model_monitoring/db/stores/sqldb/models/base.py +9 -7
  44. mlrun/model_monitoring/db/stores/sqldb/models/mysql.py +4 -2
  45. mlrun/model_monitoring/db/stores/sqldb/sql_store.py +41 -80
  46. mlrun/model_monitoring/db/stores/v3io_kv/kv_store.py +22 -27
  47. mlrun/model_monitoring/db/tsdb/__init__.py +19 -14
  48. mlrun/model_monitoring/db/tsdb/v3io/v3io_connector.py +4 -2
  49. mlrun/model_monitoring/helpers.py +15 -17
  50. mlrun/model_monitoring/writer.py +2 -7
  51. mlrun/projects/operations.py +1 -0
  52. mlrun/projects/project.py +87 -75
  53. mlrun/render.py +10 -5
  54. mlrun/run.py +7 -7
  55. mlrun/runtimes/base.py +1 -1
  56. mlrun/runtimes/daskjob.py +7 -1
  57. mlrun/runtimes/local.py +24 -7
  58. mlrun/runtimes/nuclio/function.py +20 -0
  59. mlrun/runtimes/pod.py +5 -29
  60. mlrun/serving/routers.py +75 -59
  61. mlrun/serving/server.py +1 -0
  62. mlrun/serving/v2_serving.py +8 -1
  63. mlrun/utils/helpers.py +46 -2
  64. mlrun/utils/logger.py +36 -2
  65. mlrun/utils/notifications/notification/base.py +4 -0
  66. mlrun/utils/notifications/notification/git.py +21 -0
  67. mlrun/utils/notifications/notification/slack.py +8 -0
  68. mlrun/utils/notifications/notification/webhook.py +41 -1
  69. mlrun/utils/notifications/notification_pusher.py +2 -2
  70. mlrun/utils/version/version.json +2 -2
  71. {mlrun-1.7.0rc26.dist-info → mlrun-1.7.0rc31.dist-info}/METADATA +13 -8
  72. {mlrun-1.7.0rc26.dist-info → mlrun-1.7.0rc31.dist-info}/RECORD +76 -78
  73. {mlrun-1.7.0rc26.dist-info → mlrun-1.7.0rc31.dist-info}/WHEEL +1 -1
  74. mlrun/feature_store/retrieval/conversion.py +0 -271
  75. mlrun/model_monitoring/controller_handler.py +0 -37
  76. {mlrun-1.7.0rc26.dist-info → mlrun-1.7.0rc31.dist-info}/LICENSE +0 -0
  77. {mlrun-1.7.0rc26.dist-info → mlrun-1.7.0rc31.dist-info}/entry_points.txt +0 -0
  78. {mlrun-1.7.0rc26.dist-info → mlrun-1.7.0rc31.dist-info}/top_level.txt +0 -0
@@ -1,34 +1,34 @@
1
1
  mlrun/__init__.py,sha256=y08M1JcKXy5-9_5WaI9fn5aV5BxIQ5QkbduJK0OxWbA,7470
2
- mlrun/__main__.py,sha256=KzJQH8Rw7izeIdnfVIJO0ZDjdyUMCyicT0f_n0HhtAw,45897
3
- mlrun/config.py,sha256=A6kKM_-jDyG3qgCD9ZjQhgp7S_Muk5BJCJxWoal94Bc,64563
4
- mlrun/errors.py,sha256=Y26Czt93m5HCSPd6CyrHFiWO4R7spiTrOnk4FqaUUxE,7345
5
- mlrun/execution.py,sha256=ZSk61dXqnEmxnUYxaAjtSzobMlD1yF9VaW56KLmaiUs,41717
2
+ mlrun/__main__.py,sha256=iAifncsrQQx6ozXXmz7GH1OiNl8PA7KS3TnwlxnHGeo,45890
3
+ mlrun/config.py,sha256=BL2vLdeImJrBcTCdmChpUzgJxas_W_y063sEFrN201s,65727
4
+ mlrun/errors.py,sha256=VpC_imeSz2twRMZZb7u90Zj29z6aO-tCxUHD3ZA_Axw,7465
5
+ mlrun/execution.py,sha256=StasIZWmnbRjXDn5d7VU6DWu1fs_AJQckSiUKlSYL9M,42021
6
6
  mlrun/features.py,sha256=m17K_3l9Jktwb9dOwlHLTAPTlemsWrRF7dJhXUX0iJU,15429
7
7
  mlrun/k8s_utils.py,sha256=WdUajadvAhTR7sAMQdwFqKeJMimuTyqm02VdwK1A4xU,7023
8
8
  mlrun/lists.py,sha256=3PqBdcajdwhTe1XuFsAaHTuFVM2kjwepf31qqE82apg,8384
9
- mlrun/model.py,sha256=ZILAK8-HTdVf3hI_ANwQfBTRYtm2wB9kEtg-HRoK9Xk,72201
10
- mlrun/render.py,sha256=uVI4kk7XqMAxamholZ_stPQ0nPUebij50ZpgAdjDQ6U,13131
11
- mlrun/run.py,sha256=1jMUIeucjyynHzRyHAyBgg8kZUwJ0751SAoz965IsDo,42893
9
+ mlrun/model.py,sha256=AtpmCoJV9yCu4ifPxtb5n9sv_alOhiLyASAxJdLkIr0,73197
10
+ mlrun/render.py,sha256=n8SeY3ogVrsV02-7-H0lt1RmpkxGpbI-11RQx61Vq9E,13267
11
+ mlrun/run.py,sha256=1fBaemIeTg9xpXF_THQb_x0bSAq_4xmC9s-PeDd-IC0,42911
12
12
  mlrun/secrets.py,sha256=ibtCK79u7JVBZF6F0SP1-xXXF5MyrLEUs_TCWiJAnlc,7798
13
13
  mlrun/alerts/__init__.py,sha256=0gtG1BG0DXxFrXegIkjbM1XEN4sP9ODo0ucXrNld1hU,601
14
- mlrun/alerts/alert.py,sha256=dAXff9Y0UY5gwuUiofs6BngiNoebkVWI503oATihAXM,6040
14
+ mlrun/alerts/alert.py,sha256=JJfMFF-o0j8oTAIkyXAQG0YbU-kZlIDl0A8ILQi8vfA,6510
15
15
  mlrun/api/schemas/__init__.py,sha256=fEWH4I8hr5AdRJ7yoW44RlFB6NHkYDxyomP5J6ct1z4,14248
16
16
  mlrun/artifacts/__init__.py,sha256=daGrLqltI1nE3ES30nm-tanUnxReRzfyxyaxNRx2zbc,1168
17
17
  mlrun/artifacts/base.py,sha256=azVkiHaJq9JNFKlb91R1vwkdR2QEqF-rIn7bQIL6rf0,29148
18
18
  mlrun/artifacts/dataset.py,sha256=O_2g2RFHYEAXIBX86mgyc0wBNOhWLT7NlYvxFeLNTuw,16505
19
- mlrun/artifacts/manager.py,sha256=rOc9wraBG_h2Y_NQoqIuNNhryPY2jBJ0lTVQ4EpklKc,15159
19
+ mlrun/artifacts/manager.py,sha256=I_1mgQ0M8j9JgryFJsB2yN3Pv47oQM6Jfg1fotTPDX0,15323
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=glR3bAqDanX6fOOfuM7vJ9GSy-2RVmn1wNtLFeHqjr0,2987
23
+ mlrun/common/constants.py,sha256=MdXxRPquVguW98WCnEUcJ9A46MOo-MrafFTk7QOK8BA,3052
24
24
  mlrun/common/helpers.py,sha256=LRIULbCg8afKkPnzsZ99-B-JPVjcwR1G9vO--1rzRrQ,1387
25
25
  mlrun/common/secrets.py,sha256=vc8WV82EZsCB5ENjUkObFOzZP59aZ1w8F82PTnqwBnc,5181
26
26
  mlrun/common/types.py,sha256=cs8AtoI6LSuf2LF5Hg2ZSQ0QTex5_KqVSmNAU8_rnlk,1037
27
27
  mlrun/common/db/__init__.py,sha256=xY3wHC4TEJgez7qtnn1pQvHosi8-5UJOCtyGBS7FcGE,571
28
28
  mlrun/common/db/sql_session.py,sha256=Znc8KE2oLy4lg3_vRki1sVlNx59TgDSOTCXfU561hBU,2659
29
29
  mlrun/common/formatters/__init__.py,sha256=91yPb5xoLK7fTIOC5C7ndJMvyEBlQY6f0CjenLYbsZw,785
30
- mlrun/common/formatters/artifact.py,sha256=rwMSedrkcNz6XVHhyuxVqfFTnHNrT2XU8hg42VVKvwE,1363
31
- mlrun/common/formatters/base.py,sha256=1dBjmE22S3WvaV_JV6fw6Q2U5NxeB6ZzsFFH2dVvFYA,4101
30
+ mlrun/common/formatters/artifact.py,sha256=t4LmoWCFjPJ_YzzQCC2aMJwOeeLi84le979m6OTRyoM,1401
31
+ mlrun/common/formatters/base.py,sha256=LHwWWnQJCmvlnOCCmG8YtJ_xzs0xBI8PujYDL5Ky9H4,4101
32
32
  mlrun/common/formatters/function.py,sha256=fGa5m5aI_XvQdvrUr73dmUwrEJrE_8wM4_P4q8RgBTg,1477
33
33
  mlrun/common/formatters/pipeline.py,sha256=hGUV_3wcTEMa-JouspbjgJ1JGKa2Wc5cXSaH2XhOdMc,1763
34
34
  mlrun/common/formatters/project.py,sha256=rdGf7fq_CfwFwd8iKWl8sW-tqTJilK3gJtV5oLdaY-M,1756
@@ -37,15 +37,15 @@ mlrun/common/model_monitoring/__init__.py,sha256=x0EMEvxVjHsm858J1t6IEA9dtKTdFpJ
37
37
  mlrun/common/model_monitoring/helpers.py,sha256=1CpxIDQPumFnpUB1eqcvCpLlyPFVeW2sL6prM-N5A1A,4405
38
38
  mlrun/common/runtimes/constants.py,sha256=Rl0Sd8n_L7Imo-uF1LL9CJ5Szi0W1gUm36yrF8PXfSc,10989
39
39
  mlrun/common/schemas/__init__.py,sha256=uqXeeg275X7NlM9FrH5JBORLA5s87P8MSrd7fwPoTlY,5236
40
- mlrun/common/schemas/alert.py,sha256=a5zUqPRzfE8mMiBDc1n0x7mQ6INExlU7-IRq0q8LY3Q,6644
41
- mlrun/common/schemas/api_gateway.py,sha256=QydwqvklisZZu8-cCvGdnhqORwq7Q7cUhY88na57Fh0,6725
40
+ mlrun/common/schemas/alert.py,sha256=Gb2eSjZLTkm-lGy_rQ_D4crEjCTdyf1N90bnIJmQ1H8,6574
41
+ mlrun/common/schemas/api_gateway.py,sha256=_1JyCFNP89dAcFxQE-C8Tj8o6TvPgV13aBzU3wRcM4g,6908
42
42
  mlrun/common/schemas/artifact.py,sha256=V3ngobnzI1v2eoOroWBEedjAZu0ntCSIQ-LzsOK1Z9k,3570
43
43
  mlrun/common/schemas/auth.py,sha256=5c4WSn3KdX1v04ttSQblkF_gyjdjuJSHG7BTCx4_LWM,6336
44
44
  mlrun/common/schemas/background_task.py,sha256=2qZxib2qrF_nPZj0ncitCG-2jxz2hg1qj0hFc8eswWQ,1707
45
45
  mlrun/common/schemas/client_spec.py,sha256=xQ_9S5i5q7vJmkp2_3IYD0FSYnWoAr1k-W9MU2ClgEU,2955
46
46
  mlrun/common/schemas/clusterization_spec.py,sha256=aeaFJZms7r7h2HDv6ML_GDAT6gboW-PxBbc3GKPalGk,888
47
47
  mlrun/common/schemas/common.py,sha256=00upzVLPN7O511Q87yt-fvRcDQFbXra4j0_lqMGg6rs,1557
48
- mlrun/common/schemas/constants.py,sha256=UnnhyLeF-SSjy8KaV5a-TBw4Ws675gueYGiP1fr5NfU,6476
48
+ mlrun/common/schemas/constants.py,sha256=sTNCimttd7ytSZ3jxbftItw_HDGxPwY96Ub86OvcT9w,6660
49
49
  mlrun/common/schemas/datastore_profile.py,sha256=hJ8q54A8VZKsnOvSIjcllj4MZ1bBhb_EmBgsqpwSF_Y,750
50
50
  mlrun/common/schemas/events.py,sha256=ROHJLo_fqYjc96pek7yhAUPpPRIuAR76lwxvNz8LIr8,1026
51
51
  mlrun/common/schemas/feature_store.py,sha256=T0yKYcv6cb3ZwgY5Jh9kWp94zLv2ImxAQUy6x68Imd0,4776
@@ -59,52 +59,52 @@ mlrun/common/schemas/notification.py,sha256=Ge7eWNGf_XUFkjOnUkyUOubdEbmXh9z_OSGc
59
59
  mlrun/common/schemas/object.py,sha256=VleJSUmDJMl92knLgaDE8SWCi3ky0UaHcwcwOIapPQ8,1980
60
60
  mlrun/common/schemas/pagination.py,sha256=q7nk6bipkDiE7HExIVqhy5ANl-zv0x8QC9Kg6AkLtDA,887
61
61
  mlrun/common/schemas/pipeline.py,sha256=MhH07_fAQXNAnmf5j6oXZp8qh9cxGcZlReMdt-ZJf40,1429
62
- mlrun/common/schemas/project.py,sha256=YVmnF187RjVaD0RYcw8hZuk7g_sv9grSv-K9R4cjDhw,4885
62
+ mlrun/common/schemas/project.py,sha256=wQAq6TAELf2_9qhLBTJ6Ofntdybx5Fbhy2uBsUzEmrk,4976
63
63
  mlrun/common/schemas/regex.py,sha256=8_vbDeAE0SODJDj7yUFg1FbaB9CNydYQTJ29JxE74Kc,776
64
64
  mlrun/common/schemas/runs.py,sha256=yGGJxSHT_Mq4RLjlfuxW4pm9i-Py9eOsGUAofs_VqVM,1268
65
65
  mlrun/common/schemas/runtime_resource.py,sha256=2rSuYL-9JkESSomlnU91mYDbfV-IkqZeXx6OHuMmDxs,1554
66
- mlrun/common/schemas/schedule.py,sha256=e9nAeRkZkyk37Ws1cBNseHVKPOQqmWV16rt-zr_eAJU,4287
66
+ mlrun/common/schemas/schedule.py,sha256=nD9kxH2KjXkbGZPNfzVNlNSxbyFZmZUlwtT04_z2xCw,4289
67
67
  mlrun/common/schemas/secret.py,sha256=51tCN1F8DFTq4y_XdHIMDy3I1TnMEBX8kO8BHKavYF4,1484
68
68
  mlrun/common/schemas/tag.py,sha256=OAn9Qt6z8ibqw8uU8WQSvuwY8irUv45Dhx2Ko5FzUss,884
69
69
  mlrun/common/schemas/workflow.py,sha256=eRoaOBFiWbvP0iwZ6Aof5JmheV81A0-0PGi8L4vuXmI,1823
70
- mlrun/common/schemas/model_monitoring/__init__.py,sha256=7Aih_5KAcmSMeTNsBvunuQpPkAQ_GslzVU4HtU6Fg_M,1777
71
- mlrun/common/schemas/model_monitoring/constants.py,sha256=ZwiSzQfgKEv06AP0wQjUK8gWO9eyNZg29aaxG0_yb1s,9548
70
+ mlrun/common/schemas/model_monitoring/__init__.py,sha256=Z_tv5dO-tT_oHMSk98AnDQW0XM-fXqNKduFxkW3jO_E,1809
71
+ mlrun/common/schemas/model_monitoring/constants.py,sha256=izIN1HUF_rWpbxVR2AYXGww-Noq9rnx2k7zOvrRt7Js,9921
72
72
  mlrun/common/schemas/model_monitoring/grafana.py,sha256=SG13MFUUz_tk6-mWeSx17qcdEW4ekicxqNtnMSwRTCY,1559
73
- mlrun/common/schemas/model_monitoring/model_endpoints.py,sha256=CVPqqiuLAwxu9wNLD8sAZDXm6Lm0rMPCIbTAfmYlZOo,14285
73
+ mlrun/common/schemas/model_monitoring/model_endpoints.py,sha256=3wPlCFNoBsHlCMgyJlXfNP-ZqIRsBXzyBX79O2PHkeg,13799
74
74
  mlrun/data_types/__init__.py,sha256=EkxfkFoHb91zz3Aymq-KZfCHlPMzEc3bBqgzPUwmHWY,1087
75
75
  mlrun/data_types/data_types.py,sha256=hWiL5TPOj9EK7_nd1yttLBUhXTmBYLDZzmG-hWzzhHE,4751
76
76
  mlrun/data_types/infer.py,sha256=z2EbSpR6xWEE5-HRUtDZkapHQld3xMbzXtTX83K-690,6134
77
- mlrun/data_types/spark.py,sha256=qKQ2TIAPQWDgmIOmpyV5_uuyUX3AnXWSq6GPpVjVIek,9457
78
- mlrun/data_types/to_pandas.py,sha256=_QLSxMn9MPlXxcu1Ki_slzZx2eJbWJzrGvBR7_K-wcQ,9929
79
- mlrun/datastore/__init__.py,sha256=pQQI_Vi7H45Bbe6f9JaF8dOgtGWf3qY9_kd8NNTfaog,4093
77
+ mlrun/data_types/spark.py,sha256=xfcr6lcaLcHepnrHavx_vacMJK7BC8FWsUKjwrjjn6w,9509
78
+ mlrun/data_types/to_pandas.py,sha256=xPEcQ5_Wb-L1WRhPy8lBbw5HZlPx0PaQOPZISTvrn80,11182
79
+ mlrun/datastore/__init__.py,sha256=8WvgHF245fvU9u98ctRqosvEmQ9iAKKIIS_dSgj_fmU,4153
80
80
  mlrun/datastore/alibaba_oss.py,sha256=OfQ9AbsJNBFF9DFgUdq38TvKw6qwnHmEcnH-nze6ZZg,4827
81
- mlrun/datastore/azure_blob.py,sha256=NpkEoIie7mH171tOwlrwpEwzRYGoo9SF3FAAegEENhU,9019
82
- mlrun/datastore/base.py,sha256=z1ON-fd6mjRu_YZybhY2uw26T5upk4HHAsV8PfkB3o4,25586
83
- mlrun/datastore/datastore.py,sha256=XCXJaHQAJRW-6EPjq-bHCPV5gA5BfHuNr6tUV_xn2Cc,9218
84
- mlrun/datastore/datastore_profile.py,sha256=9g467ic1vuTP_HY101mMXG_smnLxkjhuBp6dR4_LIkg,18937
81
+ mlrun/datastore/azure_blob.py,sha256=T0IzgBQJxcv8c97VJ1KDayvo_dkxLlgQboa7vcx1WEk,9077
82
+ mlrun/datastore/base.py,sha256=1siNKPQYPh6i3aTLiXwlYmJGssYpQZuZRWJo3m-4ZS8,25868
83
+ mlrun/datastore/datastore.py,sha256=F2i8XI2hkQwf51OjqdFZ8179oHvDfQtaT5pvfkvMV9U,9389
84
+ mlrun/datastore/datastore_profile.py,sha256=ZCU-brdRNXNE8EnknzFljtWjciEJ9sGZnoahFxbdEt4,18940
85
85
  mlrun/datastore/dbfs_store.py,sha256=5IkxnFQXkW0fdx-ca5jjQnUdTsTfNdJzMvV31ZpDNrM,6634
86
86
  mlrun/datastore/filestore.py,sha256=nS3Ie6jG41NDiW_as9tF8Nu5maaSVEKYKUr1IQtPhuA,3767
87
- mlrun/datastore/google_cloud_storage.py,sha256=ctcfnZ41-uyNd3qjPe-VO9DAtfikhpNPPb8L9coKcr0,6272
87
+ mlrun/datastore/google_cloud_storage.py,sha256=Kj_2aqkFos5zoE6rGOBN27yWuuMc62mwGINy3AQWQoc,6309
88
88
  mlrun/datastore/hdfs.py,sha256=TfL1zUWVRxEHF9kswZtOzrMdDmhSfiSVIAjz7fxWyVw,1876
89
- mlrun/datastore/inmem.py,sha256=PQAbNbjQvDhtCQrvPTCuUWRwGVe4a7nB5E84l8C20pQ,2802
89
+ mlrun/datastore/inmem.py,sha256=d2dIvHlOQylhc-i4B5Kk9e9ayXnF7DICc5yUlHcNwqs,2873
90
90
  mlrun/datastore/redis.py,sha256=OKMkDCU3APhxfo65SyJq605u1DsfOYH0fODnCXZRqEU,5575
91
- mlrun/datastore/s3.py,sha256=moTbuBy7YydP_2frCpN8DjmVRMzg9M2R20CN6RTe_Ls,8330
92
- mlrun/datastore/snowflake_utils.py,sha256=QFWS6skWnPs_p4ioE9qEyUUettSHVYA4g8e-LnebU8A,1439
93
- mlrun/datastore/sources.py,sha256=p6wDgR6AMpaHYi5iP58oNViUtUGK4lfyD68ffN4XtKI,45549
91
+ mlrun/datastore/s3.py,sha256=YXLIcsODJJuIuTTp4MTPjJqbvxzPRMeXpbImV9_q8Y8,8449
92
+ mlrun/datastore/snowflake_utils.py,sha256=Wohvnlmq8j1d98RCaknll-iWdZZpSlCrKhUOEy0_-CA,1483
93
+ mlrun/datastore/sources.py,sha256=RDa-QFJD95m3ClgHJogjcJK1HEPGZopxG4BTDUEuTQ4,46506
94
94
  mlrun/datastore/spark_udf.py,sha256=NnnB3DZxZb-rqpRy7b-NC7QWXuuqFn3XkBDc86tU4mQ,1498
95
95
  mlrun/datastore/spark_utils.py,sha256=50rllp6xXpXY__1LbU7aTXUU5ca8dKAfoskPre3npZo,1611
96
- mlrun/datastore/store_resources.py,sha256=iKVWhAK8uwoYap14j48sbaDPrx6WsboWJFHQCJNWxyM,6832
97
- mlrun/datastore/targets.py,sha256=R_xntuaxAtkGdhFrilvc6TQ9mWdLNZNdAaPH3l70-J4,79425
96
+ mlrun/datastore/store_resources.py,sha256=rcLoG506AMmR8qPJU_gE-G5d34VJVV_vNlZ3VHqho6c,6869
97
+ mlrun/datastore/targets.py,sha256=JbffgF3yct9FSJ2LaKR--iUNCDq5Qzbd5mYqq1yPmeg,81178
98
98
  mlrun/datastore/utils.py,sha256=l9dLZb_VCbHs_htqMFRv4qiestZ8z8K-4eY1MxHS8wE,7720
99
99
  mlrun/datastore/v3io.py,sha256=tmZ2S-POZhjjKPE_0T1EkHcv6Q10pz5KQiaTXE1Be-4,8102
100
100
  mlrun/datastore/wasbfs/__init__.py,sha256=s5Ul-0kAhYqFjKDR2X0O2vDGDbLQQduElb32Ev56Te4,1343
101
101
  mlrun/datastore/wasbfs/fs.py,sha256=MnSj7Q4OKA2L55ihCmUnj2t3GA3B77oLMdAw-yxvN9w,6151
102
102
  mlrun/db/__init__.py,sha256=WqJ4x8lqJ7ZoKbhEyFqkYADd9P6E3citckx9e9ZLcIU,1163
103
103
  mlrun/db/auth_utils.py,sha256=hpg8D2r82oN0BWabuWN04BTNZ7jYMAF242YSUpK7LFM,5211
104
- mlrun/db/base.py,sha256=onmHoJkjf_F0UrsFrkmU1MhB30alonnr4GeWXQ-ngr0,23778
104
+ mlrun/db/base.py,sha256=t4XucEG66vBLhYMKh3eLrsPtlTysEJODaOa9Y7tebPE,24047
105
105
  mlrun/db/factory.py,sha256=ibIrE5QkIIyzDU1FXKrfbc31cZiRLYKDZb8dqCpQwyU,2397
106
- mlrun/db/httpdb.py,sha256=lClPOmGLz9nzaROeboxSm0eFcpnuEG1PIRFlIW7aIDA,183159
107
- mlrun/db/nopdb.py,sha256=usWWKZp2Sh_3HHkGN63I9sM7Y9Bb3xIgZ1IICNE_hE0,20525
106
+ mlrun/db/httpdb.py,sha256=1jgSjNHweB-YbY0BDWxu6BVbvPDkQJWPpS-344lm0Qs,183712
107
+ mlrun/db/nopdb.py,sha256=-tuqIhDwbt4ru4JcY6z3mft2251s5Br6hKd13nbJLsc,20753
108
108
  mlrun/feature_store/__init__.py,sha256=FhHRc8NdqL_HWpCs7A8dKruxJS5wEm55Gs3dcgBiRUg,1522
109
109
  mlrun/feature_store/api.py,sha256=uYheyPkJOVCrz1jivvpGatgy_JBAq0It0XZqPpNVQkE,48699
110
110
  mlrun/feature_store/common.py,sha256=DKmoRk04NCS1gv7qZuEUa2-g8WsfR6IWjYctcrqKVlg,12853
@@ -114,11 +114,10 @@ mlrun/feature_store/ingestion.py,sha256=kT3Hbz1PBjsJd-GPBm2ap0sg9-fiXxaSXoEIo-dO
114
114
  mlrun/feature_store/steps.py,sha256=EAOJvcnKNiFxSXlJuRxEEZU3q2a6GpMH9KffTfXeWKo,28860
115
115
  mlrun/feature_store/retrieval/__init__.py,sha256=bwA4copPpLQi8fyoUAYtOyrlw0-6f3-Knct8GbJSvRg,1282
116
116
  mlrun/feature_store/retrieval/base.py,sha256=zgDsRsYQz8eqReKBEeTP0O4UoLoVYjWpO1o1gtvbjRA,30230
117
- mlrun/feature_store/retrieval/conversion.py,sha256=Bh3d8vLtEwpJHvE9oezhKi9fwk5BzXbjx8yfXURWFMY,11638
118
117
  mlrun/feature_store/retrieval/dask_merger.py,sha256=t60xciYp6StUQLEyFyI4JK5NpWkdBy2MGCs6beimaWU,5575
119
118
  mlrun/feature_store/retrieval/job.py,sha256=vm50yAqvaazuTGbCOgN_e1Ax8gh-d-qQN4Ebz4OnsLs,8557
120
119
  mlrun/feature_store/retrieval/local_merger.py,sha256=jM-8ta44PeNUc1cKMPs-TxrO9t8pXbwu_Tw8MZrLxUY,4513
121
- mlrun/feature_store/retrieval/spark_merger.py,sha256=I2KKEqSwao1AX1l6QqKRaXExUiry4P4ox-Vpc4AUNCg,11659
120
+ mlrun/feature_store/retrieval/spark_merger.py,sha256=n3WxFlrY0y5mJ-7U8GJJlv9QulG4WSUSdHY0xJjHzhY,10552
122
121
  mlrun/feature_store/retrieval/storey_merger.py,sha256=5YM0UPrLjGOobulHkowRO-1LuvFD2cm_0GxcpnTdu0I,6314
123
122
  mlrun/frameworks/__init__.py,sha256=qRHe_nUfxpoLaSASAkIxcW6IyunMtxq5LXhjzZMO_1E,743
124
123
  mlrun/frameworks/parallel_coordinates.py,sha256=AJ3TuvffAC4_zN-RVcyTkq1T3lomDqgeNf7hVBmscEw,11517
@@ -208,41 +207,40 @@ mlrun/launcher/__init__.py,sha256=JL8qkT1lLr1YvW6iP0hmwDTaSR2RfrMDx0-1gWRhTOE,57
208
207
  mlrun/launcher/base.py,sha256=ud1qc2v66-84haAVBuQ2e0IsOzvd_bleSVVImwNWhwE,16461
209
208
  mlrun/launcher/client.py,sha256=kgju2mvGuVlvJWRk8sL8qTKF0lf_cSPK2nqYz1oZy3E,6196
210
209
  mlrun/launcher/factory.py,sha256=RW7mfzEFi8fR0M-4W1JQg1iq3_muUU6OTqT_3l4Ubrk,2338
211
- mlrun/launcher/local.py,sha256=6t-iumKSd5MurNO0jshDAnG8IZWfpGCiW4JtH8UX9qI,11272
210
+ mlrun/launcher/local.py,sha256=pP9-ZrNL8OnNDEiXTAKAZQnmLpS_mCc2v-mJw329eks,11269
212
211
  mlrun/launcher/remote.py,sha256=tGICSfWtvUHeR31mbzy6gqHejmDxjPUgjtxXTWhRubg,7699
213
212
  mlrun/model_monitoring/__init__.py,sha256=dm5_j0_pwqrdzFwTaEtGnKfv2nVpNaM56nBI-oqLbNU,879
214
- mlrun/model_monitoring/api.py,sha256=KzPEPTiqsq5ELcV_O5jbPISdS5o9sO9jwWwSvDwG0hE,30363
213
+ mlrun/model_monitoring/api.py,sha256=WMxB4MMrsturFwyr1G1CHOddt0d_VSYcNEobjuxkjHg,27815
215
214
  mlrun/model_monitoring/application.py,sha256=RJ8HeAPfGO3P2A_dEZYNg60c1wKTADh2YSv8BQ5embg,745
216
- mlrun/model_monitoring/controller.py,sha256=MQ4BF3vfJSyYZv6HuTuSLt_nqaflgBYyOSwCccbwaio,27981
217
- mlrun/model_monitoring/controller_handler.py,sha256=J9Y9ppLsQaxyYRl21165Rr7QuI9EM-mk-5veAqs4Bi0,1336
215
+ mlrun/model_monitoring/controller.py,sha256=2goeuMFT7dqQXdREhoVhNXxYyGfA8K4REHCWr_qj6nk,27586
218
216
  mlrun/model_monitoring/evidently_application.py,sha256=iOc42IVjj8m6PDBmVcKIMWm46Bu0EdO9SDcH40Eqhyo,769
219
217
  mlrun/model_monitoring/features_drift_table.py,sha256=c6GpKtpOJbuT1u5uMWDL_S-6N4YPOmlktWMqPme3KFY,25308
220
- mlrun/model_monitoring/helpers.py,sha256=RHelVFMoUPm9-KqOwF018ctZT0kHVQfipnigeK1k-uA,11645
218
+ mlrun/model_monitoring/helpers.py,sha256=jD9m_Dte16kDZc1GCXvv-0z-MCel1LRg_6Pn1nwqk7A,11599
221
219
  mlrun/model_monitoring/model_endpoint.py,sha256=7VX0cBATqLsA4sSinDzouf41ndxqh2mf5bO9BW0G5Z4,4017
222
220
  mlrun/model_monitoring/prometheus.py,sha256=cUR4y73GutJB_pA_VCBDl9YtK4PcIJp2wj2rnLVmYi4,7578
223
221
  mlrun/model_monitoring/stream_processing.py,sha256=JRZP8raWUqG47z0yqES6LzHSEFYS5wcDxNXuJeFgjSA,42336
224
222
  mlrun/model_monitoring/tracking_policy.py,sha256=sQq956akAQpntkrJwIgFWcEq-JpyVcg0FxgNa4h3V70,5502
225
- mlrun/model_monitoring/writer.py,sha256=FJYkM_phr8mmiEcHHn0Qz-DCAYNCPw3IZiGEmO2IP4U,10068
223
+ mlrun/model_monitoring/writer.py,sha256=aQ1DAi5XUi1WXXfcSgBQGKiTANT6E61I74abiu_5s8s,9824
226
224
  mlrun/model_monitoring/applications/__init__.py,sha256=i793GqYee01mRh_KD6GShvX7UbPBgdJDO4qf9Z3BXEQ,970
227
225
  mlrun/model_monitoring/applications/_application_steps.py,sha256=-g9jxIAFM5f22iJaUAQVlM8QRSv6KFT92I4WHmZe_f0,6028
228
226
  mlrun/model_monitoring/applications/base.py,sha256=buVKyghH4AB3chZ5py1vyMIFnTF-deY8YDf_fPC9BnQ,11307
229
227
  mlrun/model_monitoring/applications/context.py,sha256=i-9h6pWyrS8mjw53zd0kb_Dsf9ReS8cSfnth8PvOEI4,8571
230
228
  mlrun/model_monitoring/applications/evidently_base.py,sha256=AE_eIz-GEYm3AZTrMCiqF9bcSMlvYk08LJb6bKWAQLg,8057
231
- mlrun/model_monitoring/applications/histogram_data_drift.py,sha256=G3afA0q9r7clmtcEAoXAzsr8zYXHIOYXiRxQEwVio_E,13041
229
+ mlrun/model_monitoring/applications/histogram_data_drift.py,sha256=TE6995h2PyO4lytVngH2HidhXFY7reLupWi4cHmdZdw,13163
232
230
  mlrun/model_monitoring/applications/results.py,sha256=VVlu9Si7Tj2LNJzPQrp4_Qeyh9mxOVMu1Jwb5K2LfvY,3577
233
231
  mlrun/model_monitoring/db/__init__.py,sha256=6Ic-X3Fh9XLPYMytmevGNSs-Hii1rAjLLoFTSPwTguw,736
234
- mlrun/model_monitoring/db/stores/__init__.py,sha256=8lCEvKBJsOa2DPiqw4Y9D___nkfYM8T_-OuD5AAlKa4,4144
232
+ mlrun/model_monitoring/db/stores/__init__.py,sha256=ZScmxeZZ3yZ84MocdDGRtvVIixSo0rAPiuLpavXTgJw,4737
235
233
  mlrun/model_monitoring/db/stores/base/__init__.py,sha256=JufJETW3BXzPhFwbRa8dMf7BFGGZKceIWIMgr5x9n9c,599
236
- mlrun/model_monitoring/db/stores/base/store.py,sha256=x4hv2agOz3Ru2oL7PtuX6vV1IP-jWjP9VvlOMFrUIxk,5889
234
+ mlrun/model_monitoring/db/stores/base/store.py,sha256=cUXEA0HKiwIE3FzuUuH40kIzJMgJuiuOMrKbfIzR4Ig,7386
237
235
  mlrun/model_monitoring/db/stores/sqldb/__init__.py,sha256=6CsTXAxeLbbf8yfCADTaxmiavqwrLEdYFJ-qc5kgDAY,569
238
- mlrun/model_monitoring/db/stores/sqldb/sql_store.py,sha256=j_IGyaOApwJHiTTpXe4a0Og6anTesmBkDX90IPX8boM,27523
236
+ mlrun/model_monitoring/db/stores/sqldb/sql_store.py,sha256=mqLwLUskB9kl5yoToFvFw5XgrK6lqITR-91fOkLRbOo,26074
239
237
  mlrun/model_monitoring/db/stores/sqldb/models/__init__.py,sha256=lCiGw9WKPtHAIgrtNS2jyvM5OZvZvogBh76iurNYblg,2453
240
- mlrun/model_monitoring/db/stores/sqldb/models/base.py,sha256=YKRWgWvi8yyzXvratpePqSZ3ZVjgfZ6Q_QhgaLUnAsE,5215
241
- mlrun/model_monitoring/db/stores/sqldb/models/mysql.py,sha256=86D1WX016u6TQdxhNDtlGn3QvJJHOQrXiw1hcSMq0Ao,2570
238
+ mlrun/model_monitoring/db/stores/sqldb/models/base.py,sha256=V2B5WdQM0KHKq0FNDq61q7tkNJ9fNRbxfnxrholKgjk,5352
239
+ mlrun/model_monitoring/db/stores/sqldb/models/mysql.py,sha256=tCzc5ANPxZw7tIPsn9p30woK0_s2HU_FsNzA3hL2wQs,2666
242
240
  mlrun/model_monitoring/db/stores/sqldb/models/sqlite.py,sha256=yJJZppbKj3PsOANS_DXAQFFHKX4cQcm6Pz2DoxRiXMk,1104
243
241
  mlrun/model_monitoring/db/stores/v3io_kv/__init__.py,sha256=6CsTXAxeLbbf8yfCADTaxmiavqwrLEdYFJ-qc5kgDAY,569
244
- mlrun/model_monitoring/db/stores/v3io_kv/kv_store.py,sha256=Ijm5W_P3C66inT4Y0jZ43mqKLS2TS2slbUMAM3eCTac,27230
245
- mlrun/model_monitoring/db/tsdb/__init__.py,sha256=0Da4WhlseFRTeUmfss_95DOsP2ijBaEtu4WxIWd5bsA,3736
242
+ mlrun/model_monitoring/db/stores/v3io_kv/kv_store.py,sha256=Qd37n5F3cBAgjmQJWeERRBps-F3Eo3bq867r0AxBXlk,27158
243
+ mlrun/model_monitoring/db/tsdb/__init__.py,sha256=_Mfa4gguX86OS1fQCxnt_QSaNh603-zPYAK8NjYk7t8,4040
246
244
  mlrun/model_monitoring/db/tsdb/base.py,sha256=sESs5U71a-iJKI-999sAloYH-mjOR3uSEQG7BxRs6No,13134
247
245
  mlrun/model_monitoring/db/tsdb/helpers.py,sha256=0oUXc4aUkYtP2SGP6jTb3uPPKImIUsVsrb9otX9a7O4,1189
248
246
  mlrun/model_monitoring/db/tsdb/tdengine/__init__.py,sha256=vgBdsKaXUURKqIf3M0y4sRatmSVA4CQiJs7J5dcVBkQ,620
@@ -251,7 +249,7 @@ mlrun/model_monitoring/db/tsdb/tdengine/stream_graph_steps.py,sha256=x1cWM2ystgh
251
249
  mlrun/model_monitoring/db/tsdb/tdengine/tdengine_connector.py,sha256=oplt9s-C-OGa__V456nkHwvyBe5YHxcuIJcYV9GFQHY,15521
252
250
  mlrun/model_monitoring/db/tsdb/v3io/__init__.py,sha256=aL3bfmQsUQ-sbvKGdNihFj8gLCK3mSys0qDcXtYOwgc,616
253
251
  mlrun/model_monitoring/db/tsdb/v3io/stream_graph_steps.py,sha256=qbiyBzrdWLJAKLmJV4K8jUxsAMbKGZ1vip7WNfRcpXM,4764
254
- mlrun/model_monitoring/db/tsdb/v3io/v3io_connector.py,sha256=nlINlf-nHpUWzYnCyFVdYyPtGQUmImu2_ocve9ubt4o,26187
252
+ mlrun/model_monitoring/db/tsdb/v3io/v3io_connector.py,sha256=hroUaoxbvKHDqM5L01p4EuYNuFjzaUQyT-HWt47LJCY,26362
255
253
  mlrun/model_monitoring/metrics/__init__.py,sha256=6CsTXAxeLbbf8yfCADTaxmiavqwrLEdYFJ-qc5kgDAY,569
256
254
  mlrun/model_monitoring/metrics/histogram_distance.py,sha256=E9_WIl2vd6qNvoHVHoFcnuQk3ekbFWOdi8aU7sHrfk4,4724
257
255
  mlrun/package/__init__.py,sha256=uWILzN42bcq5vFRk6ptxEmn1I5uBWAnhaJr7e4H834w,7082
@@ -274,18 +272,18 @@ mlrun/package/utils/type_hint_utils.py,sha256=JYrek6vuN3z7e6MGUD3qBLDfQ03C4puZXN
274
272
  mlrun/platforms/__init__.py,sha256=ggSGF7inITs6S-vj9u4S9X_5psgbA0G3GVqf7zu8qYc,2406
275
273
  mlrun/platforms/iguazio.py,sha256=1h5BpdAEQJBg2vIt7ySjUADU0ip5OkaMYr0_VREi9ys,13084
276
274
  mlrun/projects/__init__.py,sha256=Lv5rfxyXJrw6WGOWJKhBz66M6t3_zsNMCfUD6waPwx4,1153
277
- mlrun/projects/operations.py,sha256=NEN4PmSvLO9QMwSG4TncmBgTKC9wJp7hGo5lA7OYN_Q,19199
275
+ mlrun/projects/operations.py,sha256=Y-NwrIFXpltUXcDLDQ9b33NY_r4TOPvJgO4F-xSuzoM,19252
278
276
  mlrun/projects/pipelines.py,sha256=Xc9tQSBBPEg1Yxn-b4RseFdfO7SvrYC-ekdw_hAcPH8,40006
279
- mlrun/projects/project.py,sha256=RbTI7YUc3FUmOgsbgvrb_WRpSzFV0F4hL5Y4V1km84c,182306
277
+ mlrun/projects/project.py,sha256=zRw7pFcr6zVbeOzEy7ZuQfnEpECLgIWfYs0bvDLPxp4,184342
280
278
  mlrun/runtimes/__init__.py,sha256=0-tYDkew-Cr4DM-wztvMbzDA5xq385Jjo-GrtO_84Sc,8741
281
- mlrun/runtimes/base.py,sha256=yw5SceU2Js1AOr4f0ByZ3l1VsZUAnKKeC41DRTmNi68,37633
282
- mlrun/runtimes/daskjob.py,sha256=_3jQIEroNxG587ZJ0cW5nVJVBb1IcOECor_bkgZHtMk,19194
279
+ mlrun/runtimes/base.py,sha256=g716uF0BpL6vLe75bNqpJ2SjtYW_tQqICl46d_4ljHs,37633
280
+ mlrun/runtimes/daskjob.py,sha256=JfK8rSPY-0SYnLJdtp_ts3oKyad0pA98th-2VntYzK0,19387
283
281
  mlrun/runtimes/funcdoc.py,sha256=CC9cWRPgBiM2sk4NJTqusjc6O9kZ-49vGA5WRPjREKE,9796
284
282
  mlrun/runtimes/function_reference.py,sha256=iWKRe4r2GTc5S8FOIASYUNLwwne8NqIui51PFr8Q4mg,4918
285
283
  mlrun/runtimes/generators.py,sha256=v28HdNgxdHvj888G1dTnUeQZz-D9iTO0hoGeZbCdiuQ,7241
286
284
  mlrun/runtimes/kubejob.py,sha256=ptBnMTIjukbEznkdixmbGvBqzujXrRzqNfP7ze6M76M,8660
287
- mlrun/runtimes/local.py,sha256=6dc-qDICQOK0iJJZz4KD498YbqyhF-Uk0_iVbaXdC00,22009
288
- mlrun/runtimes/pod.py,sha256=I9cfZH-u7ZmAHKc8D7htzKILO1K9lzfoHjBOVe29trU,64406
285
+ mlrun/runtimes/local.py,sha256=h_w0tzCfF1_tZZEjw-FJHqYmoxK-AhN2skpK7cdU1JI,22611
286
+ mlrun/runtimes/pod.py,sha256=XeV6CMlCxPb776bWNESkh0ImwHeia65KL_tvCSdNzlo,63249
289
287
  mlrun/runtimes/remotesparkjob.py,sha256=9DPxDK8x08t9nReMo083TBxJiiqA83mHCbdtxrjj7AU,7426
290
288
  mlrun/runtimes/utils.py,sha256=OFATL8d0c5vKN9N2enAu2oS3b4H71RfeG776ZnfZ0J4,14332
291
289
  mlrun/runtimes/databricks_job/__init__.py,sha256=kXGBqhLN0rlAx0kTXhozGzFsIdSqW0uTSKMmsLgq_is,569
@@ -297,7 +295,7 @@ mlrun/runtimes/mpijob/abstract.py,sha256=kDWo-IY1FKLZhI30j38Xx9HMhlUvHezfd1DT2Sh
297
295
  mlrun/runtimes/mpijob/v1.py,sha256=1XQZC7AIMGX_AQCbApcwpH8I7y39-v0v2O35MvxjXoo,3213
298
296
  mlrun/runtimes/nuclio/__init__.py,sha256=gx1kizzKv8pGT5TNloN1js1hdbxqDw3rM90sLVYVffY,794
299
297
  mlrun/runtimes/nuclio/api_gateway.py,sha256=_tkqyH63cyIVcjZEiSP--bh_mOAOGGclYY7wyQ5q_JA,24683
300
- mlrun/runtimes/nuclio/function.py,sha256=dZoWA4VX4izKcAP3_3F14WcICwtVYuhD3d0u3Qdu9Tg,49408
298
+ mlrun/runtimes/nuclio/function.py,sha256=gcOuZvewkv1PTZKjigNyyMlS_0FKvcyAfEEj3n1mA-4,50159
301
299
  mlrun/runtimes/nuclio/nuclio.py,sha256=sLK8KdGO1LbftlL3HqPZlFOFTAAuxJACZCVl1c0Ha6E,2942
302
300
  mlrun/runtimes/nuclio/serving.py,sha256=ucSDp2YbaKEFpuCxCTEPwOEPngPkuP-TRviHJ9J4D60,29866
303
301
  mlrun/runtimes/nuclio/application/__init__.py,sha256=rRs5vasy_G9IyoTpYIjYDafGoL6ifFBKgBtsXn31Atw,614
@@ -308,13 +306,13 @@ mlrun/runtimes/sparkjob/spark3job.py,sha256=1bNRy72Migrh_ZASQOx7UlSZTbB-xpNc76sz
308
306
  mlrun/serving/__init__.py,sha256=-SMRV3q_5cGVPDxRslXPU0zGYZIygs0cSj7WKlOJJUc,1163
309
307
  mlrun/serving/merger.py,sha256=PXLn3A21FiLteJHaDSLm5xKNT-80eTTjfHUJnBX1gKY,6116
310
308
  mlrun/serving/remote.py,sha256=MrFByphQWmIsKXqw-MOwl2Q1hbtWReYVRKvlcKj9pfw,17980
311
- mlrun/serving/routers.py,sha256=scvpXD0VmgGRLJb2UqNq0o39ML2_F_SyZ4OXVQhJIOM,55086
312
- mlrun/serving/server.py,sha256=5tkSxuqRFnoy8U8p-Nv9iW26E54NuhUABVbQ5taBCgk,21410
309
+ mlrun/serving/routers.py,sha256=tjTAiLkV-BcRnUfbTqfrKB0j2LMTMygG_2oV_eQ26bs,55470
310
+ mlrun/serving/server.py,sha256=M4FITzvSB6JLHes9BasdUXqNDK1CG8mVpxR3pXYXjHg,21433
313
311
  mlrun/serving/serving_wrapper.py,sha256=R670-S6PX_d5ER6jiHtRvacuPyFzQH0mEf2K0sBIIOM,836
314
312
  mlrun/serving/states.py,sha256=XA9GJB9JZNcaywCGJ1DLxHoS225J3aF8s8B8Y_-bKM8,59341
315
313
  mlrun/serving/utils.py,sha256=lej7XcUPX1MmHkEOi_0KZRGSpfbmpnE0GK_Sn4zLkHY,4025
316
314
  mlrun/serving/v1_serving.py,sha256=by4myxlnwyZ0ijQ5fURilGCK1sUpdQL2Il1VR3Xqpxg,11805
317
- mlrun/serving/v2_serving.py,sha256=wJmDZc-YEof0vXmYHM5t8aKSaWuzUbjVtWYuVyl1hPg,24226
315
+ mlrun/serving/v2_serving.py,sha256=ARsAU0xaQqZoYWdtTLauMPlIX33Nus-BFQOTPZBYda8,24496
318
316
  mlrun/track/__init__.py,sha256=LWRUHJt8JyFW17FyNPOVyWd-NXTf1iptzsK9KFj5fuY,765
319
317
  mlrun/track/tracker.py,sha256=hSi9sMxB7hhZalt6Q8GXDnK4UoCbXHzKTrpUPC9hZv4,3555
320
318
  mlrun/track/tracker_manager.py,sha256=IYBl99I62IC6VCCmG1yt6JoHNOQXa53C4DURJ2sWgio,5726
@@ -326,29 +324,29 @@ mlrun/utils/azure_vault.py,sha256=IEFizrDGDbAaoWwDr1WoA88S_EZ0T--vjYtY-i0cvYQ,34
326
324
  mlrun/utils/clones.py,sha256=mJpx4nyFiY6jlBCvFABsNuyi_mr1mvfPWn81vlafpOU,7361
327
325
  mlrun/utils/condition_evaluator.py,sha256=-nGfRmZzivn01rHTroiGY4rqEv8T1irMyhzxEei-sKc,1897
328
326
  mlrun/utils/db.py,sha256=KEa-vzicUhzIwo1wBXax2ZuXtYgf5to7wnsY3CYCiOQ,1713
329
- mlrun/utils/helpers.py,sha256=ISPNg7JQ2Bt8M8TD8lI4exk59oH51Yylo0kAWQVWISY,55493
327
+ mlrun/utils/helpers.py,sha256=Pl1LzfuDVzpQtDC23VFvnuWY8UHs-o7zcYcpNcSF3To,56976
330
328
  mlrun/utils/http.py,sha256=l_JCPrCq8bfYUcUcAFWUPvb9Xu-93bLGIhV-H-XCU9s,8707
331
- mlrun/utils/logger.py,sha256=CG5pgkMeU3VAkIP0pSGOwvFtm0tJYzmPVF8jEp2EtlU,9073
329
+ mlrun/utils/logger.py,sha256=cag2J30-jynIHmHZ2J8RYmVMNhYBGgAoimc5sbk-A1U,10016
332
330
  mlrun/utils/regex.py,sha256=b0AUa2THS-ELzJj0grl5b8Stq609F2XomTZkD9SB1fQ,4900
333
331
  mlrun/utils/retryer.py,sha256=GzDMeATklqxcKSLYaFYcqioh8e5cbWRxA1_XKrGR1A4,7570
334
332
  mlrun/utils/singleton.py,sha256=p1Y-X0mPSs_At092GS-pZCA8CTR62HOqPU07_ZH6-To,869
335
333
  mlrun/utils/v3io_clients.py,sha256=F7zO2NaXSSih6B35LkwuKW_y2CdV5C1ztP-Xs2FsgpQ,1282
336
334
  mlrun/utils/vault.py,sha256=xUiKL17dCXjwQJ33YRzQj0oadUXATlFWPzKKYAESoQk,10447
337
335
  mlrun/utils/notifications/__init__.py,sha256=eUzQDBxSQmMZASRY-YAnYS6tL5801P0wEjycp3Dvoe0,990
338
- mlrun/utils/notifications/notification_pusher.py,sha256=ptspFcc_X6u3q7toIuuDJWV-P7sNma60XOmTd6UHgcw,26742
336
+ mlrun/utils/notifications/notification_pusher.py,sha256=4ecV6JfCtvYpb0kl1-sdg4Cw6XTrAjmmh2olhUenesY,26752
339
337
  mlrun/utils/notifications/notification/__init__.py,sha256=2in3F2q8gtYDiDoQ4i9BIIE2I06OokT2EW49vs2krRA,2168
340
- mlrun/utils/notifications/notification/base.py,sha256=Bv6tUEFlF27SdkzFr1aY9a0gYX7tIbxsHbI7vOSqTsU,4196
338
+ mlrun/utils/notifications/notification/base.py,sha256=hf3BDZ4-bq92MsqofQHt8DZqqlcKbWHscZFvzHdMcw4,4265
341
339
  mlrun/utils/notifications/notification/console.py,sha256=MAVk7v5PJ52vdGRv76YcEPixWgV0licBPWGpR01uR40,2643
342
- mlrun/utils/notifications/notification/git.py,sha256=ELZ-ZmbFDb39A0OUIhtvuSbqJoVfF_o_IOxMD5eBlv4,5351
340
+ mlrun/utils/notifications/notification/git.py,sha256=g_8RksjCboGrKKjyhkePk5nSWrfdT61JkhMeg9EeGcY,6119
343
341
  mlrun/utils/notifications/notification/ipython.py,sha256=ZtVL30B_Ha0VGoo4LxO-voT1U41IYwyytovv5X_LsI4,2066
344
- mlrun/utils/notifications/notification/slack.py,sha256=EXhIDyhFkwCSzq8trX3TqGHh5ppFKzMxItxM0s0-ukM,6728
345
- mlrun/utils/notifications/notification/webhook.py,sha256=WgfxX1cpm8n2A-O08pwnsP4tzbxxv_vNUSnyXG4uKts,2752
342
+ mlrun/utils/notifications/notification/slack.py,sha256=wqpFGr5BTvFO5KuUSzFfxsgmyU1Ohq7fbrGeNe9TXOk,7006
343
+ mlrun/utils/notifications/notification/webhook.py,sha256=y8Hc3rlR48M2W76lfI2knEBxlD_T6k9P9kXD_vqFnfg,4472
346
344
  mlrun/utils/version/__init__.py,sha256=7kkrB7hEZ3cLXoWj1kPoDwo4MaswsI2JVOBpbKgPAgc,614
347
- mlrun/utils/version/version.json,sha256=ocVP16iqoQ2XPtQjK6WdVszGB8_5cAuccktEmVW1QHs,89
345
+ mlrun/utils/version/version.json,sha256=CSbhlx7tFTCKt-V8In4483tdV8_sGcxAwjCzZ9B3Cgw,89
348
346
  mlrun/utils/version/version.py,sha256=eEW0tqIAkU9Xifxv8Z9_qsYnNhn3YH7NRAfM-pPLt1g,1878
349
- mlrun-1.7.0rc26.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
350
- mlrun-1.7.0rc26.dist-info/METADATA,sha256=h4uXn912_-AohFXUCuvt9Vdf2E0xAVuO983wiGu-vqQ,19223
351
- mlrun-1.7.0rc26.dist-info/WHEEL,sha256=mguMlWGMX-VHnMpKOjjQidIo1ssRlCFu4a4mBpz1s2M,91
352
- mlrun-1.7.0rc26.dist-info/entry_points.txt,sha256=1Owd16eAclD5pfRCoJpYC2ZJSyGNTtUr0nCELMioMmU,46
353
- mlrun-1.7.0rc26.dist-info/top_level.txt,sha256=NObLzw3maSF9wVrgSeYBv-fgnHkAJ1kEkh12DLdd5KM,6
354
- mlrun-1.7.0rc26.dist-info/RECORD,,
347
+ mlrun-1.7.0rc31.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
348
+ mlrun-1.7.0rc31.dist-info/METADATA,sha256=sN0pn-ngWYxQP4TOJ7cNZZoFmu7XN0G9KOkKyapg03A,19534
349
+ mlrun-1.7.0rc31.dist-info/WHEEL,sha256=-oYQCr74JF3a37z2nRlQays_SX2MqOANoqVjBBAP2yE,91
350
+ mlrun-1.7.0rc31.dist-info/entry_points.txt,sha256=1Owd16eAclD5pfRCoJpYC2ZJSyGNTtUr0nCELMioMmU,46
351
+ mlrun-1.7.0rc31.dist-info/top_level.txt,sha256=NObLzw3maSF9wVrgSeYBv-fgnHkAJ1kEkh12DLdd5KM,6
352
+ mlrun-1.7.0rc31.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (70.1.1)
2
+ Generator: setuptools (71.0.3)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
@@ -1,271 +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
- import warnings
16
- from collections import Counter
17
-
18
- # Copied from https://github.com/apache/spark/blob/v3.2.3/python/pyspark/sql/pandas/conversion.py, with
19
- # np.bool -> bool and np.object -> object fix backported from pyspark v3.3.3.
20
-
21
-
22
- class PandasConversionMixin:
23
- """
24
- Min-in for the conversion from Spark to pandas. Currently, only :class:`DataFrame`
25
- can use this class.
26
- """
27
-
28
- def toPandas(self):
29
- """
30
- Returns the contents of this :class:`DataFrame` as Pandas ``pandas.DataFrame``.
31
-
32
- This is only available if Pandas is installed and available.
33
-
34
- .. versionadded:: 1.3.0
35
-
36
- Notes
37
- -----
38
- This method should only be used if the resulting Pandas's :class:`DataFrame` is
39
- expected to be small, as all the data is loaded into the driver's memory.
40
-
41
- Usage with spark.sql.execution.arrow.pyspark.enabled=True is experimental.
42
-
43
- Examples
44
- --------
45
- >>> df.toPandas() # doctest: +SKIP
46
- age name
47
- 0 2 Alice
48
- 1 5 Bob
49
- """
50
- from pyspark.sql.dataframe import DataFrame
51
-
52
- assert isinstance(self, DataFrame)
53
-
54
- from pyspark.sql.pandas.utils import require_minimum_pandas_version
55
-
56
- require_minimum_pandas_version()
57
-
58
- import numpy as np
59
- import pandas as pd
60
- from pyspark.sql.types import (
61
- BooleanType,
62
- IntegralType,
63
- MapType,
64
- TimestampType,
65
- )
66
-
67
- timezone = self.sql_ctx._conf.sessionLocalTimeZone()
68
-
69
- if self.sql_ctx._conf.arrowPySparkEnabled():
70
- use_arrow = True
71
- try:
72
- from pyspark.sql.pandas.types import to_arrow_schema
73
- from pyspark.sql.pandas.utils import require_minimum_pyarrow_version
74
-
75
- require_minimum_pyarrow_version()
76
- to_arrow_schema(self.schema)
77
- except Exception as e:
78
- if self.sql_ctx._conf.arrowPySparkFallbackEnabled():
79
- msg = (
80
- "toPandas attempted Arrow optimization because "
81
- "'spark.sql.execution.arrow.pyspark.enabled' is set to true; however, "
82
- f"failed by the reason below:\n {e}\n"
83
- "Attempting non-optimization as "
84
- "'spark.sql.execution.arrow.pyspark.fallback.enabled' is set to "
85
- "true."
86
- )
87
- warnings.warn(msg)
88
- use_arrow = False
89
- else:
90
- msg = (
91
- "toPandas attempted Arrow optimization because "
92
- "'spark.sql.execution.arrow.pyspark.enabled' is set to true, but has "
93
- "reached the error below and will not continue because automatic fallback "
94
- "with 'spark.sql.execution.arrow.pyspark.fallback.enabled' has been set to "
95
- f"false.\n {e}"
96
- )
97
- warnings.warn(msg)
98
- raise
99
-
100
- # Try to use Arrow optimization when the schema is supported and the required version
101
- # of PyArrow is found, if 'spark.sql.execution.arrow.pyspark.enabled' is enabled.
102
- if use_arrow:
103
- try:
104
- import pyarrow
105
- from pyspark.sql.pandas.types import (
106
- _check_series_localize_timestamps,
107
- _convert_map_items_to_dict,
108
- )
109
-
110
- # Rename columns to avoid duplicated column names.
111
- tmp_column_names = [f"col_{i}" for i in range(len(self.columns))]
112
- self_destruct = self.sql_ctx._conf.arrowPySparkSelfDestructEnabled()
113
- batches = self.toDF(*tmp_column_names)._collect_as_arrow(
114
- split_batches=self_destruct
115
- )
116
- if len(batches) > 0:
117
- table = pyarrow.Table.from_batches(batches)
118
- # Ensure only the table has a reference to the batches, so that
119
- # self_destruct (if enabled) is effective
120
- del batches
121
- # Pandas DataFrame created from PyArrow uses datetime64[ns] for date type
122
- # values, but we should use datetime.date to match the behavior with when
123
- # Arrow optimization is disabled.
124
- pandas_options = {"date_as_object": True}
125
- if self_destruct:
126
- # Configure PyArrow to use as little memory as possible:
127
- # self_destruct - free columns as they are converted
128
- # split_blocks - create a separate Pandas block for each column
129
- # use_threads - convert one column at a time
130
- pandas_options.update(
131
- {
132
- "self_destruct": True,
133
- "split_blocks": True,
134
- "use_threads": False,
135
- }
136
- )
137
- pdf = table.to_pandas(**pandas_options)
138
- # Rename back to the original column names.
139
- pdf.columns = self.columns
140
- for field in self.schema:
141
- if isinstance(field.dataType, TimestampType):
142
- pdf[field.name] = _check_series_localize_timestamps(
143
- pdf[field.name], timezone
144
- )
145
- elif isinstance(field.dataType, MapType):
146
- pdf[field.name] = _convert_map_items_to_dict(
147
- pdf[field.name]
148
- )
149
- return pdf
150
- else:
151
- return pd.DataFrame.from_records([], columns=self.columns)
152
- except Exception as e:
153
- # We might have to allow fallback here as well but multiple Spark jobs can
154
- # be executed. So, simply fail in this case for now.
155
- msg = (
156
- "toPandas attempted Arrow optimization because "
157
- "'spark.sql.execution.arrow.pyspark.enabled' is set to true, but has "
158
- "reached the error below and can not continue. Note that "
159
- "'spark.sql.execution.arrow.pyspark.fallback.enabled' does not have an "
160
- "effect on failures in the middle of "
161
- f"computation.\n {e}"
162
- )
163
- warnings.warn(msg)
164
- raise
165
-
166
- # Below is toPandas without Arrow optimization.
167
- pdf = pd.DataFrame.from_records(self.collect(), columns=self.columns)
168
- column_counter = Counter(self.columns)
169
-
170
- dtype = [None] * len(self.schema)
171
- for field_idx, field in enumerate(self.schema):
172
- # For duplicate column name, we use `iloc` to access it.
173
- if column_counter[field.name] > 1:
174
- pandas_col = pdf.iloc[:, field_idx]
175
- else:
176
- pandas_col = pdf[field.name]
177
-
178
- pandas_type = PandasConversionMixin._to_corrected_pandas_type(
179
- field.dataType
180
- )
181
- # SPARK-21766: if an integer field is nullable and has null values, it can be
182
- # inferred by pandas as float column. Once we convert the column with NaN back
183
- # to integer type e.g., np.int16, we will hit exception. So we use the inferred
184
- # float type, not the corrected type from the schema in this case.
185
- if pandas_type is not None and not (
186
- isinstance(field.dataType, IntegralType)
187
- and field.nullable
188
- and pandas_col.isnull().any()
189
- ):
190
- dtype[field_idx] = pandas_type
191
- # Ensure we fall back to nullable numpy types, even when whole column is null:
192
- if isinstance(field.dataType, IntegralType) and pandas_col.isnull().any():
193
- dtype[field_idx] = np.float64
194
- if isinstance(field.dataType, BooleanType) and pandas_col.isnull().any():
195
- dtype[field_idx] = object
196
-
197
- df = pd.DataFrame()
198
- for index, t in enumerate(dtype):
199
- column_name = self.schema[index].name
200
-
201
- # For duplicate column name, we use `iloc` to access it.
202
- if column_counter[column_name] > 1:
203
- series = pdf.iloc[:, index]
204
- else:
205
- series = pdf[column_name]
206
-
207
- if t is not None:
208
- series = series.astype(t, copy=False)
209
-
210
- # `insert` API makes copy of data, we only do it for Series of duplicate column names.
211
- # `pdf.iloc[:, index] = pdf.iloc[:, index]...` doesn't always work because `iloc` could
212
- # return a view or a copy depending by context.
213
- if column_counter[column_name] > 1:
214
- df.insert(index, column_name, series, allow_duplicates=True)
215
- else:
216
- df[column_name] = series
217
-
218
- pdf = df
219
-
220
- if timezone is None:
221
- return pdf
222
- else:
223
- from pyspark.sql.pandas.types import (
224
- _check_series_convert_timestamps_local_tz,
225
- )
226
-
227
- for field in self.schema:
228
- # TODO: handle nested timestamps, such as ArrayType(TimestampType())?
229
- if isinstance(field.dataType, TimestampType):
230
- pdf[field.name] = _check_series_convert_timestamps_local_tz(
231
- pdf[field.name], timezone
232
- )
233
- return pdf
234
-
235
- @staticmethod
236
- def _to_corrected_pandas_type(dt):
237
- """
238
- When converting Spark SQL records to Pandas :class:`DataFrame`, the inferred data type
239
- may be wrong. This method gets the corrected data type for Pandas if that type may be
240
- inferred incorrectly.
241
- """
242
- import numpy as np
243
- from pyspark.sql.types import (
244
- BooleanType,
245
- ByteType,
246
- DoubleType,
247
- FloatType,
248
- IntegerType,
249
- LongType,
250
- ShortType,
251
- TimestampType,
252
- )
253
-
254
- if type(dt) == ByteType:
255
- return np.int8
256
- elif type(dt) == ShortType:
257
- return np.int16
258
- elif type(dt) == IntegerType:
259
- return np.int32
260
- elif type(dt) == LongType:
261
- return np.int64
262
- elif type(dt) == FloatType:
263
- return np.float32
264
- elif type(dt) == DoubleType:
265
- return np.float64
266
- elif type(dt) == BooleanType:
267
- return bool
268
- elif type(dt) == TimestampType:
269
- return np.datetime64
270
- else:
271
- return None
@@ -1,37 +0,0 @@
1
- # Copyright 2023 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
- import nuclio
15
-
16
- import mlrun
17
- from mlrun.model_monitoring.controller import MonitoringApplicationController
18
-
19
-
20
- def handler(context: nuclio.Context, event: nuclio.Event) -> None:
21
- """
22
- Run model monitoring application processor
23
-
24
- :param context: the Nuclio context
25
- :param event: trigger event
26
- """
27
- context.user_data.monitor_app_controller.run(event)
28
-
29
-
30
- def init_context(context):
31
- mlrun_context = mlrun.get_or_create_ctx("model_monitoring_controller")
32
- mlrun_context.logger.info("Initialize monitoring app controller")
33
- monitor_app_controller = MonitoringApplicationController(
34
- mlrun_context=mlrun_context,
35
- project=mlrun_context.project,
36
- )
37
- setattr(context.user_data, "monitor_app_controller", monitor_app_controller)