mlrun 1.10.0rc10__tar.gz → 1.10.0rc12__tar.gz

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 (397) hide show
  1. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/Makefile +5 -2
  2. {mlrun-1.10.0rc10/mlrun.egg-info → mlrun-1.10.0rc12}/PKG-INFO +14 -7
  3. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/dependencies.py +2 -0
  4. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/dev-requirements.txt +3 -1
  5. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/dockerfiles/mlrun-api/requirements.txt +1 -1
  6. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/extras-requirements.txt +1 -0
  7. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/__init__.py +2 -1
  8. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/__main__.py +7 -1
  9. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/artifacts/base.py +9 -3
  10. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/artifacts/dataset.py +2 -1
  11. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/artifacts/llm_prompt.py +1 -1
  12. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/artifacts/manager.py +1 -1
  13. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/artifacts/model.py +2 -2
  14. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/common/constants.py +12 -0
  15. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/common/runtimes/constants.py +10 -1
  16. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/common/schemas/model_monitoring/__init__.py +2 -0
  17. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/common/schemas/model_monitoring/functions.py +2 -0
  18. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/common/schemas/model_monitoring/model_endpoints.py +19 -1
  19. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/common/schemas/serving.py +1 -0
  20. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/common/schemas/workflow.py +3 -2
  21. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/config.py +19 -2
  22. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/datastore/__init__.py +3 -1
  23. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/datastore/alibaba_oss.py +1 -1
  24. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/datastore/azure_blob.py +2 -2
  25. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/datastore/base.py +10 -33
  26. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/datastore/datastore.py +155 -47
  27. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/datastore/datastore_profile.py +31 -0
  28. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/datastore/dbfs_store.py +1 -1
  29. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/datastore/google_cloud_storage.py +3 -3
  30. mlrun-1.10.0rc12/mlrun/datastore/model_provider/model_provider.py +82 -0
  31. mlrun-1.10.0rc12/mlrun/datastore/model_provider/openai_provider.py +120 -0
  32. mlrun-1.10.0rc12/mlrun/datastore/remote_client.py +54 -0
  33. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/datastore/s3.py +17 -6
  34. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/datastore/sources.py +2 -2
  35. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/datastore/storeytargets.py +1 -1
  36. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/datastore/targets.py +2 -2
  37. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/datastore/utils.py +22 -0
  38. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/datastore/v3io.py +1 -1
  39. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/db/__init__.py +0 -1
  40. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/db/base.py +13 -1
  41. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/db/httpdb.py +44 -4
  42. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/db/nopdb.py +11 -1
  43. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/execution.py +35 -7
  44. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/frameworks/tf_keras/mlrun_interface.py +7 -18
  45. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/launcher/base.py +24 -13
  46. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/launcher/client.py +1 -0
  47. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/launcher/local.py +7 -1
  48. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/launcher/remote.py +4 -2
  49. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/model.py +80 -4
  50. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/model_monitoring/applications/base.py +74 -56
  51. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/model_monitoring/db/tsdb/base.py +52 -19
  52. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/model_monitoring/db/tsdb/tdengine/tdengine_connector.py +179 -11
  53. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/model_monitoring/db/tsdb/v3io/v3io_connector.py +26 -11
  54. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/model_monitoring/helpers.py +48 -0
  55. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/package/packagers_manager.py +2 -0
  56. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/projects/operations.py +8 -1
  57. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/projects/pipelines.py +12 -3
  58. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/projects/project.py +53 -5
  59. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/run.py +17 -0
  60. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/runtimes/__init__.py +6 -0
  61. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/runtimes/base.py +24 -6
  62. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/runtimes/daskjob.py +3 -0
  63. mlrun-1.10.0rc12/mlrun/runtimes/databricks_job/__init__.py +13 -0
  64. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/runtimes/databricks_job/databricks_runtime.py +1 -0
  65. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/runtimes/kubejob.py +4 -0
  66. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/runtimes/local.py +1 -6
  67. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/runtimes/mpijob/abstract.py +2 -0
  68. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/runtimes/mpijob/v1.py +2 -0
  69. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/runtimes/nuclio/function.py +2 -0
  70. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/runtimes/nuclio/serving.py +59 -0
  71. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/runtimes/pod.py +3 -0
  72. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/runtimes/remotesparkjob.py +2 -0
  73. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/runtimes/sparkjob/spark3job.py +2 -0
  74. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/serving/server.py +97 -5
  75. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/serving/states.py +176 -43
  76. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/serving/system_steps.py +22 -28
  77. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/utils/helpers.py +13 -2
  78. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/utils/notifications/notification_pusher.py +15 -0
  79. mlrun-1.10.0rc12/mlrun/utils/version/version.json +4 -0
  80. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12/mlrun.egg-info}/PKG-INFO +14 -7
  81. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun.egg-info/SOURCES.txt +4 -2
  82. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun.egg-info/requires.txt +15 -6
  83. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/requirements.txt +4 -4
  84. mlrun-1.10.0rc10/mlrun/db/sql_types.py +0 -160
  85. mlrun-1.10.0rc10/mlrun/utils/db.py +0 -71
  86. mlrun-1.10.0rc10/mlrun/utils/version/version.json +0 -4
  87. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/LICENSE +0 -0
  88. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/MANIFEST.in +0 -0
  89. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/README.md +0 -0
  90. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/examples/archive.zip +0 -0
  91. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/examples/function.py +0 -0
  92. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/examples/handler.py +0 -0
  93. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/examples/infile.txt +0 -0
  94. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/examples/load-project.ipynb +0 -0
  95. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/examples/mlrun_basics.ipynb +0 -0
  96. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/examples/mlrun_dask.ipynb +0 -0
  97. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/examples/mlrun_db.ipynb +0 -0
  98. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/examples/mlrun_export_import.ipynb +0 -0
  99. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/examples/mlrun_jobs.ipynb +0 -0
  100. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/examples/mlrun_sparkk8s.ipynb +0 -0
  101. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/examples/mlrun_vault.ipynb +0 -0
  102. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/examples/model.bst +0 -0
  103. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/examples/new-project.ipynb +0 -0
  104. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/examples/nulltst.py +0 -0
  105. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/examples/params.csv +0 -0
  106. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/examples/remote-spark.ipynb +0 -0
  107. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/examples/secrets.txt +0 -0
  108. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/examples/spark-function.py +0 -0
  109. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/examples/training.py +0 -0
  110. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/examples/v2_model_server.ipynb +0 -0
  111. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/examples/xgb_serving.ipynb +0 -0
  112. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/alerts/__init__.py +0 -0
  113. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/alerts/alert.py +0 -0
  114. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/api/schemas/__init__.py +0 -0
  115. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/artifacts/__init__.py +0 -0
  116. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/artifacts/document.py +0 -0
  117. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/artifacts/helpers.py +0 -0
  118. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/artifacts/plots.py +0 -0
  119. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/common/__init__.py +0 -0
  120. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/common/db/__init__.py +0 -0
  121. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/common/db/dialects.py +0 -0
  122. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/common/formatters/__init__.py +0 -0
  123. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/common/formatters/artifact.py +0 -0
  124. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/common/formatters/base.py +0 -0
  125. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/common/formatters/feature_set.py +0 -0
  126. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/common/formatters/function.py +0 -0
  127. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/common/formatters/model_endpoint.py +0 -0
  128. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/common/formatters/pipeline.py +0 -0
  129. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/common/formatters/project.py +0 -0
  130. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/common/formatters/run.py +0 -0
  131. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/common/helpers.py +0 -0
  132. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/common/model_monitoring/__init__.py +0 -0
  133. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/common/model_monitoring/helpers.py +0 -0
  134. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/common/schemas/__init__.py +0 -0
  135. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/common/schemas/alert.py +0 -0
  136. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/common/schemas/api_gateway.py +0 -0
  137. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/common/schemas/artifact.py +0 -0
  138. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/common/schemas/auth.py +0 -0
  139. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/common/schemas/background_task.py +0 -0
  140. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/common/schemas/client_spec.py +0 -0
  141. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/common/schemas/clusterization_spec.py +0 -0
  142. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/common/schemas/common.py +0 -0
  143. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/common/schemas/constants.py +0 -0
  144. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/common/schemas/datastore_profile.py +0 -0
  145. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/common/schemas/events.py +0 -0
  146. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/common/schemas/feature_store.py +0 -0
  147. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/common/schemas/frontend_spec.py +0 -0
  148. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/common/schemas/function.py +0 -0
  149. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/common/schemas/http.py +0 -0
  150. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/common/schemas/hub.py +0 -0
  151. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/common/schemas/k8s.py +0 -0
  152. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/common/schemas/memory_reports.py +0 -0
  153. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/common/schemas/model_monitoring/constants.py +0 -0
  154. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/common/schemas/model_monitoring/grafana.py +0 -0
  155. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/common/schemas/notification.py +0 -0
  156. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/common/schemas/object.py +0 -0
  157. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/common/schemas/pagination.py +0 -0
  158. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/common/schemas/partition.py +0 -0
  159. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/common/schemas/pipeline.py +0 -0
  160. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/common/schemas/project.py +0 -0
  161. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/common/schemas/regex.py +0 -0
  162. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/common/schemas/runs.py +0 -0
  163. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/common/schemas/runtime_resource.py +0 -0
  164. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/common/schemas/schedule.py +0 -0
  165. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/common/schemas/secret.py +0 -0
  166. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/common/schemas/tag.py +0 -0
  167. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/common/secrets.py +0 -0
  168. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/common/types.py +0 -0
  169. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/data_types/__init__.py +0 -0
  170. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/data_types/data_types.py +0 -0
  171. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/data_types/infer.py +0 -0
  172. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/data_types/spark.py +0 -0
  173. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/data_types/to_pandas.py +0 -0
  174. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/datastore/filestore.py +0 -0
  175. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/datastore/hdfs.py +0 -0
  176. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/datastore/inmem.py +0 -0
  177. {mlrun-1.10.0rc10/mlrun/runtimes/databricks_job → mlrun-1.10.0rc12/mlrun/datastore/model_provider}/__init__.py +0 -0
  178. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/datastore/redis.py +0 -0
  179. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/datastore/snowflake_utils.py +0 -0
  180. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/datastore/spark_udf.py +0 -0
  181. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/datastore/spark_utils.py +0 -0
  182. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/datastore/store_resources.py +0 -0
  183. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/datastore/vectorstore.py +0 -0
  184. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/datastore/wasbfs/__init__.py +0 -0
  185. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/datastore/wasbfs/fs.py +0 -0
  186. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/db/auth_utils.py +0 -0
  187. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/db/factory.py +0 -0
  188. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/errors.py +0 -0
  189. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/feature_store/__init__.py +0 -0
  190. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/feature_store/api.py +0 -0
  191. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/feature_store/common.py +0 -0
  192. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/feature_store/feature_set.py +0 -0
  193. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/feature_store/feature_vector.py +0 -0
  194. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/feature_store/feature_vector_utils.py +0 -0
  195. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/feature_store/ingestion.py +0 -0
  196. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/feature_store/retrieval/__init__.py +0 -0
  197. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/feature_store/retrieval/base.py +0 -0
  198. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/feature_store/retrieval/dask_merger.py +0 -0
  199. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/feature_store/retrieval/job.py +0 -0
  200. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/feature_store/retrieval/local_merger.py +0 -0
  201. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/feature_store/retrieval/spark_merger.py +0 -0
  202. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/feature_store/retrieval/storey_merger.py +0 -0
  203. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/feature_store/steps.py +0 -0
  204. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/features.py +0 -0
  205. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/frameworks/__init__.py +0 -0
  206. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/frameworks/_common/__init__.py +0 -0
  207. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/frameworks/_common/artifacts_library.py +0 -0
  208. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/frameworks/_common/mlrun_interface.py +0 -0
  209. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/frameworks/_common/model_handler.py +0 -0
  210. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/frameworks/_common/plan.py +0 -0
  211. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/frameworks/_common/producer.py +0 -0
  212. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/frameworks/_common/utils.py +0 -0
  213. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/frameworks/_dl_common/__init__.py +0 -0
  214. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/frameworks/_dl_common/loggers/__init__.py +0 -0
  215. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/frameworks/_dl_common/loggers/logger.py +0 -0
  216. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/frameworks/_dl_common/loggers/mlrun_logger.py +0 -0
  217. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/frameworks/_dl_common/loggers/tensorboard_logger.py +0 -0
  218. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/frameworks/_dl_common/model_handler.py +0 -0
  219. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/frameworks/_dl_common/utils.py +0 -0
  220. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/frameworks/_ml_common/__init__.py +0 -0
  221. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/frameworks/_ml_common/artifacts_library.py +0 -0
  222. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/frameworks/_ml_common/loggers/__init__.py +0 -0
  223. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/frameworks/_ml_common/loggers/logger.py +0 -0
  224. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/frameworks/_ml_common/loggers/mlrun_logger.py +0 -0
  225. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/frameworks/_ml_common/model_handler.py +0 -0
  226. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/frameworks/_ml_common/pkl_model_server.py +0 -0
  227. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/frameworks/_ml_common/plan.py +0 -0
  228. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/frameworks/_ml_common/plans/__init__.py +0 -0
  229. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/frameworks/_ml_common/plans/calibration_curve_plan.py +0 -0
  230. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/frameworks/_ml_common/plans/confusion_matrix_plan.py +0 -0
  231. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/frameworks/_ml_common/plans/dataset_plan.py +0 -0
  232. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/frameworks/_ml_common/plans/feature_importance_plan.py +0 -0
  233. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/frameworks/_ml_common/plans/roc_curve_plan.py +0 -0
  234. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/frameworks/_ml_common/producer.py +0 -0
  235. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/frameworks/_ml_common/utils.py +0 -0
  236. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/frameworks/auto_mlrun/__init__.py +0 -0
  237. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/frameworks/auto_mlrun/auto_mlrun.py +0 -0
  238. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/frameworks/huggingface/__init__.py +0 -0
  239. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/frameworks/huggingface/model_server.py +0 -0
  240. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/frameworks/lgbm/__init__.py +0 -0
  241. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/frameworks/lgbm/callbacks/__init__.py +0 -0
  242. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/frameworks/lgbm/callbacks/callback.py +0 -0
  243. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/frameworks/lgbm/callbacks/logging_callback.py +0 -0
  244. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/frameworks/lgbm/callbacks/mlrun_logging_callback.py +0 -0
  245. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/frameworks/lgbm/mlrun_interfaces/__init__.py +0 -0
  246. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/frameworks/lgbm/mlrun_interfaces/booster_mlrun_interface.py +0 -0
  247. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/frameworks/lgbm/mlrun_interfaces/mlrun_interface.py +0 -0
  248. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/frameworks/lgbm/mlrun_interfaces/model_mlrun_interface.py +0 -0
  249. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/frameworks/lgbm/model_handler.py +0 -0
  250. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/frameworks/lgbm/model_server.py +0 -0
  251. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/frameworks/lgbm/utils.py +0 -0
  252. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/frameworks/onnx/__init__.py +0 -0
  253. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/frameworks/onnx/dataset.py +0 -0
  254. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/frameworks/onnx/mlrun_interface.py +0 -0
  255. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/frameworks/onnx/model_handler.py +0 -0
  256. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/frameworks/onnx/model_server.py +0 -0
  257. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/frameworks/parallel_coordinates.py +0 -0
  258. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/frameworks/pytorch/__init__.py +0 -0
  259. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/frameworks/pytorch/callbacks/__init__.py +0 -0
  260. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/frameworks/pytorch/callbacks/callback.py +0 -0
  261. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/frameworks/pytorch/callbacks/logging_callback.py +0 -0
  262. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/frameworks/pytorch/callbacks/mlrun_logging_callback.py +0 -0
  263. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/frameworks/pytorch/callbacks/tensorboard_logging_callback.py +0 -0
  264. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/frameworks/pytorch/callbacks_handler.py +0 -0
  265. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/frameworks/pytorch/mlrun_interface.py +0 -0
  266. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/frameworks/pytorch/model_handler.py +0 -0
  267. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/frameworks/pytorch/model_server.py +0 -0
  268. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/frameworks/pytorch/utils.py +0 -0
  269. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/frameworks/sklearn/__init__.py +0 -0
  270. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/frameworks/sklearn/estimator.py +0 -0
  271. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/frameworks/sklearn/metric.py +0 -0
  272. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/frameworks/sklearn/metrics_library.py +0 -0
  273. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/frameworks/sklearn/mlrun_interface.py +0 -0
  274. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/frameworks/sklearn/model_handler.py +0 -0
  275. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/frameworks/sklearn/utils.py +0 -0
  276. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/frameworks/tf_keras/__init__.py +0 -0
  277. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/frameworks/tf_keras/callbacks/__init__.py +0 -0
  278. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/frameworks/tf_keras/callbacks/logging_callback.py +0 -0
  279. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/frameworks/tf_keras/callbacks/mlrun_logging_callback.py +0 -0
  280. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/frameworks/tf_keras/callbacks/tensorboard_logging_callback.py +0 -0
  281. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/frameworks/tf_keras/model_handler.py +0 -0
  282. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/frameworks/tf_keras/model_server.py +0 -0
  283. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/frameworks/tf_keras/utils.py +0 -0
  284. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/frameworks/xgboost/__init__.py +0 -0
  285. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/frameworks/xgboost/mlrun_interface.py +0 -0
  286. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/frameworks/xgboost/model_handler.py +0 -0
  287. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/frameworks/xgboost/utils.py +0 -0
  288. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/k8s_utils.py +0 -0
  289. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/launcher/__init__.py +0 -0
  290. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/launcher/factory.py +0 -0
  291. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/lists.py +0 -0
  292. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/model_monitoring/__init__.py +0 -0
  293. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/model_monitoring/api.py +0 -0
  294. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/model_monitoring/applications/__init__.py +0 -0
  295. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/model_monitoring/applications/_application_steps.py +0 -0
  296. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/model_monitoring/applications/context.py +0 -0
  297. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/model_monitoring/applications/evidently/__init__.py +0 -0
  298. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/model_monitoring/applications/evidently/base.py +0 -0
  299. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/model_monitoring/applications/histogram_data_drift.py +0 -0
  300. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/model_monitoring/applications/results.py +0 -0
  301. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/model_monitoring/controller.py +0 -0
  302. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/model_monitoring/db/__init__.py +0 -0
  303. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/model_monitoring/db/_schedules.py +0 -0
  304. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/model_monitoring/db/_stats.py +0 -0
  305. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/model_monitoring/db/tsdb/__init__.py +0 -0
  306. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/model_monitoring/db/tsdb/helpers.py +0 -0
  307. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/model_monitoring/db/tsdb/tdengine/__init__.py +0 -0
  308. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/model_monitoring/db/tsdb/tdengine/schemas.py +0 -0
  309. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/model_monitoring/db/tsdb/tdengine/stream_graph_steps.py +0 -0
  310. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/model_monitoring/db/tsdb/tdengine/tdengine_connection.py +0 -0
  311. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/model_monitoring/db/tsdb/v3io/__init__.py +0 -0
  312. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/model_monitoring/db/tsdb/v3io/stream_graph_steps.py +0 -0
  313. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/model_monitoring/features_drift_table.py +0 -0
  314. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/model_monitoring/metrics/__init__.py +0 -0
  315. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/model_monitoring/metrics/histogram_distance.py +0 -0
  316. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/model_monitoring/stream_processing.py +0 -0
  317. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/model_monitoring/writer.py +0 -0
  318. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/package/__init__.py +0 -0
  319. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/package/context_handler.py +0 -0
  320. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/package/errors.py +0 -0
  321. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/package/packager.py +0 -0
  322. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/package/packagers/__init__.py +0 -0
  323. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/package/packagers/default_packager.py +0 -0
  324. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/package/packagers/numpy_packagers.py +0 -0
  325. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/package/packagers/pandas_packagers.py +0 -0
  326. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/package/packagers/python_standard_library_packagers.py +0 -0
  327. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/package/utils/__init__.py +0 -0
  328. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/package/utils/_archiver.py +0 -0
  329. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/package/utils/_formatter.py +0 -0
  330. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/package/utils/_pickler.py +0 -0
  331. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/package/utils/_supported_format.py +0 -0
  332. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/package/utils/log_hint_utils.py +0 -0
  333. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/package/utils/type_hint_utils.py +0 -0
  334. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/platforms/__init__.py +0 -0
  335. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/platforms/iguazio.py +0 -0
  336. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/projects/__init__.py +0 -0
  337. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/render.py +0 -0
  338. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/runtimes/databricks_job/databricks_cancel_task.py +0 -0
  339. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/runtimes/databricks_job/databricks_wrapper.py +0 -0
  340. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/runtimes/funcdoc.py +0 -0
  341. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/runtimes/function_reference.py +0 -0
  342. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/runtimes/generators.py +0 -0
  343. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/runtimes/mounts.py +0 -0
  344. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/runtimes/mpijob/__init__.py +0 -0
  345. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/runtimes/nuclio/__init__.py +0 -0
  346. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/runtimes/nuclio/api_gateway.py +0 -0
  347. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/runtimes/nuclio/application/__init__.py +0 -0
  348. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/runtimes/nuclio/application/application.py +0 -0
  349. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/runtimes/nuclio/application/reverse_proxy.go +0 -0
  350. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/runtimes/nuclio/nuclio.py +0 -0
  351. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/runtimes/sparkjob/__init__.py +0 -0
  352. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/runtimes/utils.py +0 -0
  353. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/secrets.py +0 -0
  354. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/serving/__init__.py +0 -0
  355. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/serving/merger.py +0 -0
  356. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/serving/remote.py +0 -0
  357. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/serving/routers.py +0 -0
  358. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/serving/serving_wrapper.py +0 -0
  359. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/serving/utils.py +0 -0
  360. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/serving/v1_serving.py +0 -0
  361. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/serving/v2_serving.py +0 -0
  362. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/track/__init__.py +0 -0
  363. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/track/tracker.py +0 -0
  364. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/track/tracker_manager.py +0 -0
  365. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/track/trackers/__init__.py +0 -0
  366. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/track/trackers/mlflow_tracker.py +0 -0
  367. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/utils/__init__.py +0 -0
  368. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/utils/async_http.py +0 -0
  369. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/utils/azure_vault.py +0 -0
  370. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/utils/clones.py +0 -0
  371. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/utils/condition_evaluator.py +0 -0
  372. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/utils/http.py +0 -0
  373. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/utils/logger.py +0 -0
  374. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/utils/notifications/__init__.py +0 -0
  375. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/utils/notifications/notification/__init__.py +0 -0
  376. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/utils/notifications/notification/base.py +0 -0
  377. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/utils/notifications/notification/console.py +0 -0
  378. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/utils/notifications/notification/git.py +0 -0
  379. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/utils/notifications/notification/ipython.py +0 -0
  380. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/utils/notifications/notification/mail.py +0 -0
  381. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/utils/notifications/notification/slack.py +0 -0
  382. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/utils/notifications/notification/webhook.py +0 -0
  383. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/utils/regex.py +0 -0
  384. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/utils/retryer.py +0 -0
  385. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/utils/singleton.py +0 -0
  386. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/utils/v3io_clients.py +0 -0
  387. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/utils/vault.py +0 -0
  388. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/utils/version/__init__.py +0 -0
  389. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun/utils/version/version.py +0 -0
  390. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun.egg-info/dependency_links.txt +0 -0
  391. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun.egg-info/entry_points.txt +0 -0
  392. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun.egg-info/not-zip-safe +0 -0
  393. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/mlrun.egg-info/top_level.txt +0 -0
  394. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/packages.py +0 -0
  395. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/pyproject.toml +0 -0
  396. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/setup.cfg +0 -0
  397. {mlrun-1.10.0rc10 → mlrun-1.10.0rc12}/setup.py +0 -0
@@ -195,13 +195,13 @@ endif
195
195
  install-complete-requirements: ## Install all requirements needed for development and testing
196
196
  $(MLRUN_PYTHON_VENV_PIP_INSTALL) --upgrade $(MLRUN_PIP_NO_CACHE_FLAG) pip~=$(MLRUN_PIP_VERSION)
197
197
  $(eval MLRUN_PIP_INSTALL_FLAG := $(if $(and $(MLRUN_PYTHON_PACKAGE_INSTALLER),$(filter -m pip,$(MLRUN_PYTHON_PACKAGE_INSTALLER))),--ignore-requires-python,))
198
- $(MLRUN_PYTHON_VENV_PIP_INSTALL) .[complete] $(MLRUN_PIP_INSTALL_FLAG)
198
+ $(MLRUN_PYTHON_VENV_PIP_INSTALL) .[complete,dev-postgres] $(MLRUN_PIP_INSTALL_FLAG)
199
199
 
200
200
  .PHONY: install-complete-kfp-requirements
201
201
  install-complete-kfp-requirements: ## Install all requirements needed for development and testing + KFP 1.8
202
202
  $(MLRUN_PYTHON_VENV_PIP_INSTALL) --upgrade $(MLRUN_PIP_NO_CACHE_FLAG) pip~=$(MLRUN_PIP_VERSION)
203
203
  $(eval MLRUN_PIP_INSTALL_FLAG := $(if $(and $(MLRUN_PYTHON_PACKAGE_INSTALLER),$(filter -m pip,$(MLRUN_PYTHON_PACKAGE_INSTALLER))),--ignore-requires-python,))
204
- $(MLRUN_PYTHON_VENV_PIP_INSTALL) .[complete,kfp18] $(MLRUN_PIP_INSTALL_FLAG)
204
+ $(MLRUN_PYTHON_VENV_PIP_INSTALL) .[complete,kfp18,dev-postgres] $(MLRUN_PIP_INSTALL_FLAG)
205
205
 
206
206
  .PHONY: install-all-requirements
207
207
  install-all-requirements: ## Install all requirements needed for development and testing
@@ -580,6 +580,7 @@ test: clean ## Run mlrun tests
580
580
  set -e ; \
581
581
  COMMON_IGNORE_TEST_FLAGS=$$(echo "\
582
582
  --ignore=tests/integration \
583
+ --ignore=server/py/services/api/tests/integration \
583
584
  --ignore=tests/system \
584
585
  --ignore=tests/rundb/test_httpdb.py \
585
586
  --ignore=server/py/services/api/migrations \
@@ -629,6 +630,7 @@ test-integration-dockerized: build-test ## Run mlrun integration tests in docker
629
630
  -v /var/run/docker.sock:/var/run/docker.sock \
630
631
  -v $$COVERAGE_MOUNT_PATH:/mlrun/tests/coverage_reports \
631
632
  -e RUN_COVERAGE=$(RUN_COVERAGE) \
633
+ --add-host=host.docker.internal:host-gateway \
632
634
  $(MLRUN_TEST_IMAGE_NAME_TAGGED) make test-integration
633
635
 
634
636
  .PHONY: test-integration
@@ -644,6 +646,7 @@ test-integration: clean ## Run mlrun integration tests
644
646
  --durations=100 \
645
647
  -rf \
646
648
  tests/integration \
649
+ server/py/services/api/tests/integration \
647
650
  tests/rundb/test_httpdb.py && \
648
651
  $(PRINT_COVERAGE_REPORT);
649
652
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mlrun
3
- Version: 1.10.0rc10
3
+ Version: 1.10.0rc12
4
4
  Summary: Tracking and config of machine learning runs
5
5
  Home-page: https://github.com/mlrun/mlrun
6
6
  Author: Yaron Haviv
@@ -31,7 +31,7 @@ Requires-Dist: ipython~=8.10
31
31
  Requires-Dist: nuclio-jupyter~=0.11.1
32
32
  Requires-Dist: numpy<1.27.0,>=1.26.4
33
33
  Requires-Dist: pandas<2.2,>=1.2
34
- Requires-Dist: pyarrow<17,>=10.0
34
+ Requires-Dist: pyarrow<18,>=10.0
35
35
  Requires-Dist: pyyaml<7,>=6.0.2
36
36
  Requires-Dist: requests~=2.32
37
37
  Requires-Dist: tabulate~=0.8.6
@@ -44,15 +44,15 @@ Requires-Dist: semver~=3.0
44
44
  Requires-Dist: dependency-injector~=4.41
45
45
  Requires-Dist: fsspec<2024.7,>=2023.9.2
46
46
  Requires-Dist: v3iofs~=0.1.17
47
- Requires-Dist: storey~=1.10.2
47
+ Requires-Dist: storey~=1.10.7
48
48
  Requires-Dist: inflection~=0.5.0
49
49
  Requires-Dist: python-dotenv~=1.0
50
50
  Requires-Dist: setuptools>=75.2
51
51
  Requires-Dist: deprecated~=1.2
52
52
  Requires-Dist: jinja2>=3.1.6,~=3.1
53
53
  Requires-Dist: orjson<4,>=3.9.15
54
- Requires-Dist: mlrun-pipelines-kfp-common~=0.5.6
55
- Requires-Dist: mlrun-pipelines-kfp-v1-8~=0.5.4
54
+ Requires-Dist: mlrun-pipelines-kfp-common~=0.5.8
55
+ Requires-Dist: mlrun-pipelines-kfp-v1-8~=0.5.7
56
56
  Requires-Dist: docstring_parser~=0.16
57
57
  Requires-Dist: aiosmtplib~=3.0
58
58
  Provides-Extra: s3
@@ -101,6 +101,10 @@ Provides-Extra: tdengine
101
101
  Requires-Dist: taos-ws-py==0.3.2; extra == "tdengine"
102
102
  Provides-Extra: snowflake
103
103
  Requires-Dist: snowflake-connector-python~=3.7; extra == "snowflake"
104
+ Provides-Extra: openai
105
+ Requires-Dist: openai~=1.88; extra == "openai"
106
+ Provides-Extra: dev-postgres
107
+ Requires-Dist: pytest-mock-resources[postgres]~=2.12; extra == "dev-postgres"
104
108
  Provides-Extra: kfp18
105
109
  Requires-Dist: mlrun_pipelines_kfp_v1_8[kfp]>=0.5.0; python_version < "3.11" and extra == "kfp18"
106
110
  Provides-Extra: api
@@ -120,7 +124,7 @@ Requires-Dist: timelength~=1.1; extra == "api"
120
124
  Requires-Dist: memray~=1.12; sys_platform != "win32" and extra == "api"
121
125
  Requires-Dist: aiosmtplib~=3.0; extra == "api"
122
126
  Requires-Dist: pydantic<2,>=1; extra == "api"
123
- Requires-Dist: mlrun-pipelines-kfp-v1-8~=0.5.4; extra == "api"
127
+ Requires-Dist: mlrun-pipelines-kfp-v1-8~=0.5.7; extra == "api"
124
128
  Requires-Dist: grpcio~=1.70.0; extra == "api"
125
129
  Provides-Extra: all
126
130
  Requires-Dist: adlfs==2023.9.0; extra == "all"
@@ -144,6 +148,7 @@ Requires-Dist: graphviz~=0.20.0; extra == "all"
144
148
  Requires-Dist: kafka-python~=2.1.0; extra == "all"
145
149
  Requires-Dist: mlflow~=2.22; extra == "all"
146
150
  Requires-Dist: msrest~=0.6.21; extra == "all"
151
+ Requires-Dist: openai~=1.88; extra == "all"
147
152
  Requires-Dist: oss2==2.18.1; extra == "all"
148
153
  Requires-Dist: ossfs==2023.12.0; extra == "all"
149
154
  Requires-Dist: plotly~=5.23; extra == "all"
@@ -175,6 +180,7 @@ Requires-Dist: graphviz~=0.20.0; extra == "complete"
175
180
  Requires-Dist: kafka-python~=2.1.0; extra == "complete"
176
181
  Requires-Dist: mlflow~=2.22; extra == "complete"
177
182
  Requires-Dist: msrest~=0.6.21; extra == "complete"
183
+ Requires-Dist: openai~=1.88; extra == "complete"
178
184
  Requires-Dist: oss2==2.18.1; extra == "complete"
179
185
  Requires-Dist: ossfs==2023.12.0; extra == "complete"
180
186
  Requires-Dist: plotly~=5.23; extra == "complete"
@@ -214,9 +220,10 @@ Requires-Dist: igz-mgmt~=0.4.1; extra == "complete-api"
214
220
  Requires-Dist: kafka-python~=2.1.0; extra == "complete-api"
215
221
  Requires-Dist: memray~=1.12; sys_platform != "win32" and extra == "complete-api"
216
222
  Requires-Dist: mlflow~=2.22; extra == "complete-api"
217
- Requires-Dist: mlrun-pipelines-kfp-v1-8~=0.5.4; extra == "complete-api"
223
+ Requires-Dist: mlrun-pipelines-kfp-v1-8~=0.5.7; extra == "complete-api"
218
224
  Requires-Dist: msrest~=0.6.21; extra == "complete-api"
219
225
  Requires-Dist: objgraph~=3.6; extra == "complete-api"
226
+ Requires-Dist: openai~=1.88; extra == "complete-api"
220
227
  Requires-Dist: oss2==2.18.1; extra == "complete-api"
221
228
  Requires-Dist: ossfs==2023.12.0; extra == "complete-api"
222
229
  Requires-Dist: plotly~=5.23; extra == "complete-api"
@@ -75,6 +75,7 @@ def extra_requirements() -> dict[str, list[str]]:
75
75
  "alibaba-oss": ["ossfs==2023.12.0", "oss2==2.18.1"],
76
76
  "tdengine": ["taos-ws-py==0.3.2"],
77
77
  "snowflake": ["snowflake-connector-python~=3.7"],
78
+ "openai": ["openai~=1.88"],
78
79
  }
79
80
 
80
81
  api_deps = list(
@@ -82,6 +83,7 @@ def extra_requirements() -> dict[str, list[str]]:
82
83
  )
83
84
  extras_require.update(
84
85
  {
86
+ "dev-postgres": ["pytest-mock-resources[postgres]~=2.12"],
85
87
  "kfp18": ["mlrun_pipelines_kfp_v1_8[kfp]>=0.5.0; python_version < '3.11'"],
86
88
  # TODO uncomment when KFP 1.8 support is removed
87
89
  # "kfp2": ["mlrun_pipelines_kfp_v2[kfp]>=0.5.0 ; python_version >= '3.11'"],
@@ -11,7 +11,8 @@ pytest-asyncio~=0.21.2
11
11
  pytest-alembic~=0.11.0
12
12
  pytest-httpserver~=1.0
13
13
  pytest-timeout~=2.0
14
- pytest-mock-resources[mysql,postgres]~=2.12
14
+ pytest-mock-resources[mysql]~=2.12
15
+ testcontainers[k3s]~=4.10
15
16
  aioresponses~=0.7
16
17
  requests-mock~=1.8
17
18
  httpx~=0.27.0
@@ -19,6 +20,7 @@ deepdiff~=7.0
19
20
  hypothesis[numpy]~=6.103
20
21
  pytest-rerunfailures~=14.0
21
22
  pytest-forked~=1.6
23
+ tiktoken~=0.9.0
22
24
 
23
25
  # system tests
24
26
  matplotlib~=3.5
@@ -17,5 +17,5 @@ memray~=1.12; sys_platform != 'win32'
17
17
  aiosmtplib~=3.0
18
18
  # until https://github.com/fastapi/fastapi/issues/10360 is solved
19
19
  pydantic>=1,<2
20
- mlrun-pipelines-kfp-v1-8~=0.5.4
20
+ mlrun-pipelines-kfp-v1-8~=0.5.7
21
21
  grpcio~=1.70.0
@@ -52,3 +52,4 @@ dask~=2024.12.1; python_version >= "3.11"
52
52
  distributed~=2024.12.1; python_version >= "3.11"
53
53
  taos-ws-py==0.3.2
54
54
  snowflake-connector-python~=3.7
55
+ openai~=1.88
@@ -32,7 +32,7 @@ from typing import Optional
32
32
  import dotenv
33
33
 
34
34
  from .config import config as mlconf
35
- from .datastore import DataItem, store_manager
35
+ from .datastore import DataItem, ModelProvider, store_manager
36
36
  from .db import get_run_db
37
37
  from .errors import MLRunInvalidArgumentError, MLRunNotFoundError
38
38
  from .execution import MLClientCtx
@@ -55,6 +55,7 @@ from .run import (
55
55
  code_to_function,
56
56
  function_to_module,
57
57
  get_dataitem,
58
+ get_model_provider,
58
59
  get_object,
59
60
  get_or_create_ctx,
60
61
  get_pipeline,
@@ -261,7 +261,13 @@ def run(
261
261
  config = environ.get("MLRUN_EXEC_CONFIG")
262
262
  if from_env and config:
263
263
  config = json.loads(config)
264
- runobj = RunTemplate.from_dict(config)
264
+ # If run is a retry we need to maintain the run status therefore using RunObject instead of RunTemplate
265
+ retry_count = config.get("status", {}).get("retry_count")
266
+ if retry_count:
267
+ logger.info(f"Retrying run - attempt: {retry_count + 1}")
268
+ runobj = mlrun.RunObject.from_dict(config)
269
+ else:
270
+ runobj = RunTemplate.from_dict(config)
265
271
  elif task:
266
272
  obj = get_object(task)
267
273
  task = yaml.load(obj, Loader=yaml.FullLoader)
@@ -839,9 +839,7 @@ def get_artifact_meta(artifact):
839
839
  artifact = artifact.artifact_url
840
840
 
841
841
  if mlrun.datastore.is_store_uri(artifact):
842
- artifact_spec, target = mlrun.datastore.store_manager.get_store_artifact(
843
- artifact
844
- )
842
+ artifact_spec, _ = mlrun.datastore.store_manager.get_store_artifact(artifact)
845
843
 
846
844
  elif artifact.lower().endswith(".yaml"):
847
845
  data = mlrun.datastore.store_manager.object(url=artifact).get()
@@ -942,3 +940,11 @@ def fill_artifact_object_hash(object_dict, iteration=None, producer_id=None):
942
940
  object_dict["spec"][key] = value
943
941
 
944
942
  return uid
943
+
944
+
945
+ def verify_target_path(artifact: Artifact):
946
+ if not artifact.get_target_path():
947
+ raise mlrun.errors.MLRunInvalidArgumentError(
948
+ f"artifact {artifact.uri} "
949
+ f"does not have a valid/persistent offline target"
950
+ )
@@ -26,7 +26,7 @@ import mlrun.datastore
26
26
  import mlrun.utils.helpers
27
27
  from mlrun.config import config as mlconf
28
28
 
29
- from .base import Artifact, ArtifactSpec, StorePrefix
29
+ from .base import Artifact, ArtifactSpec, StorePrefix, verify_target_path
30
30
 
31
31
  default_preview_rows_length = 20
32
32
  max_preview_columns = mlconf.artifacts.datasets.max_preview_columns
@@ -424,6 +424,7 @@ def update_dataset_meta(
424
424
  artifact_spec = artifact
425
425
  elif mlrun.datastore.is_store_uri(artifact):
426
426
  artifact_spec, _ = mlrun.datastore.store_manager.get_store_artifact(artifact)
427
+ verify_target_path(artifact_spec)
427
428
  else:
428
429
  raise ValueError("model path must be a model store object/URL/DataItem")
429
430
 
@@ -127,7 +127,7 @@ class LLMPromptArtifact(Artifact):
127
127
  if self.spec._model_artifact:
128
128
  return self.spec._model_artifact
129
129
  if self.spec.model_uri:
130
- self.spec._model_artifact, target = (
130
+ self.spec._model_artifact, _ = (
131
131
  mlrun.datastore.store_manager.get_store_artifact(self.spec.model_uri)
132
132
  )
133
133
  return self.spec._model_artifact
@@ -413,8 +413,8 @@ class ArtifactManager:
413
413
  self.artifact_db.del_artifact(
414
414
  key=item.db_key,
415
415
  project=item.project,
416
- tag=item.tag,
417
416
  tree=item.tree,
417
+ uid=item.uid,
418
418
  iter=item.iter,
419
419
  deletion_strategy=deletion_strategy,
420
420
  secrets=secrets,
@@ -26,7 +26,7 @@ from ..data_types import InferOptions, get_infer_interface
26
26
  from ..features import Feature
27
27
  from ..model import ObjectList
28
28
  from ..utils import StorePrefix, is_relative_path
29
- from .base import Artifact, ArtifactSpec, upload_extra_data
29
+ from .base import Artifact, ArtifactSpec, upload_extra_data, verify_target_path
30
30
 
31
31
  model_spec_filename = "model_spec.yaml"
32
32
  MODEL_OPTIONAL_SUFFIXES = [".tar.gz", ".pkl", ".bin", ".pickle"]
@@ -493,7 +493,6 @@ def get_model(
493
493
  :returns: model filename, model artifact object, extra data dict
494
494
 
495
495
  """
496
- # TODO support LLMPromptArtifact
497
496
  model_file = ""
498
497
  model_spec = None
499
498
  extra_dataitems = {}
@@ -518,6 +517,7 @@ def get_model(
518
517
  model_spec, target = mlrun.datastore.store_manager.get_store_artifact(
519
518
  model_dir
520
519
  )
520
+ verify_target_path(model_spec)
521
521
  else:
522
522
  model_spec, target = model_dir, model_dir.get_target_path()
523
523
  if not model_spec or model_spec.kind != "model":
@@ -27,6 +27,10 @@ DASK_LABEL_PREFIX = "dask.org/"
27
27
  NUCLIO_LABEL_PREFIX = "nuclio.io/"
28
28
  RESERVED_TAG_NAME_LATEST = "latest"
29
29
 
30
+ JOB_TYPE_WORKFLOW_RUNNER = "workflow-runner"
31
+ JOB_TYPE_PROJECT_LOADER = "project-loader"
32
+ JOB_TYPE_RERUN_WORKFLOW_RUNNER = "rerun-workflow-runner"
33
+
30
34
 
31
35
  class MLRunInternalLabels:
32
36
  ### dask
@@ -62,6 +66,7 @@ class MLRunInternalLabels:
62
66
  scrape_metrics = f"{MLRUN_LABEL_PREFIX}scrape-metrics"
63
67
  tag = f"{MLRUN_LABEL_PREFIX}tag"
64
68
  uid = f"{MLRUN_LABEL_PREFIX}uid"
69
+ retry = f"{MLRUN_LABEL_PREFIX}retry-attempt"
65
70
  username = f"{MLRUN_LABEL_PREFIX}username"
66
71
  username_domain = f"{MLRUN_LABEL_PREFIX}username_domain"
67
72
  task_name = f"{MLRUN_LABEL_PREFIX}task-name"
@@ -76,7 +81,9 @@ class MLRunInternalLabels:
76
81
  kind = "kind"
77
82
  component = "component"
78
83
  mlrun_type = "mlrun__type"
84
+ rerun_of = "rerun-of"
79
85
  original_workflow_id = "original-workflow-id"
86
+ workflow_id = "workflow-id"
80
87
 
81
88
  owner = "owner"
82
89
  v3io_user = "v3io_user"
@@ -102,3 +109,8 @@ class MLRunInternalLabels:
102
109
  class DeployStatusTextKind(mlrun.common.types.StrEnum):
103
110
  logs = "logs"
104
111
  events = "events"
112
+
113
+
114
+ class WorkflowSubmitMode(mlrun.common.types.StrEnum):
115
+ direct = "direct" # call KFP retry API directly
116
+ rerun = "rerun" # launch a RerunRunner function
@@ -139,6 +139,7 @@ class RunStates:
139
139
  aborted = "aborted"
140
140
  aborting = "aborting"
141
141
  skipped = "skipped"
142
+ pending_retry = "pendingRetry"
142
143
 
143
144
  @staticmethod
144
145
  def all():
@@ -152,6 +153,7 @@ class RunStates:
152
153
  RunStates.aborted,
153
154
  RunStates.aborting,
154
155
  RunStates.skipped,
156
+ RunStates.pending_retry,
155
157
  ]
156
158
 
157
159
  @staticmethod
@@ -168,6 +170,7 @@ class RunStates:
168
170
  return [
169
171
  RunStates.error,
170
172
  RunStates.aborted,
173
+ RunStates.pending_retry,
171
174
  ]
172
175
 
173
176
  @staticmethod
@@ -185,12 +188,18 @@ class RunStates:
185
188
  def non_terminal_states():
186
189
  return list(set(RunStates.all()) - set(RunStates.terminal_states()))
187
190
 
191
+ @staticmethod
192
+ def terminal_or_error_states():
193
+ return list(
194
+ set(RunStates.terminal_states())
195
+ | set(RunStates.error_and_abortion_states())
196
+ )
197
+
188
198
  @staticmethod
189
199
  def not_allowed_for_deletion_states():
190
200
  return [
191
201
  RunStates.running,
192
202
  RunStates.pending,
193
- # TODO: add aborting state once we have it
194
203
  ]
195
204
 
196
205
  @staticmethod
@@ -54,6 +54,8 @@ from .grafana import (
54
54
  GrafanaTable,
55
55
  )
56
56
  from .model_endpoints import (
57
+ ApplicationMetricRecord,
58
+ ApplicationResultRecord,
57
59
  Features,
58
60
  FeatureValues,
59
61
  ModelEndpoint,
@@ -34,6 +34,7 @@ class FunctionSummary(BaseModel):
34
34
  type: FunctionsType
35
35
  name: str
36
36
  application_class: str
37
+ project_name: str
37
38
  updated_time: datetime
38
39
  status: Optional[str] = None
39
40
  base_period: Optional[int] = None
@@ -59,6 +60,7 @@ class FunctionSummary(BaseModel):
59
60
  else func_dict["spec"]["graph"]["steps"]["PushToMonitoringWriter"]["after"][
60
61
  0
61
62
  ],
63
+ project_name=func_dict["metadata"]["project"],
62
64
  updated_time=func_dict["metadata"].get("updated"),
63
65
  status=func_dict["status"].get("state"),
64
66
  base_period=base_period,
@@ -14,7 +14,7 @@
14
14
  import abc
15
15
  import json
16
16
  from datetime import datetime
17
- from typing import Any, NamedTuple, Optional, TypeVar
17
+ from typing import Any, Literal, NamedTuple, Optional, TypeVar
18
18
  from uuid import UUID
19
19
 
20
20
  from pydantic import validator # use `validator` if you’re still on Pydantic v1
@@ -334,6 +334,24 @@ class ModelEndpointMonitoringMetricNoData(_ModelEndpointMonitoringMetricValuesBa
334
334
  data: bool = False
335
335
 
336
336
 
337
+ class ApplicationBaseRecord(BaseModel):
338
+ type: Literal["metric", "result"]
339
+ time: datetime
340
+ value: float
341
+
342
+
343
+ class ApplicationResultRecord(ApplicationBaseRecord):
344
+ kind: ResultKindApp
345
+ status: ResultStatusApp
346
+ result_name: str
347
+ type: Literal["result"] = "result"
348
+
349
+
350
+ class ApplicationMetricRecord(ApplicationBaseRecord):
351
+ metric_name: str
352
+ type: Literal["metric"] = "metric"
353
+
354
+
337
355
  def _mapping_attributes(
338
356
  model_class: type[Model],
339
357
  flattened_dictionary: dict,
@@ -26,6 +26,7 @@ class DeployResponse(BaseModel):
26
26
 
27
27
  class ModelRunnerStepData(StrEnum):
28
28
  MODELS = "models"
29
+ MODEL_TO_EXECUTION_MECHANISM = "execution_mechanism_by_model_name"
29
30
  MONITORING_DATA = "monitoring_data"
30
31
 
31
32
 
@@ -47,8 +47,9 @@ class WorkflowRequest(pydantic.v1.BaseModel):
47
47
 
48
48
 
49
49
  class RerunWorkflowRequest(pydantic.v1.BaseModel):
50
- run_name: typing.Optional[str] = (None,)
51
- run_id: typing.Optional[str] = (None,)
50
+ run_name: typing.Optional[str] = None
51
+ run_id: typing.Optional[str] = None
52
+ original_workflow_id: typing.Optional[str] = None
52
53
  notifications: typing.Optional[list[Notification]] = None
53
54
  workflow_runner_node_selector: typing.Optional[dict[str, str]] = None
54
55
 
@@ -120,6 +120,12 @@ default_config = {
120
120
  # max number of parallel abort run jobs in runs monitoring
121
121
  "concurrent_abort_stale_runs_workers": 10,
122
122
  "list_runs_time_period_in_days": 7, # days
123
+ "retry": {
124
+ # periodic job for triggering retries interval in seconds
125
+ "interval": "30",
126
+ # runs limit to fetch for retrying
127
+ "fetch_runs_limit": 1000,
128
+ },
123
129
  },
124
130
  "projects": {
125
131
  "summaries": {
@@ -184,6 +190,9 @@ default_config = {
184
190
  "url": "",
185
191
  },
186
192
  "v3io_framesd": "http://framesd:8080",
193
+ "model_providers": {
194
+ "openai_default_model": "gpt-4",
195
+ },
187
196
  # default node selector to be applied to all functions - json string base64 encoded format
188
197
  "default_function_node_selector": "e30=",
189
198
  # default priority class to be applied to functions running on k8s cluster
@@ -270,6 +279,12 @@ default_config = {
270
279
  "executing": "24h",
271
280
  }
272
281
  },
282
+ "retry": {
283
+ "backoff": {
284
+ "default_base_delay": "30s",
285
+ "min_base_delay": "30s",
286
+ },
287
+ },
273
288
  # When the module is reloaded, the maximum depth recursion configuration for the recursive reload
274
289
  # function is used to prevent infinite loop
275
290
  "reload_max_recursion_depth": 100,
@@ -316,6 +331,7 @@ default_config = {
316
331
  "project_summaries": "enabled",
317
332
  "start_logs": "enabled",
318
333
  "stop_logs": "enabled",
334
+ "retry_jobs": "enabled",
319
335
  },
320
336
  },
321
337
  "worker": {
@@ -539,7 +555,7 @@ default_config = {
539
555
  },
540
556
  "v3io_api": "",
541
557
  "v3io_framesd": "",
542
- # If running from sdk and MLRUN_DBPATH is not set, the db will fallback to a nop db which will not preform any
558
+ # If running from sdk and MLRUN_DBPATH is not set, the db will fallback to a nop db which will not perform any
543
559
  # run db operations.
544
560
  "nop_db": {
545
561
  # if set to true, will raise an error for trying to use run db functionality
@@ -641,7 +657,7 @@ default_config = {
641
657
  "offline_storage_path": "model-endpoints/{kind}",
642
658
  "parquet_batching_max_events": 10_000,
643
659
  "parquet_batching_timeout_secs": timedelta(minutes=1).total_seconds(),
644
- "model_endpoint_creation_check_period": "15",
660
+ "model_endpoint_creation_check_period": 15,
645
661
  },
646
662
  "secret_stores": {
647
663
  # Use only in testing scenarios (such as integration tests) to avoid using k8s for secrets (will use in-memory
@@ -1219,6 +1235,7 @@ class Config:
1219
1235
  """
1220
1236
  Get the default value for the ssl_redirect configuration.
1221
1237
  In Iguazio we always want to redirect to HTTPS, in other cases we don't.
1238
+
1222
1239
  :return: True if we should redirect to HTTPS, False otherwise.
1223
1240
  """
1224
1241
  return self.is_running_on_iguazio()
@@ -14,6 +14,7 @@
14
14
 
15
15
  __all__ = [
16
16
  "DataItem",
17
+ "ModelProvider",
17
18
  "get_store_resource",
18
19
  "ParquetTarget",
19
20
  "CSVTarget",
@@ -32,12 +33,12 @@ __all__ = [
32
33
  "get_stream_pusher",
33
34
  "ConfigProfile",
34
35
  "VectorStoreCollection",
36
+ "store_manager",
35
37
  ]
36
38
 
37
39
  from urllib.parse import urlparse
38
40
 
39
41
  import fsspec
40
- from mergedeep import merge
41
42
 
42
43
  import mlrun.datastore.wasbfs
43
44
  from mlrun.datastore.datastore_profile import (
@@ -45,6 +46,7 @@ from mlrun.datastore.datastore_profile import (
45
46
  DatastoreProfileKafkaTarget,
46
47
  DatastoreProfileV3io,
47
48
  )
49
+ from mlrun.datastore.model_provider.model_provider import ModelProvider
48
50
  from mlrun.platforms.iguazio import (
49
51
  HTTPOutputStream,
50
52
  KafkaOutputStream,
@@ -69,7 +69,7 @@ class OSSStore(DataStore):
69
69
  key=self._get_secret_or_env("ALIBABA_ACCESS_KEY_ID"),
70
70
  secret=self._get_secret_or_env("ALIBABA_SECRET_ACCESS_KEY"),
71
71
  )
72
- return self._sanitize_storage_options(res)
72
+ return self._sanitize_options(res)
73
73
 
74
74
  def get_bucket_and_key(self, key):
75
75
  path = self._join(key)[1:]
@@ -67,7 +67,7 @@ class AzureBlobStore(DataStore):
67
67
  or self._get_secret_or_env("AZURE_STORAGE_SAS_TOKEN"),
68
68
  credential=self._get_secret_or_env("credential"),
69
69
  )
70
- self._storage_options = self._sanitize_storage_options(res)
70
+ self._storage_options = self._sanitize_options(res)
71
71
  return self._storage_options
72
72
 
73
73
  @property
@@ -224,7 +224,7 @@ class AzureBlobStore(DataStore):
224
224
  path = self._convert_key_to_remote_path(key=path)
225
225
  super().rm(path=path, recursive=recursive, maxdepth=maxdepth)
226
226
 
227
- def get_spark_options(self):
227
+ def get_spark_options(self, path=None):
228
228
  res = {}
229
229
  st = self.storage_options
230
230
  service = "blob"