mlrun 1.10.0rc23__tar.gz → 1.10.0rc25__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 (396) hide show
  1. {mlrun-1.10.0rc23/mlrun.egg-info → mlrun-1.10.0rc25}/PKG-INFO +23 -22
  2. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/dependencies.py +4 -4
  3. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/extras-requirements.txt +5 -5
  4. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/common/schemas/hub.py +14 -0
  5. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/common/schemas/model_monitoring/constants.py +1 -0
  6. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/common/schemas/model_monitoring/model_endpoints.py +10 -1
  7. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/config.py +5 -1
  8. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/datastore/azure_blob.py +66 -43
  9. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/datastore/datastore_profile.py +8 -2
  10. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/datastore/model_provider/huggingface_provider.py +118 -30
  11. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/datastore/model_provider/model_provider.py +66 -8
  12. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/datastore/model_provider/openai_provider.py +149 -47
  13. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/db/base.py +1 -1
  14. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/db/httpdb.py +6 -4
  15. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/db/nopdb.py +1 -0
  16. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/model_monitoring/api.py +2 -2
  17. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/model_monitoring/applications/base.py +22 -10
  18. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/model_monitoring/applications/context.py +1 -4
  19. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/model_monitoring/controller.py +10 -2
  20. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/model_monitoring/db/_schedules.py +2 -4
  21. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/platforms/iguazio.py +7 -3
  22. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/projects/project.py +28 -24
  23. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/runtimes/nuclio/__init__.py +1 -0
  24. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/runtimes/nuclio/application/application.py +26 -2
  25. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/runtimes/nuclio/function.py +10 -0
  26. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/runtimes/nuclio/serving.py +4 -0
  27. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/runtimes/utils.py +22 -5
  28. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/serving/server.py +25 -14
  29. mlrun-1.10.0rc25/mlrun/utils/version/version.json +4 -0
  30. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25/mlrun.egg-info}/PKG-INFO +23 -22
  31. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun.egg-info/requires.txt +22 -21
  32. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/requirements.txt +2 -1
  33. mlrun-1.10.0rc23/mlrun/utils/version/version.json +0 -4
  34. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/LICENSE +0 -0
  35. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/MANIFEST.in +0 -0
  36. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/Makefile +0 -0
  37. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/README.md +0 -0
  38. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/dev-requirements.txt +0 -0
  39. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/dockerfiles/mlrun-api/requirements.txt +0 -0
  40. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/examples/archive.zip +0 -0
  41. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/examples/function.py +0 -0
  42. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/examples/handler.py +0 -0
  43. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/examples/infile.txt +0 -0
  44. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/examples/load-project.ipynb +0 -0
  45. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/examples/mlrun_basics.ipynb +0 -0
  46. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/examples/mlrun_dask.ipynb +0 -0
  47. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/examples/mlrun_db.ipynb +0 -0
  48. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/examples/mlrun_export_import.ipynb +0 -0
  49. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/examples/mlrun_jobs.ipynb +0 -0
  50. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/examples/mlrun_sparkk8s.ipynb +0 -0
  51. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/examples/mlrun_vault.ipynb +0 -0
  52. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/examples/model.bst +0 -0
  53. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/examples/new-project.ipynb +0 -0
  54. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/examples/nulltst.py +0 -0
  55. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/examples/params.csv +0 -0
  56. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/examples/remote-spark.ipynb +0 -0
  57. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/examples/secrets.txt +0 -0
  58. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/examples/spark-function.py +0 -0
  59. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/examples/training.py +0 -0
  60. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/examples/v2_model_server.ipynb +0 -0
  61. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/examples/xgb_serving.ipynb +0 -0
  62. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/__init__.py +0 -0
  63. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/__main__.py +0 -0
  64. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/alerts/__init__.py +0 -0
  65. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/alerts/alert.py +0 -0
  66. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/artifacts/__init__.py +0 -0
  67. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/artifacts/base.py +0 -0
  68. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/artifacts/dataset.py +0 -0
  69. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/artifacts/document.py +0 -0
  70. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/artifacts/helpers.py +0 -0
  71. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/artifacts/llm_prompt.py +0 -0
  72. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/artifacts/manager.py +0 -0
  73. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/artifacts/model.py +0 -0
  74. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/artifacts/plots.py +0 -0
  75. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/common/__init__.py +0 -0
  76. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/common/constants.py +0 -0
  77. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/common/db/__init__.py +0 -0
  78. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/common/db/dialects.py +0 -0
  79. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/common/formatters/__init__.py +0 -0
  80. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/common/formatters/artifact.py +0 -0
  81. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/common/formatters/base.py +0 -0
  82. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/common/formatters/feature_set.py +0 -0
  83. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/common/formatters/function.py +0 -0
  84. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/common/formatters/model_endpoint.py +0 -0
  85. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/common/formatters/pipeline.py +0 -0
  86. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/common/formatters/project.py +0 -0
  87. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/common/formatters/run.py +0 -0
  88. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/common/helpers.py +0 -0
  89. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/common/model_monitoring/__init__.py +0 -0
  90. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/common/model_monitoring/helpers.py +0 -0
  91. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/common/runtimes/constants.py +0 -0
  92. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/common/schemas/__init__.py +0 -0
  93. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/common/schemas/alert.py +0 -0
  94. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/common/schemas/api_gateway.py +0 -0
  95. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/common/schemas/artifact.py +0 -0
  96. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/common/schemas/auth.py +0 -0
  97. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/common/schemas/background_task.py +0 -0
  98. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/common/schemas/client_spec.py +0 -0
  99. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/common/schemas/clusterization_spec.py +0 -0
  100. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/common/schemas/common.py +0 -0
  101. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/common/schemas/constants.py +0 -0
  102. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/common/schemas/datastore_profile.py +0 -0
  103. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/common/schemas/events.py +0 -0
  104. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/common/schemas/feature_store.py +0 -0
  105. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/common/schemas/frontend_spec.py +0 -0
  106. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/common/schemas/function.py +0 -0
  107. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/common/schemas/http.py +0 -0
  108. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/common/schemas/k8s.py +0 -0
  109. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/common/schemas/memory_reports.py +0 -0
  110. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/common/schemas/model_monitoring/__init__.py +0 -0
  111. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/common/schemas/model_monitoring/functions.py +0 -0
  112. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/common/schemas/model_monitoring/grafana.py +0 -0
  113. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/common/schemas/notification.py +0 -0
  114. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/common/schemas/object.py +0 -0
  115. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/common/schemas/pagination.py +0 -0
  116. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/common/schemas/partition.py +0 -0
  117. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/common/schemas/pipeline.py +0 -0
  118. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/common/schemas/project.py +0 -0
  119. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/common/schemas/regex.py +0 -0
  120. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/common/schemas/runs.py +0 -0
  121. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/common/schemas/runtime_resource.py +0 -0
  122. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/common/schemas/schedule.py +0 -0
  123. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/common/schemas/secret.py +0 -0
  124. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/common/schemas/serving.py +0 -0
  125. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/common/schemas/tag.py +0 -0
  126. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/common/schemas/workflow.py +0 -0
  127. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/common/secrets.py +0 -0
  128. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/common/types.py +0 -0
  129. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/data_types/__init__.py +0 -0
  130. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/data_types/data_types.py +0 -0
  131. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/data_types/infer.py +0 -0
  132. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/data_types/spark.py +0 -0
  133. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/data_types/to_pandas.py +0 -0
  134. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/datastore/__init__.py +0 -0
  135. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/datastore/alibaba_oss.py +0 -0
  136. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/datastore/base.py +0 -0
  137. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/datastore/datastore.py +0 -0
  138. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/datastore/dbfs_store.py +0 -0
  139. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/datastore/filestore.py +0 -0
  140. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/datastore/google_cloud_storage.py +0 -0
  141. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/datastore/hdfs.py +0 -0
  142. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/datastore/inmem.py +0 -0
  143. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/datastore/model_provider/__init__.py +0 -0
  144. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/datastore/model_provider/mock_model_provider.py +0 -0
  145. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/datastore/redis.py +0 -0
  146. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/datastore/remote_client.py +0 -0
  147. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/datastore/s3.py +0 -0
  148. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/datastore/snowflake_utils.py +0 -0
  149. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/datastore/sources.py +0 -0
  150. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/datastore/spark_udf.py +0 -0
  151. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/datastore/spark_utils.py +0 -0
  152. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/datastore/store_resources.py +0 -0
  153. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/datastore/storeytargets.py +0 -0
  154. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/datastore/targets.py +0 -0
  155. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/datastore/utils.py +0 -0
  156. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/datastore/v3io.py +0 -0
  157. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/datastore/vectorstore.py +0 -0
  158. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/datastore/wasbfs/__init__.py +0 -0
  159. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/datastore/wasbfs/fs.py +0 -0
  160. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/db/__init__.py +0 -0
  161. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/db/auth_utils.py +0 -0
  162. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/db/factory.py +0 -0
  163. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/errors.py +0 -0
  164. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/execution.py +0 -0
  165. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/feature_store/__init__.py +0 -0
  166. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/feature_store/api.py +0 -0
  167. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/feature_store/common.py +0 -0
  168. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/feature_store/feature_set.py +0 -0
  169. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/feature_store/feature_vector.py +0 -0
  170. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/feature_store/feature_vector_utils.py +0 -0
  171. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/feature_store/ingestion.py +0 -0
  172. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/feature_store/retrieval/__init__.py +0 -0
  173. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/feature_store/retrieval/base.py +0 -0
  174. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/feature_store/retrieval/dask_merger.py +0 -0
  175. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/feature_store/retrieval/job.py +0 -0
  176. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/feature_store/retrieval/local_merger.py +0 -0
  177. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/feature_store/retrieval/spark_merger.py +0 -0
  178. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/feature_store/retrieval/storey_merger.py +0 -0
  179. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/feature_store/steps.py +0 -0
  180. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/features.py +0 -0
  181. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/frameworks/__init__.py +0 -0
  182. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/frameworks/_common/__init__.py +0 -0
  183. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/frameworks/_common/artifacts_library.py +0 -0
  184. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/frameworks/_common/mlrun_interface.py +0 -0
  185. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/frameworks/_common/model_handler.py +0 -0
  186. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/frameworks/_common/plan.py +0 -0
  187. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/frameworks/_common/producer.py +0 -0
  188. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/frameworks/_common/utils.py +0 -0
  189. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/frameworks/_dl_common/__init__.py +0 -0
  190. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/frameworks/_dl_common/loggers/__init__.py +0 -0
  191. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/frameworks/_dl_common/loggers/logger.py +0 -0
  192. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/frameworks/_dl_common/loggers/mlrun_logger.py +0 -0
  193. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/frameworks/_dl_common/loggers/tensorboard_logger.py +0 -0
  194. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/frameworks/_dl_common/model_handler.py +0 -0
  195. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/frameworks/_dl_common/utils.py +0 -0
  196. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/frameworks/_ml_common/__init__.py +0 -0
  197. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/frameworks/_ml_common/artifacts_library.py +0 -0
  198. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/frameworks/_ml_common/loggers/__init__.py +0 -0
  199. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/frameworks/_ml_common/loggers/logger.py +0 -0
  200. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/frameworks/_ml_common/loggers/mlrun_logger.py +0 -0
  201. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/frameworks/_ml_common/model_handler.py +0 -0
  202. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/frameworks/_ml_common/pkl_model_server.py +0 -0
  203. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/frameworks/_ml_common/plan.py +0 -0
  204. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/frameworks/_ml_common/plans/__init__.py +0 -0
  205. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/frameworks/_ml_common/plans/calibration_curve_plan.py +0 -0
  206. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/frameworks/_ml_common/plans/confusion_matrix_plan.py +0 -0
  207. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/frameworks/_ml_common/plans/dataset_plan.py +0 -0
  208. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/frameworks/_ml_common/plans/feature_importance_plan.py +0 -0
  209. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/frameworks/_ml_common/plans/roc_curve_plan.py +0 -0
  210. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/frameworks/_ml_common/producer.py +0 -0
  211. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/frameworks/_ml_common/utils.py +0 -0
  212. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/frameworks/auto_mlrun/__init__.py +0 -0
  213. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/frameworks/auto_mlrun/auto_mlrun.py +0 -0
  214. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/frameworks/huggingface/__init__.py +0 -0
  215. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/frameworks/huggingface/model_server.py +0 -0
  216. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/frameworks/lgbm/__init__.py +0 -0
  217. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/frameworks/lgbm/callbacks/__init__.py +0 -0
  218. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/frameworks/lgbm/callbacks/callback.py +0 -0
  219. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/frameworks/lgbm/callbacks/logging_callback.py +0 -0
  220. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/frameworks/lgbm/callbacks/mlrun_logging_callback.py +0 -0
  221. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/frameworks/lgbm/mlrun_interfaces/__init__.py +0 -0
  222. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/frameworks/lgbm/mlrun_interfaces/booster_mlrun_interface.py +0 -0
  223. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/frameworks/lgbm/mlrun_interfaces/mlrun_interface.py +0 -0
  224. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/frameworks/lgbm/mlrun_interfaces/model_mlrun_interface.py +0 -0
  225. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/frameworks/lgbm/model_handler.py +0 -0
  226. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/frameworks/lgbm/model_server.py +0 -0
  227. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/frameworks/lgbm/utils.py +0 -0
  228. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/frameworks/onnx/__init__.py +0 -0
  229. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/frameworks/onnx/dataset.py +0 -0
  230. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/frameworks/onnx/mlrun_interface.py +0 -0
  231. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/frameworks/onnx/model_handler.py +0 -0
  232. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/frameworks/onnx/model_server.py +0 -0
  233. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/frameworks/parallel_coordinates.py +0 -0
  234. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/frameworks/pytorch/__init__.py +0 -0
  235. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/frameworks/pytorch/callbacks/__init__.py +0 -0
  236. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/frameworks/pytorch/callbacks/callback.py +0 -0
  237. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/frameworks/pytorch/callbacks/logging_callback.py +0 -0
  238. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/frameworks/pytorch/callbacks/mlrun_logging_callback.py +0 -0
  239. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/frameworks/pytorch/callbacks/tensorboard_logging_callback.py +0 -0
  240. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/frameworks/pytorch/callbacks_handler.py +0 -0
  241. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/frameworks/pytorch/mlrun_interface.py +0 -0
  242. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/frameworks/pytorch/model_handler.py +0 -0
  243. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/frameworks/pytorch/model_server.py +0 -0
  244. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/frameworks/pytorch/utils.py +0 -0
  245. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/frameworks/sklearn/__init__.py +0 -0
  246. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/frameworks/sklearn/estimator.py +0 -0
  247. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/frameworks/sklearn/metric.py +0 -0
  248. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/frameworks/sklearn/metrics_library.py +0 -0
  249. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/frameworks/sklearn/mlrun_interface.py +0 -0
  250. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/frameworks/sklearn/model_handler.py +0 -0
  251. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/frameworks/sklearn/utils.py +0 -0
  252. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/frameworks/tf_keras/__init__.py +0 -0
  253. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/frameworks/tf_keras/callbacks/__init__.py +0 -0
  254. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/frameworks/tf_keras/callbacks/logging_callback.py +0 -0
  255. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/frameworks/tf_keras/callbacks/mlrun_logging_callback.py +0 -0
  256. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/frameworks/tf_keras/callbacks/tensorboard_logging_callback.py +0 -0
  257. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/frameworks/tf_keras/mlrun_interface.py +0 -0
  258. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/frameworks/tf_keras/model_handler.py +0 -0
  259. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/frameworks/tf_keras/model_server.py +0 -0
  260. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/frameworks/tf_keras/utils.py +0 -0
  261. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/frameworks/xgboost/__init__.py +0 -0
  262. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/frameworks/xgboost/mlrun_interface.py +0 -0
  263. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/frameworks/xgboost/model_handler.py +0 -0
  264. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/frameworks/xgboost/utils.py +0 -0
  265. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/k8s_utils.py +0 -0
  266. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/launcher/__init__.py +0 -0
  267. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/launcher/base.py +0 -0
  268. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/launcher/client.py +0 -0
  269. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/launcher/factory.py +0 -0
  270. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/launcher/local.py +0 -0
  271. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/launcher/remote.py +0 -0
  272. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/lists.py +0 -0
  273. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/model.py +0 -0
  274. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/model_monitoring/__init__.py +0 -0
  275. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/model_monitoring/applications/__init__.py +0 -0
  276. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/model_monitoring/applications/_application_steps.py +0 -0
  277. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/model_monitoring/applications/evidently/__init__.py +0 -0
  278. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/model_monitoring/applications/evidently/base.py +0 -0
  279. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/model_monitoring/applications/histogram_data_drift.py +0 -0
  280. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/model_monitoring/applications/results.py +0 -0
  281. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/model_monitoring/db/__init__.py +0 -0
  282. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/model_monitoring/db/_stats.py +0 -0
  283. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/model_monitoring/db/tsdb/__init__.py +0 -0
  284. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/model_monitoring/db/tsdb/base.py +0 -0
  285. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/model_monitoring/db/tsdb/helpers.py +0 -0
  286. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/model_monitoring/db/tsdb/tdengine/__init__.py +0 -0
  287. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/model_monitoring/db/tsdb/tdengine/schemas.py +0 -0
  288. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/model_monitoring/db/tsdb/tdengine/stream_graph_steps.py +0 -0
  289. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/model_monitoring/db/tsdb/tdengine/tdengine_connection.py +0 -0
  290. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/model_monitoring/db/tsdb/tdengine/tdengine_connector.py +0 -0
  291. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/model_monitoring/db/tsdb/v3io/__init__.py +0 -0
  292. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/model_monitoring/db/tsdb/v3io/stream_graph_steps.py +0 -0
  293. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/model_monitoring/db/tsdb/v3io/v3io_connector.py +0 -0
  294. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/model_monitoring/features_drift_table.py +0 -0
  295. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/model_monitoring/helpers.py +0 -0
  296. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/model_monitoring/metrics/__init__.py +0 -0
  297. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/model_monitoring/metrics/histogram_distance.py +0 -0
  298. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/model_monitoring/stream_processing.py +0 -0
  299. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/model_monitoring/writer.py +0 -0
  300. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/package/__init__.py +0 -0
  301. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/package/context_handler.py +0 -0
  302. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/package/errors.py +0 -0
  303. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/package/packager.py +0 -0
  304. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/package/packagers/__init__.py +0 -0
  305. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/package/packagers/default_packager.py +0 -0
  306. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/package/packagers/numpy_packagers.py +0 -0
  307. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/package/packagers/pandas_packagers.py +0 -0
  308. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/package/packagers/python_standard_library_packagers.py +0 -0
  309. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/package/packagers_manager.py +0 -0
  310. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/package/utils/__init__.py +0 -0
  311. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/package/utils/_archiver.py +0 -0
  312. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/package/utils/_formatter.py +0 -0
  313. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/package/utils/_pickler.py +0 -0
  314. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/package/utils/_supported_format.py +0 -0
  315. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/package/utils/log_hint_utils.py +0 -0
  316. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/package/utils/type_hint_utils.py +0 -0
  317. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/platforms/__init__.py +0 -0
  318. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/projects/__init__.py +0 -0
  319. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/projects/operations.py +0 -0
  320. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/projects/pipelines.py +0 -0
  321. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/render.py +0 -0
  322. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/run.py +0 -0
  323. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/runtimes/__init__.py +0 -0
  324. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/runtimes/base.py +0 -0
  325. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/runtimes/daskjob.py +0 -0
  326. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/runtimes/databricks_job/__init__.py +0 -0
  327. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/runtimes/databricks_job/databricks_cancel_task.py +0 -0
  328. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/runtimes/databricks_job/databricks_runtime.py +0 -0
  329. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/runtimes/databricks_job/databricks_wrapper.py +0 -0
  330. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/runtimes/funcdoc.py +0 -0
  331. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/runtimes/function_reference.py +0 -0
  332. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/runtimes/generators.py +0 -0
  333. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/runtimes/kubejob.py +0 -0
  334. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/runtimes/local.py +0 -0
  335. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/runtimes/mounts.py +0 -0
  336. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/runtimes/mpijob/__init__.py +0 -0
  337. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/runtimes/mpijob/abstract.py +0 -0
  338. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/runtimes/mpijob/v1.py +0 -0
  339. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/runtimes/nuclio/api_gateway.py +0 -0
  340. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/runtimes/nuclio/application/__init__.py +0 -0
  341. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/runtimes/nuclio/application/reverse_proxy.go +0 -0
  342. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/runtimes/nuclio/nuclio.py +0 -0
  343. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/runtimes/pod.py +0 -0
  344. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/runtimes/remotesparkjob.py +0 -0
  345. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/runtimes/sparkjob/__init__.py +0 -0
  346. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/runtimes/sparkjob/spark3job.py +0 -0
  347. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/secrets.py +0 -0
  348. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/serving/__init__.py +0 -0
  349. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/serving/merger.py +0 -0
  350. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/serving/remote.py +0 -0
  351. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/serving/routers.py +0 -0
  352. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/serving/serving_wrapper.py +0 -0
  353. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/serving/states.py +0 -0
  354. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/serving/system_steps.py +0 -0
  355. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/serving/utils.py +0 -0
  356. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/serving/v1_serving.py +0 -0
  357. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/serving/v2_serving.py +0 -0
  358. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/track/__init__.py +0 -0
  359. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/track/tracker.py +0 -0
  360. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/track/tracker_manager.py +0 -0
  361. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/track/trackers/__init__.py +0 -0
  362. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/track/trackers/mlflow_tracker.py +0 -0
  363. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/utils/__init__.py +0 -0
  364. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/utils/async_http.py +0 -0
  365. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/utils/azure_vault.py +0 -0
  366. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/utils/clones.py +0 -0
  367. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/utils/condition_evaluator.py +0 -0
  368. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/utils/helpers.py +0 -0
  369. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/utils/http.py +0 -0
  370. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/utils/logger.py +0 -0
  371. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/utils/notifications/__init__.py +0 -0
  372. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/utils/notifications/notification/__init__.py +0 -0
  373. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/utils/notifications/notification/base.py +0 -0
  374. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/utils/notifications/notification/console.py +0 -0
  375. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/utils/notifications/notification/git.py +0 -0
  376. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/utils/notifications/notification/ipython.py +0 -0
  377. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/utils/notifications/notification/mail.py +0 -0
  378. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/utils/notifications/notification/slack.py +0 -0
  379. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/utils/notifications/notification/webhook.py +0 -0
  380. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/utils/notifications/notification_pusher.py +0 -0
  381. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/utils/regex.py +0 -0
  382. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/utils/retryer.py +0 -0
  383. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/utils/singleton.py +0 -0
  384. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/utils/v3io_clients.py +0 -0
  385. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/utils/vault.py +0 -0
  386. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/utils/version/__init__.py +0 -0
  387. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun/utils/version/version.py +0 -0
  388. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun.egg-info/SOURCES.txt +0 -0
  389. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun.egg-info/dependency_links.txt +0 -0
  390. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun.egg-info/entry_points.txt +0 -0
  391. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun.egg-info/not-zip-safe +0 -0
  392. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/mlrun.egg-info/top_level.txt +0 -0
  393. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/packages.py +0 -0
  394. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/pyproject.toml +0 -0
  395. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/setup.cfg +0 -0
  396. {mlrun-1.10.0rc23 → mlrun-1.10.0rc25}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mlrun
3
- Version: 1.10.0rc23
3
+ Version: 1.10.0rc25
4
4
  Summary: Tracking and config of machine learning runs
5
5
  Home-page: https://github.com/mlrun/mlrun
6
6
  Author: Yaron Haviv
@@ -43,7 +43,7 @@ Requires-Dist: v3io-frames~=0.10.15; python_version < "3.11"
43
43
  Requires-Dist: v3io-frames>=0.13.0; python_version >= "3.11"
44
44
  Requires-Dist: semver~=3.0
45
45
  Requires-Dist: dependency-injector~=4.41
46
- Requires-Dist: fsspec<2024.7,>=2023.9.2
46
+ Requires-Dist: fsspec<=2025.7.0,>=2025.5.1
47
47
  Requires-Dist: v3iofs~=0.1.17
48
48
  Requires-Dist: storey~=1.10.11
49
49
  Requires-Dist: inflection~=0.5.0
@@ -56,14 +56,15 @@ Requires-Dist: mlrun-pipelines-kfp-common~=0.5.8
56
56
  Requires-Dist: mlrun-pipelines-kfp-v1-8~=0.5.7
57
57
  Requires-Dist: docstring_parser~=0.16
58
58
  Requires-Dist: aiosmtplib~=3.0
59
+ Requires-Dist: deepdiff~=7.0
59
60
  Provides-Extra: s3
60
61
  Requires-Dist: boto3<1.36,>=1.28.0; extra == "s3"
61
62
  Requires-Dist: aiobotocore<2.16,>=2.5.0; extra == "s3"
62
- Requires-Dist: s3fs<2024.7,>=2023.9.2; extra == "s3"
63
+ Requires-Dist: s3fs<=2025.7.0,>=2025.5.1; extra == "s3"
63
64
  Provides-Extra: azure-blob-storage
64
65
  Requires-Dist: msrest~=0.6.21; extra == "azure-blob-storage"
65
66
  Requires-Dist: azure-core~=1.24; extra == "azure-blob-storage"
66
- Requires-Dist: adlfs==2023.9.0; extra == "azure-blob-storage"
67
+ Requires-Dist: adlfs==2024.12.0; extra == "azure-blob-storage"
67
68
  Requires-Dist: pyopenssl>=23; extra == "azure-blob-storage"
68
69
  Provides-Extra: azure-key-vault
69
70
  Requires-Dist: azure-identity~=1.5; extra == "azure-key-vault"
@@ -78,7 +79,7 @@ Requires-Dist: google-cloud-storage==2.14.0; extra == "google-cloud"
78
79
  Requires-Dist: google-cloud-bigquery[bqstorage,pandas]==3.14.1; extra == "google-cloud"
79
80
  Requires-Dist: google-cloud-bigquery-storage~=2.17; extra == "google-cloud"
80
81
  Requires-Dist: google-cloud==0.34; extra == "google-cloud"
81
- Requires-Dist: gcsfs<2024.7,>=2023.9.2; extra == "google-cloud"
82
+ Requires-Dist: gcsfs<=2025.7.0,>=2025.5.1; extra == "google-cloud"
82
83
  Provides-Extra: kafka
83
84
  Requires-Dist: kafka-python~=2.1.0; extra == "kafka"
84
85
  Requires-Dist: avro~=1.11; extra == "kafka"
@@ -96,8 +97,8 @@ Requires-Dist: distributed~=2024.12.1; python_version >= "3.11" and extra == "da
96
97
  Requires-Dist: dask~=2023.12.1; python_version < "3.11" and extra == "dask"
97
98
  Requires-Dist: distributed~=2023.12.1; python_version < "3.11" and extra == "dask"
98
99
  Provides-Extra: alibaba-oss
99
- Requires-Dist: ossfs==2023.12.0; extra == "alibaba-oss"
100
- Requires-Dist: oss2==2.18.1; extra == "alibaba-oss"
100
+ Requires-Dist: ossfs==2025.5.0; extra == "alibaba-oss"
101
+ Requires-Dist: oss2==2.18.4; extra == "alibaba-oss"
101
102
  Provides-Extra: tdengine
102
103
  Requires-Dist: taos-ws-py==0.3.2; extra == "tdengine"
103
104
  Provides-Extra: snowflake
@@ -126,7 +127,7 @@ Requires-Dist: pydantic<2,>=1; extra == "api"
126
127
  Requires-Dist: mlrun-pipelines-kfp-v1-8~=0.5.7; extra == "api"
127
128
  Requires-Dist: grpcio~=1.70.0; extra == "api"
128
129
  Provides-Extra: all
129
- Requires-Dist: adlfs==2023.9.0; extra == "all"
130
+ Requires-Dist: adlfs==2024.12.0; extra == "all"
130
131
  Requires-Dist: aiobotocore<2.16,>=2.5.0; extra == "all"
131
132
  Requires-Dist: avro~=1.11; extra == "all"
132
133
  Requires-Dist: azure-core~=1.24; extra == "all"
@@ -138,7 +139,7 @@ Requires-Dist: dask~=2024.12.1; python_version >= "3.11" and extra == "all"
138
139
  Requires-Dist: databricks-sdk~=0.20.0; extra == "all"
139
140
  Requires-Dist: distributed~=2023.12.1; python_version < "3.11" and extra == "all"
140
141
  Requires-Dist: distributed~=2024.12.1; python_version >= "3.11" and extra == "all"
141
- Requires-Dist: gcsfs<2024.7,>=2023.9.2; extra == "all"
142
+ Requires-Dist: gcsfs<=2025.7.0,>=2025.5.1; extra == "all"
142
143
  Requires-Dist: google-cloud-bigquery-storage~=2.17; extra == "all"
143
144
  Requires-Dist: google-cloud-bigquery[bqstorage,pandas]==3.14.1; extra == "all"
144
145
  Requires-Dist: google-cloud-storage==2.14.0; extra == "all"
@@ -147,17 +148,17 @@ Requires-Dist: graphviz~=0.20.0; extra == "all"
147
148
  Requires-Dist: kafka-python~=2.1.0; extra == "all"
148
149
  Requires-Dist: mlflow~=2.22; extra == "all"
149
150
  Requires-Dist: msrest~=0.6.21; extra == "all"
150
- Requires-Dist: oss2==2.18.1; extra == "all"
151
- Requires-Dist: ossfs==2023.12.0; extra == "all"
151
+ Requires-Dist: oss2==2.18.4; extra == "all"
152
+ Requires-Dist: ossfs==2025.5.0; extra == "all"
152
153
  Requires-Dist: plotly~=5.23; extra == "all"
153
154
  Requires-Dist: pyopenssl>=23; extra == "all"
154
155
  Requires-Dist: redis~=4.3; extra == "all"
155
- Requires-Dist: s3fs<2024.7,>=2023.9.2; extra == "all"
156
+ Requires-Dist: s3fs<=2025.7.0,>=2025.5.1; extra == "all"
156
157
  Requires-Dist: snowflake-connector-python~=3.7; extra == "all"
157
158
  Requires-Dist: sqlalchemy~=2.0; extra == "all"
158
159
  Requires-Dist: taos-ws-py==0.3.2; extra == "all"
159
160
  Provides-Extra: complete
160
- Requires-Dist: adlfs==2023.9.0; extra == "complete"
161
+ Requires-Dist: adlfs==2024.12.0; extra == "complete"
161
162
  Requires-Dist: aiobotocore<2.16,>=2.5.0; extra == "complete"
162
163
  Requires-Dist: avro~=1.11; extra == "complete"
163
164
  Requires-Dist: azure-core~=1.24; extra == "complete"
@@ -169,7 +170,7 @@ Requires-Dist: dask~=2024.12.1; python_version >= "3.11" and extra == "complete"
169
170
  Requires-Dist: databricks-sdk~=0.20.0; extra == "complete"
170
171
  Requires-Dist: distributed~=2023.12.1; python_version < "3.11" and extra == "complete"
171
172
  Requires-Dist: distributed~=2024.12.1; python_version >= "3.11" and extra == "complete"
172
- Requires-Dist: gcsfs<2024.7,>=2023.9.2; extra == "complete"
173
+ Requires-Dist: gcsfs<=2025.7.0,>=2025.5.1; extra == "complete"
173
174
  Requires-Dist: google-cloud-bigquery-storage~=2.17; extra == "complete"
174
175
  Requires-Dist: google-cloud-bigquery[bqstorage,pandas]==3.14.1; extra == "complete"
175
176
  Requires-Dist: google-cloud-storage==2.14.0; extra == "complete"
@@ -178,17 +179,17 @@ Requires-Dist: graphviz~=0.20.0; extra == "complete"
178
179
  Requires-Dist: kafka-python~=2.1.0; extra == "complete"
179
180
  Requires-Dist: mlflow~=2.22; extra == "complete"
180
181
  Requires-Dist: msrest~=0.6.21; extra == "complete"
181
- Requires-Dist: oss2==2.18.1; extra == "complete"
182
- Requires-Dist: ossfs==2023.12.0; extra == "complete"
182
+ Requires-Dist: oss2==2.18.4; extra == "complete"
183
+ Requires-Dist: ossfs==2025.5.0; extra == "complete"
183
184
  Requires-Dist: plotly~=5.23; extra == "complete"
184
185
  Requires-Dist: pyopenssl>=23; extra == "complete"
185
186
  Requires-Dist: redis~=4.3; extra == "complete"
186
- Requires-Dist: s3fs<2024.7,>=2023.9.2; extra == "complete"
187
+ Requires-Dist: s3fs<=2025.7.0,>=2025.5.1; extra == "complete"
187
188
  Requires-Dist: snowflake-connector-python~=3.7; extra == "complete"
188
189
  Requires-Dist: sqlalchemy~=2.0; extra == "complete"
189
190
  Requires-Dist: taos-ws-py==0.3.2; extra == "complete"
190
191
  Provides-Extra: complete-api
191
- Requires-Dist: adlfs==2023.9.0; extra == "complete-api"
192
+ Requires-Dist: adlfs==2024.12.0; extra == "complete-api"
192
193
  Requires-Dist: aiobotocore<2.16,>=2.5.0; extra == "complete-api"
193
194
  Requires-Dist: aiosmtplib~=3.0; extra == "complete-api"
194
195
  Requires-Dist: alembic~=1.14; extra == "complete-api"
@@ -205,7 +206,7 @@ Requires-Dist: databricks-sdk~=0.20.0; extra == "complete-api"
205
206
  Requires-Dist: distributed~=2023.12.1; python_version < "3.11" and extra == "complete-api"
206
207
  Requires-Dist: distributed~=2024.12.1; python_version >= "3.11" and extra == "complete-api"
207
208
  Requires-Dist: fastapi~=0.116.0; extra == "complete-api"
208
- Requires-Dist: gcsfs<2024.7,>=2023.9.2; extra == "complete-api"
209
+ Requires-Dist: gcsfs<=2025.7.0,>=2025.5.1; extra == "complete-api"
209
210
  Requires-Dist: google-cloud-bigquery-storage~=2.17; extra == "complete-api"
210
211
  Requires-Dist: google-cloud-bigquery[bqstorage,pandas]==3.14.1; extra == "complete-api"
211
212
  Requires-Dist: google-cloud-storage==2.14.0; extra == "complete-api"
@@ -220,15 +221,15 @@ Requires-Dist: mlflow~=2.22; extra == "complete-api"
220
221
  Requires-Dist: mlrun-pipelines-kfp-v1-8~=0.5.7; extra == "complete-api"
221
222
  Requires-Dist: msrest~=0.6.21; extra == "complete-api"
222
223
  Requires-Dist: objgraph~=3.6; extra == "complete-api"
223
- Requires-Dist: oss2==2.18.1; extra == "complete-api"
224
- Requires-Dist: ossfs==2023.12.0; extra == "complete-api"
224
+ Requires-Dist: oss2==2.18.4; extra == "complete-api"
225
+ Requires-Dist: ossfs==2025.5.0; extra == "complete-api"
225
226
  Requires-Dist: plotly~=5.23; extra == "complete-api"
226
227
  Requires-Dist: psycopg2-binary~=2.9; extra == "complete-api"
227
228
  Requires-Dist: pydantic<2,>=1; extra == "complete-api"
228
229
  Requires-Dist: pymysql~=1.1; extra == "complete-api"
229
230
  Requires-Dist: pyopenssl>=23; extra == "complete-api"
230
231
  Requires-Dist: redis~=4.3; extra == "complete-api"
231
- Requires-Dist: s3fs<2024.7,>=2023.9.2; extra == "complete-api"
232
+ Requires-Dist: s3fs<=2025.7.0,>=2025.5.1; extra == "complete-api"
232
233
  Requires-Dist: snowflake-connector-python~=3.7; extra == "complete-api"
233
234
  Requires-Dist: sqlalchemy-utils~=0.41.2; extra == "complete-api"
234
235
  Requires-Dist: sqlalchemy~=2.0; extra == "complete-api"
@@ -29,12 +29,12 @@ def extra_requirements() -> dict[str, list[str]]:
29
29
  "s3": [
30
30
  "boto3>=1.28.0,<1.36",
31
31
  "aiobotocore>=2.5.0,<2.16",
32
- "s3fs>=2023.9.2, <2024.7",
32
+ "s3fs>=2025.5.1, <=2025.7.0",
33
33
  ],
34
34
  "azure-blob-storage": [
35
35
  "msrest~=0.6.21",
36
36
  "azure-core~=1.24",
37
- "adlfs==2023.9.0",
37
+ "adlfs==2024.12.0",
38
38
  "pyopenssl>=23",
39
39
  ],
40
40
  "azure-key-vault": [
@@ -53,7 +53,7 @@ def extra_requirements() -> dict[str, list[str]]:
53
53
  # (https://github.com/pypa/setuptools/issues/4476) with setuptools (ML-7273)
54
54
  "google-cloud-bigquery-storage~=2.17",
55
55
  "google-cloud==0.34",
56
- "gcsfs>=2023.9.2, <2024.7",
56
+ "gcsfs>=2025.5.1, <=2025.7.0",
57
57
  ],
58
58
  "kafka": [
59
59
  "kafka-python~=2.1.0",
@@ -72,7 +72,7 @@ def extra_requirements() -> dict[str, list[str]]:
72
72
  'dask~=2023.12.1; python_version < "3.11"',
73
73
  'distributed~=2023.12.1; python_version < "3.11"',
74
74
  ],
75
- "alibaba-oss": ["ossfs==2023.12.0", "oss2==2.18.1"],
75
+ "alibaba-oss": ["ossfs==2025.5.0", "oss2==2.18.4"],
76
76
  "tdengine": ["taos-ws-py==0.3.2"],
77
77
  "snowflake": ["snowflake-connector-python~=3.7"],
78
78
  }
@@ -10,18 +10,18 @@
10
10
  # we have a test test_extras_requirement_file_aligned to verify this file is aligned to setup.py
11
11
  # The versions of gcsfs and s3fs should be identical to the fsspec version;
12
12
  # Therefore, they must be equal to each other.
13
- s3fs>=2023.9.2, <2024.7
14
- gcsfs>=2023.9.2, <2024.7
15
- ossfs==2023.12.0
13
+ s3fs>=2025.5.1, <=2025.7.0
14
+ gcsfs>=2025.5.1, <=2025.7.0
15
+ ossfs==2025.5.0
16
16
  boto3>=1.28.0,<1.36
17
- oss2==2.18.1
17
+ oss2==2.18.4
18
18
  aiobotocore>=2.5.0,<2.16
19
19
  # https://github.com/Azure/azure-sdk-for-python/issues/24765#issuecomment-1150310498
20
20
  msrest~=0.6.21
21
21
  azure-core~=1.24
22
22
  # This version is required in order to support the self._strip_protocol
23
23
  # function in Azure Blob File System functions (such as _ls and more).
24
- adlfs==2023.9.0
24
+ adlfs==2024.12.0
25
25
  azure-identity~=1.5
26
26
  azure-keyvault-secrets~=4.2
27
27
  # cryptography>=39, which is required by azure, needs this, or else we get
@@ -15,6 +15,7 @@
15
15
  from datetime import datetime, timezone
16
16
  from typing import Optional
17
17
 
18
+ import deepdiff
18
19
  from pydantic.v1 import BaseModel, Extra, Field
19
20
 
20
21
  import mlrun.common.types
@@ -83,6 +84,19 @@ class HubSource(BaseModel):
83
84
  status=ObjectStatus(state="created"),
84
85
  )
85
86
 
87
+ def diff(self, another_source: "HubSource") -> dict:
88
+ """
89
+ Compare this HubSource with another one.
90
+ Returns a dict of differences (metadata, spec, status).
91
+ """
92
+ exclude_paths = [
93
+ "root['metadata']['updated']",
94
+ "root['metadata']['created']",
95
+ ]
96
+ return deepdiff.DeepDiff(
97
+ self.dict(), another_source.dict(), exclude_paths=exclude_paths
98
+ )
99
+
86
100
 
87
101
  last_source_index = -1
88
102
 
@@ -331,6 +331,7 @@ class EndpointType(IntEnum):
331
331
  class EndpointMode(IntEnum):
332
332
  REAL_TIME = 0
333
333
  BATCH = 1
334
+ BATCH_LEGACY = 2 # legacy batch mode, used for endpoints created through the batch inference job
334
335
 
335
336
 
336
337
  class MonitoringFunctionNames(MonitoringStrEnum):
@@ -119,7 +119,7 @@ class ModelEndpointMetadata(ObjectMetadata, ModelEndpointParser):
119
119
  project: constr(regex=PROJECT_PATTERN)
120
120
  endpoint_type: EndpointType = EndpointType.NODE_EP
121
121
  uid: Optional[constr(regex=MODEL_ENDPOINT_ID_PATTERN)]
122
- mode: EndpointMode = EndpointMode.REAL_TIME
122
+ mode: Optional[EndpointMode] = None
123
123
 
124
124
  @classmethod
125
125
  def mutable_fields(cls):
@@ -131,6 +131,15 @@ class ModelEndpointMetadata(ObjectMetadata, ModelEndpointParser):
131
131
  return str(v)
132
132
  return v
133
133
 
134
+ @validator("mode", pre=True, always=True)
135
+ def _set_mode_based_on_endpoint_type(cls, v, values): # noqa: N805
136
+ if v is None:
137
+ if values.get("endpoint_type") == EndpointType.BATCH_EP:
138
+ return EndpointMode.BATCH_LEGACY
139
+ else:
140
+ return EndpointMode.REAL_TIME
141
+ return v
142
+
134
143
 
135
144
  class ModelEndpointSpec(ObjectSpec, ModelEndpointParser):
136
145
  model_class: Optional[str] = ""
@@ -107,7 +107,11 @@ default_config = {
107
107
  "submit_timeout": "280", # timeout when submitting a new k8s resource
108
108
  # runtimes cleanup interval in seconds
109
109
  "runtimes_cleanup_interval": "300",
110
- "background_task_cleanup_interval": "86400", # 24 hours in seconds
110
+ # disabled by default due to an internal bug in serving functions
111
+ # relying on a background task to hold the status for its model endpoints
112
+ # TODO: need to refine what/when we can delete the background tasks
113
+ # e.g: use labels or naming convention.
114
+ "background_task_cleanup_interval": "0",
111
115
  "background_task_max_age": "21600", # 6 hours in seconds
112
116
  "monitoring": {
113
117
  "runs": {
@@ -229,18 +229,25 @@ class AzureBlobStore(DataStore):
229
229
  st = self.storage_options
230
230
  service = "blob"
231
231
  primary_url = None
232
- if st.get("connection_string"):
232
+
233
+ # Parse connection string (fills account_name/account_key or SAS)
234
+ connection_string = st.get("connection_string")
235
+ if connection_string:
233
236
  primary_url, _, parsed_credential = parse_connection_str(
234
- st.get("connection_string"), credential=None, service=service
237
+ connection_string, credential=None, service=service
235
238
  )
236
- for key in ["account_name", "account_key"]:
237
- parsed_value = parsed_credential.get(key)
238
- if parsed_value:
239
+
240
+ if isinstance(parsed_credential, str):
241
+ # SharedAccessSignature as raw string
242
+ parsed_credential = {"sas_token": parsed_credential}
243
+
244
+ for key in ["account_name", "account_key", "sas_token"]:
245
+ if parsed_value := parsed_credential.get(key):
239
246
  if key in st and st[key] != parsed_value:
240
247
  if key == "account_name":
241
248
  raise mlrun.errors.MLRunInvalidArgumentError(
242
- f"Storage option for '{key}' is '{st[key]}',\
243
- which does not match corresponding connection string '{parsed_value}'"
249
+ f"Storage option for '{key}' is '{st[key]}', "
250
+ f"which does not match corresponding connection string '{parsed_value}'"
244
251
  )
245
252
  else:
246
253
  raise mlrun.errors.MLRunInvalidArgumentError(
@@ -249,6 +256,7 @@ class AzureBlobStore(DataStore):
249
256
  st[key] = parsed_value
250
257
 
251
258
  account_name = st.get("account_name")
259
+ # Derive host (prefer connection string primary URL)
252
260
  if primary_url:
253
261
  if primary_url.startswith("http://"):
254
262
  primary_url = primary_url[len("http://") :]
@@ -258,48 +266,63 @@ class AzureBlobStore(DataStore):
258
266
  elif account_name:
259
267
  host = f"{account_name}.{service}.core.windows.net"
260
268
  else:
269
+ # nothing to configure yet
261
270
  return res
262
271
 
263
- if "account_key" in st:
272
+ host = host.rstrip("/")
273
+
274
+ # Account key (optional; WASB supports it)
275
+ if "account_key" in st and st["account_key"]:
264
276
  res[f"spark.hadoop.fs.azure.account.key.{host}"] = st["account_key"]
265
277
 
266
- if "client_secret" in st or "client_id" in st or "tenant_id" in st:
267
- res[f"spark.hadoop.fs.azure.account.auth.type.{host}"] = "OAuth"
268
- res[f"spark.hadoop.fs.azure.account.oauth.provider.type.{host}"] = (
269
- "org.apache.hadoop.fs.azurebfs.oauth2.ClientCredsTokenProvider"
270
- )
271
- if "client_id" in st:
272
- res[f"spark.hadoop.fs.azure.account.oauth2.client.id.{host}"] = st[
273
- "client_id"
274
- ]
275
- if "client_secret" in st:
276
- res[f"spark.hadoop.fs.azure.account.oauth2.client.secret.{host}"] = st[
277
- "client_secret"
278
- ]
279
- if "tenant_id" in st:
280
- tenant_id = st["tenant_id"]
281
- res[f"spark.hadoop.fs.azure.account.oauth2.client.endpoint.{host}"] = (
282
- f"https://login.microsoftonline.com/{tenant_id}/oauth2/token"
283
- )
278
+ # --- WASB + SAS (container-scoped key; no provider classes needed) ---
279
+ if "sas_token" in st and st["sas_token"]:
280
+ sas = st["sas_token"].lstrip("?")
281
+ if container := getattr(self, "endpoint", None) or st.get("container"):
282
+ # fs.azure.sas.<container>.<account>.blob.core.windows.net = <sas>
283
+ res[f"spark.hadoop.fs.azure.sas.{container}.{host}"] = sas
284
284
 
285
- if "sas_token" in st:
286
- res[f"spark.hadoop.fs.azure.account.auth.type.{host}"] = "SAS"
287
- res[f"spark.hadoop.fs.azure.sas.token.provider.type.{host}"] = (
288
- "org.apache.hadoop.fs.azurebfs.sas.FixedSASTokenProvider"
289
- )
290
- res[f"spark.hadoop.fs.azure.sas.fixed.token.{host}"] = st["sas_token"]
285
+ else:
286
+ raise mlrun.errors.MLRunInvalidArgumentError(
287
+ "Container name is required for WASB SAS. "
288
+ "Set self.endpoint or storage_options['container']."
289
+ )
291
290
  return res
292
291
 
293
292
  @property
294
293
  def spark_url(self):
295
- spark_options = self.get_spark_options()
296
- url = f"wasbs://{self.endpoint}"
297
- prefix = "spark.hadoop.fs.azure.account.key."
298
- if spark_options:
299
- for key in spark_options:
300
- if key.startswith(prefix):
301
- account_key = key[len(prefix) :]
302
- if not url.endswith(account_key):
303
- url += f"@{account_key}"
304
- break
305
- return url
294
+ # Build: wasbs://<container>@<host>
295
+ st = self.storage_options
296
+ service = "blob"
297
+
298
+ container = getattr(self, "endpoint", None) or st.get("container")
299
+ if not container:
300
+ raise mlrun.errors.MLRunInvalidArgumentError(
301
+ "Container is required to build the WASB URL "
302
+ "(self.endpoint or storage_options['container'])."
303
+ )
304
+
305
+ # Prefer host from connection string; else synthesize from account_name
306
+ host = None
307
+ account_name = st.get("account_name")
308
+ connection_string = st.get("connection_string")
309
+
310
+ if connection_string:
311
+ primary_url, _, _ = parse_connection_str(
312
+ connection_string, credential=None, service=service
313
+ )
314
+ if primary_url.startswith("http://"):
315
+ primary_url = primary_url[len("http://") :]
316
+ if primary_url.startswith("https://"):
317
+ primary_url = primary_url[len("https://") :]
318
+ host = primary_url.rstrip("/")
319
+
320
+ if not host and account_name:
321
+ host = f"{account_name}.{service}.core.windows.net"
322
+
323
+ if not host:
324
+ raise mlrun.errors.MLRunInvalidArgumentError(
325
+ "account_name is required (or provide a connection_string) to build the WASB URL."
326
+ )
327
+
328
+ return f"wasbs://{container}@{host}"
@@ -333,7 +333,9 @@ class DatastoreProfileGCS(DatastoreProfile):
333
333
  # in gcs the path after schema is starts with bucket, wherefore it should not start with "/".
334
334
  subpath = subpath[1:]
335
335
  if self.bucket:
336
- return f"gcs://{self.bucket}/{subpath}"
336
+ return (
337
+ f"gcs://{self.bucket}/{subpath}" if subpath else f"gcs://{self.bucket}"
338
+ )
337
339
  else:
338
340
  return f"gcs://{subpath}"
339
341
 
@@ -370,7 +372,11 @@ class DatastoreProfileAzureBlob(DatastoreProfile):
370
372
  # in azure the path after schema is starts with container, wherefore it should not start with "/".
371
373
  subpath = subpath[1:]
372
374
  if self.container:
373
- return f"az://{self.container}/{subpath}"
375
+ return (
376
+ f"az://{self.container}/{subpath}"
377
+ if subpath
378
+ else f"az://{self.container}"
379
+ )
374
380
  else:
375
381
  return f"az://{subpath}"
376
382