mlrun 1.10.0rc24__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.0rc24/mlrun.egg-info → mlrun-1.10.0rc25}/PKG-INFO +23 -22
  2. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/dependencies.py +4 -4
  3. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/extras-requirements.txt +5 -5
  4. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/common/schemas/hub.py +14 -0
  5. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/common/schemas/model_monitoring/constants.py +1 -0
  6. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/common/schemas/model_monitoring/model_endpoints.py +10 -1
  7. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/datastore/azure_blob.py +66 -43
  8. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/datastore/datastore_profile.py +8 -2
  9. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/datastore/model_provider/huggingface_provider.py +118 -30
  10. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/datastore/model_provider/model_provider.py +61 -3
  11. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/datastore/model_provider/openai_provider.py +114 -43
  12. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/db/base.py +1 -1
  13. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/db/httpdb.py +6 -4
  14. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/db/nopdb.py +1 -0
  15. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/model_monitoring/api.py +2 -2
  16. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/model_monitoring/applications/base.py +22 -10
  17. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/model_monitoring/applications/context.py +1 -4
  18. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/model_monitoring/controller.py +10 -2
  19. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/model_monitoring/db/_schedules.py +2 -4
  20. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/platforms/iguazio.py +7 -3
  21. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/projects/project.py +28 -24
  22. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/runtimes/nuclio/__init__.py +1 -0
  23. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/runtimes/nuclio/application/application.py +11 -2
  24. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/runtimes/nuclio/function.py +10 -0
  25. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/runtimes/nuclio/serving.py +4 -0
  26. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/runtimes/utils.py +22 -5
  27. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/serving/server.py +25 -14
  28. mlrun-1.10.0rc25/mlrun/utils/version/version.json +4 -0
  29. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25/mlrun.egg-info}/PKG-INFO +23 -22
  30. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun.egg-info/requires.txt +22 -21
  31. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/requirements.txt +2 -1
  32. mlrun-1.10.0rc24/mlrun/utils/version/version.json +0 -4
  33. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/LICENSE +0 -0
  34. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/MANIFEST.in +0 -0
  35. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/Makefile +0 -0
  36. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/README.md +0 -0
  37. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/dev-requirements.txt +0 -0
  38. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/dockerfiles/mlrun-api/requirements.txt +0 -0
  39. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/examples/archive.zip +0 -0
  40. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/examples/function.py +0 -0
  41. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/examples/handler.py +0 -0
  42. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/examples/infile.txt +0 -0
  43. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/examples/load-project.ipynb +0 -0
  44. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/examples/mlrun_basics.ipynb +0 -0
  45. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/examples/mlrun_dask.ipynb +0 -0
  46. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/examples/mlrun_db.ipynb +0 -0
  47. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/examples/mlrun_export_import.ipynb +0 -0
  48. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/examples/mlrun_jobs.ipynb +0 -0
  49. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/examples/mlrun_sparkk8s.ipynb +0 -0
  50. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/examples/mlrun_vault.ipynb +0 -0
  51. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/examples/model.bst +0 -0
  52. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/examples/new-project.ipynb +0 -0
  53. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/examples/nulltst.py +0 -0
  54. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/examples/params.csv +0 -0
  55. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/examples/remote-spark.ipynb +0 -0
  56. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/examples/secrets.txt +0 -0
  57. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/examples/spark-function.py +0 -0
  58. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/examples/training.py +0 -0
  59. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/examples/v2_model_server.ipynb +0 -0
  60. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/examples/xgb_serving.ipynb +0 -0
  61. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/__init__.py +0 -0
  62. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/__main__.py +0 -0
  63. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/alerts/__init__.py +0 -0
  64. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/alerts/alert.py +0 -0
  65. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/artifacts/__init__.py +0 -0
  66. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/artifacts/base.py +0 -0
  67. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/artifacts/dataset.py +0 -0
  68. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/artifacts/document.py +0 -0
  69. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/artifacts/helpers.py +0 -0
  70. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/artifacts/llm_prompt.py +0 -0
  71. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/artifacts/manager.py +0 -0
  72. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/artifacts/model.py +0 -0
  73. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/artifacts/plots.py +0 -0
  74. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/common/__init__.py +0 -0
  75. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/common/constants.py +0 -0
  76. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/common/db/__init__.py +0 -0
  77. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/common/db/dialects.py +0 -0
  78. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/common/formatters/__init__.py +0 -0
  79. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/common/formatters/artifact.py +0 -0
  80. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/common/formatters/base.py +0 -0
  81. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/common/formatters/feature_set.py +0 -0
  82. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/common/formatters/function.py +0 -0
  83. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/common/formatters/model_endpoint.py +0 -0
  84. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/common/formatters/pipeline.py +0 -0
  85. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/common/formatters/project.py +0 -0
  86. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/common/formatters/run.py +0 -0
  87. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/common/helpers.py +0 -0
  88. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/common/model_monitoring/__init__.py +0 -0
  89. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/common/model_monitoring/helpers.py +0 -0
  90. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/common/runtimes/constants.py +0 -0
  91. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/common/schemas/__init__.py +0 -0
  92. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/common/schemas/alert.py +0 -0
  93. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/common/schemas/api_gateway.py +0 -0
  94. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/common/schemas/artifact.py +0 -0
  95. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/common/schemas/auth.py +0 -0
  96. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/common/schemas/background_task.py +0 -0
  97. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/common/schemas/client_spec.py +0 -0
  98. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/common/schemas/clusterization_spec.py +0 -0
  99. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/common/schemas/common.py +0 -0
  100. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/common/schemas/constants.py +0 -0
  101. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/common/schemas/datastore_profile.py +0 -0
  102. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/common/schemas/events.py +0 -0
  103. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/common/schemas/feature_store.py +0 -0
  104. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/common/schemas/frontend_spec.py +0 -0
  105. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/common/schemas/function.py +0 -0
  106. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/common/schemas/http.py +0 -0
  107. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/common/schemas/k8s.py +0 -0
  108. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/common/schemas/memory_reports.py +0 -0
  109. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/common/schemas/model_monitoring/__init__.py +0 -0
  110. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/common/schemas/model_monitoring/functions.py +0 -0
  111. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/common/schemas/model_monitoring/grafana.py +0 -0
  112. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/common/schemas/notification.py +0 -0
  113. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/common/schemas/object.py +0 -0
  114. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/common/schemas/pagination.py +0 -0
  115. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/common/schemas/partition.py +0 -0
  116. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/common/schemas/pipeline.py +0 -0
  117. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/common/schemas/project.py +0 -0
  118. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/common/schemas/regex.py +0 -0
  119. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/common/schemas/runs.py +0 -0
  120. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/common/schemas/runtime_resource.py +0 -0
  121. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/common/schemas/schedule.py +0 -0
  122. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/common/schemas/secret.py +0 -0
  123. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/common/schemas/serving.py +0 -0
  124. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/common/schemas/tag.py +0 -0
  125. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/common/schemas/workflow.py +0 -0
  126. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/common/secrets.py +0 -0
  127. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/common/types.py +0 -0
  128. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/config.py +0 -0
  129. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/data_types/__init__.py +0 -0
  130. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/data_types/data_types.py +0 -0
  131. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/data_types/infer.py +0 -0
  132. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/data_types/spark.py +0 -0
  133. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/data_types/to_pandas.py +0 -0
  134. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/datastore/__init__.py +0 -0
  135. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/datastore/alibaba_oss.py +0 -0
  136. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/datastore/base.py +0 -0
  137. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/datastore/datastore.py +0 -0
  138. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/datastore/dbfs_store.py +0 -0
  139. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/datastore/filestore.py +0 -0
  140. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/datastore/google_cloud_storage.py +0 -0
  141. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/datastore/hdfs.py +0 -0
  142. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/datastore/inmem.py +0 -0
  143. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/datastore/model_provider/__init__.py +0 -0
  144. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/datastore/model_provider/mock_model_provider.py +0 -0
  145. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/datastore/redis.py +0 -0
  146. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/datastore/remote_client.py +0 -0
  147. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/datastore/s3.py +0 -0
  148. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/datastore/snowflake_utils.py +0 -0
  149. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/datastore/sources.py +0 -0
  150. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/datastore/spark_udf.py +0 -0
  151. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/datastore/spark_utils.py +0 -0
  152. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/datastore/store_resources.py +0 -0
  153. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/datastore/storeytargets.py +0 -0
  154. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/datastore/targets.py +0 -0
  155. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/datastore/utils.py +0 -0
  156. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/datastore/v3io.py +0 -0
  157. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/datastore/vectorstore.py +0 -0
  158. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/datastore/wasbfs/__init__.py +0 -0
  159. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/datastore/wasbfs/fs.py +0 -0
  160. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/db/__init__.py +0 -0
  161. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/db/auth_utils.py +0 -0
  162. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/db/factory.py +0 -0
  163. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/errors.py +0 -0
  164. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/execution.py +0 -0
  165. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/feature_store/__init__.py +0 -0
  166. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/feature_store/api.py +0 -0
  167. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/feature_store/common.py +0 -0
  168. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/feature_store/feature_set.py +0 -0
  169. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/feature_store/feature_vector.py +0 -0
  170. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/feature_store/feature_vector_utils.py +0 -0
  171. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/feature_store/ingestion.py +0 -0
  172. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/feature_store/retrieval/__init__.py +0 -0
  173. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/feature_store/retrieval/base.py +0 -0
  174. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/feature_store/retrieval/dask_merger.py +0 -0
  175. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/feature_store/retrieval/job.py +0 -0
  176. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/feature_store/retrieval/local_merger.py +0 -0
  177. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/feature_store/retrieval/spark_merger.py +0 -0
  178. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/feature_store/retrieval/storey_merger.py +0 -0
  179. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/feature_store/steps.py +0 -0
  180. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/features.py +0 -0
  181. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/frameworks/__init__.py +0 -0
  182. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/frameworks/_common/__init__.py +0 -0
  183. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/frameworks/_common/artifacts_library.py +0 -0
  184. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/frameworks/_common/mlrun_interface.py +0 -0
  185. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/frameworks/_common/model_handler.py +0 -0
  186. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/frameworks/_common/plan.py +0 -0
  187. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/frameworks/_common/producer.py +0 -0
  188. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/frameworks/_common/utils.py +0 -0
  189. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/frameworks/_dl_common/__init__.py +0 -0
  190. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/frameworks/_dl_common/loggers/__init__.py +0 -0
  191. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/frameworks/_dl_common/loggers/logger.py +0 -0
  192. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/frameworks/_dl_common/loggers/mlrun_logger.py +0 -0
  193. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/frameworks/_dl_common/loggers/tensorboard_logger.py +0 -0
  194. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/frameworks/_dl_common/model_handler.py +0 -0
  195. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/frameworks/_dl_common/utils.py +0 -0
  196. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/frameworks/_ml_common/__init__.py +0 -0
  197. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/frameworks/_ml_common/artifacts_library.py +0 -0
  198. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/frameworks/_ml_common/loggers/__init__.py +0 -0
  199. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/frameworks/_ml_common/loggers/logger.py +0 -0
  200. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/frameworks/_ml_common/loggers/mlrun_logger.py +0 -0
  201. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/frameworks/_ml_common/model_handler.py +0 -0
  202. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/frameworks/_ml_common/pkl_model_server.py +0 -0
  203. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/frameworks/_ml_common/plan.py +0 -0
  204. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/frameworks/_ml_common/plans/__init__.py +0 -0
  205. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/frameworks/_ml_common/plans/calibration_curve_plan.py +0 -0
  206. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/frameworks/_ml_common/plans/confusion_matrix_plan.py +0 -0
  207. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/frameworks/_ml_common/plans/dataset_plan.py +0 -0
  208. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/frameworks/_ml_common/plans/feature_importance_plan.py +0 -0
  209. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/frameworks/_ml_common/plans/roc_curve_plan.py +0 -0
  210. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/frameworks/_ml_common/producer.py +0 -0
  211. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/frameworks/_ml_common/utils.py +0 -0
  212. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/frameworks/auto_mlrun/__init__.py +0 -0
  213. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/frameworks/auto_mlrun/auto_mlrun.py +0 -0
  214. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/frameworks/huggingface/__init__.py +0 -0
  215. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/frameworks/huggingface/model_server.py +0 -0
  216. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/frameworks/lgbm/__init__.py +0 -0
  217. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/frameworks/lgbm/callbacks/__init__.py +0 -0
  218. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/frameworks/lgbm/callbacks/callback.py +0 -0
  219. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/frameworks/lgbm/callbacks/logging_callback.py +0 -0
  220. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/frameworks/lgbm/callbacks/mlrun_logging_callback.py +0 -0
  221. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/frameworks/lgbm/mlrun_interfaces/__init__.py +0 -0
  222. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/frameworks/lgbm/mlrun_interfaces/booster_mlrun_interface.py +0 -0
  223. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/frameworks/lgbm/mlrun_interfaces/mlrun_interface.py +0 -0
  224. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/frameworks/lgbm/mlrun_interfaces/model_mlrun_interface.py +0 -0
  225. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/frameworks/lgbm/model_handler.py +0 -0
  226. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/frameworks/lgbm/model_server.py +0 -0
  227. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/frameworks/lgbm/utils.py +0 -0
  228. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/frameworks/onnx/__init__.py +0 -0
  229. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/frameworks/onnx/dataset.py +0 -0
  230. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/frameworks/onnx/mlrun_interface.py +0 -0
  231. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/frameworks/onnx/model_handler.py +0 -0
  232. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/frameworks/onnx/model_server.py +0 -0
  233. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/frameworks/parallel_coordinates.py +0 -0
  234. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/frameworks/pytorch/__init__.py +0 -0
  235. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/frameworks/pytorch/callbacks/__init__.py +0 -0
  236. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/frameworks/pytorch/callbacks/callback.py +0 -0
  237. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/frameworks/pytorch/callbacks/logging_callback.py +0 -0
  238. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/frameworks/pytorch/callbacks/mlrun_logging_callback.py +0 -0
  239. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/frameworks/pytorch/callbacks/tensorboard_logging_callback.py +0 -0
  240. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/frameworks/pytorch/callbacks_handler.py +0 -0
  241. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/frameworks/pytorch/mlrun_interface.py +0 -0
  242. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/frameworks/pytorch/model_handler.py +0 -0
  243. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/frameworks/pytorch/model_server.py +0 -0
  244. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/frameworks/pytorch/utils.py +0 -0
  245. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/frameworks/sklearn/__init__.py +0 -0
  246. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/frameworks/sklearn/estimator.py +0 -0
  247. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/frameworks/sklearn/metric.py +0 -0
  248. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/frameworks/sklearn/metrics_library.py +0 -0
  249. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/frameworks/sklearn/mlrun_interface.py +0 -0
  250. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/frameworks/sklearn/model_handler.py +0 -0
  251. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/frameworks/sklearn/utils.py +0 -0
  252. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/frameworks/tf_keras/__init__.py +0 -0
  253. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/frameworks/tf_keras/callbacks/__init__.py +0 -0
  254. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/frameworks/tf_keras/callbacks/logging_callback.py +0 -0
  255. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/frameworks/tf_keras/callbacks/mlrun_logging_callback.py +0 -0
  256. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/frameworks/tf_keras/callbacks/tensorboard_logging_callback.py +0 -0
  257. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/frameworks/tf_keras/mlrun_interface.py +0 -0
  258. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/frameworks/tf_keras/model_handler.py +0 -0
  259. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/frameworks/tf_keras/model_server.py +0 -0
  260. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/frameworks/tf_keras/utils.py +0 -0
  261. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/frameworks/xgboost/__init__.py +0 -0
  262. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/frameworks/xgboost/mlrun_interface.py +0 -0
  263. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/frameworks/xgboost/model_handler.py +0 -0
  264. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/frameworks/xgboost/utils.py +0 -0
  265. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/k8s_utils.py +0 -0
  266. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/launcher/__init__.py +0 -0
  267. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/launcher/base.py +0 -0
  268. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/launcher/client.py +0 -0
  269. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/launcher/factory.py +0 -0
  270. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/launcher/local.py +0 -0
  271. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/launcher/remote.py +0 -0
  272. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/lists.py +0 -0
  273. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/model.py +0 -0
  274. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/model_monitoring/__init__.py +0 -0
  275. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/model_monitoring/applications/__init__.py +0 -0
  276. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/model_monitoring/applications/_application_steps.py +0 -0
  277. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/model_monitoring/applications/evidently/__init__.py +0 -0
  278. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/model_monitoring/applications/evidently/base.py +0 -0
  279. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/model_monitoring/applications/histogram_data_drift.py +0 -0
  280. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/model_monitoring/applications/results.py +0 -0
  281. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/model_monitoring/db/__init__.py +0 -0
  282. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/model_monitoring/db/_stats.py +0 -0
  283. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/model_monitoring/db/tsdb/__init__.py +0 -0
  284. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/model_monitoring/db/tsdb/base.py +0 -0
  285. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/model_monitoring/db/tsdb/helpers.py +0 -0
  286. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/model_monitoring/db/tsdb/tdengine/__init__.py +0 -0
  287. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/model_monitoring/db/tsdb/tdengine/schemas.py +0 -0
  288. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/model_monitoring/db/tsdb/tdengine/stream_graph_steps.py +0 -0
  289. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/model_monitoring/db/tsdb/tdengine/tdengine_connection.py +0 -0
  290. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/model_monitoring/db/tsdb/tdengine/tdengine_connector.py +0 -0
  291. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/model_monitoring/db/tsdb/v3io/__init__.py +0 -0
  292. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/model_monitoring/db/tsdb/v3io/stream_graph_steps.py +0 -0
  293. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/model_monitoring/db/tsdb/v3io/v3io_connector.py +0 -0
  294. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/model_monitoring/features_drift_table.py +0 -0
  295. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/model_monitoring/helpers.py +0 -0
  296. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/model_monitoring/metrics/__init__.py +0 -0
  297. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/model_monitoring/metrics/histogram_distance.py +0 -0
  298. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/model_monitoring/stream_processing.py +0 -0
  299. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/model_monitoring/writer.py +0 -0
  300. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/package/__init__.py +0 -0
  301. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/package/context_handler.py +0 -0
  302. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/package/errors.py +0 -0
  303. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/package/packager.py +0 -0
  304. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/package/packagers/__init__.py +0 -0
  305. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/package/packagers/default_packager.py +0 -0
  306. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/package/packagers/numpy_packagers.py +0 -0
  307. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/package/packagers/pandas_packagers.py +0 -0
  308. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/package/packagers/python_standard_library_packagers.py +0 -0
  309. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/package/packagers_manager.py +0 -0
  310. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/package/utils/__init__.py +0 -0
  311. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/package/utils/_archiver.py +0 -0
  312. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/package/utils/_formatter.py +0 -0
  313. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/package/utils/_pickler.py +0 -0
  314. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/package/utils/_supported_format.py +0 -0
  315. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/package/utils/log_hint_utils.py +0 -0
  316. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/package/utils/type_hint_utils.py +0 -0
  317. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/platforms/__init__.py +0 -0
  318. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/projects/__init__.py +0 -0
  319. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/projects/operations.py +0 -0
  320. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/projects/pipelines.py +0 -0
  321. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/render.py +0 -0
  322. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/run.py +0 -0
  323. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/runtimes/__init__.py +0 -0
  324. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/runtimes/base.py +0 -0
  325. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/runtimes/daskjob.py +0 -0
  326. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/runtimes/databricks_job/__init__.py +0 -0
  327. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/runtimes/databricks_job/databricks_cancel_task.py +0 -0
  328. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/runtimes/databricks_job/databricks_runtime.py +0 -0
  329. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/runtimes/databricks_job/databricks_wrapper.py +0 -0
  330. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/runtimes/funcdoc.py +0 -0
  331. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/runtimes/function_reference.py +0 -0
  332. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/runtimes/generators.py +0 -0
  333. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/runtimes/kubejob.py +0 -0
  334. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/runtimes/local.py +0 -0
  335. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/runtimes/mounts.py +0 -0
  336. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/runtimes/mpijob/__init__.py +0 -0
  337. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/runtimes/mpijob/abstract.py +0 -0
  338. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/runtimes/mpijob/v1.py +0 -0
  339. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/runtimes/nuclio/api_gateway.py +0 -0
  340. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/runtimes/nuclio/application/__init__.py +0 -0
  341. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/runtimes/nuclio/application/reverse_proxy.go +0 -0
  342. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/runtimes/nuclio/nuclio.py +0 -0
  343. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/runtimes/pod.py +0 -0
  344. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/runtimes/remotesparkjob.py +0 -0
  345. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/runtimes/sparkjob/__init__.py +0 -0
  346. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/runtimes/sparkjob/spark3job.py +0 -0
  347. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/secrets.py +0 -0
  348. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/serving/__init__.py +0 -0
  349. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/serving/merger.py +0 -0
  350. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/serving/remote.py +0 -0
  351. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/serving/routers.py +0 -0
  352. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/serving/serving_wrapper.py +0 -0
  353. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/serving/states.py +0 -0
  354. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/serving/system_steps.py +0 -0
  355. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/serving/utils.py +0 -0
  356. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/serving/v1_serving.py +0 -0
  357. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/serving/v2_serving.py +0 -0
  358. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/track/__init__.py +0 -0
  359. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/track/tracker.py +0 -0
  360. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/track/tracker_manager.py +0 -0
  361. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/track/trackers/__init__.py +0 -0
  362. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/track/trackers/mlflow_tracker.py +0 -0
  363. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/utils/__init__.py +0 -0
  364. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/utils/async_http.py +0 -0
  365. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/utils/azure_vault.py +0 -0
  366. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/utils/clones.py +0 -0
  367. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/utils/condition_evaluator.py +0 -0
  368. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/utils/helpers.py +0 -0
  369. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/utils/http.py +0 -0
  370. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/utils/logger.py +0 -0
  371. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/utils/notifications/__init__.py +0 -0
  372. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/utils/notifications/notification/__init__.py +0 -0
  373. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/utils/notifications/notification/base.py +0 -0
  374. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/utils/notifications/notification/console.py +0 -0
  375. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/utils/notifications/notification/git.py +0 -0
  376. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/utils/notifications/notification/ipython.py +0 -0
  377. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/utils/notifications/notification/mail.py +0 -0
  378. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/utils/notifications/notification/slack.py +0 -0
  379. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/utils/notifications/notification/webhook.py +0 -0
  380. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/utils/notifications/notification_pusher.py +0 -0
  381. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/utils/regex.py +0 -0
  382. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/utils/retryer.py +0 -0
  383. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/utils/singleton.py +0 -0
  384. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/utils/v3io_clients.py +0 -0
  385. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/utils/vault.py +0 -0
  386. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/utils/version/__init__.py +0 -0
  387. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun/utils/version/version.py +0 -0
  388. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun.egg-info/SOURCES.txt +0 -0
  389. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun.egg-info/dependency_links.txt +0 -0
  390. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun.egg-info/entry_points.txt +0 -0
  391. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun.egg-info/not-zip-safe +0 -0
  392. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/mlrun.egg-info/top_level.txt +0 -0
  393. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/packages.py +0 -0
  394. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/pyproject.toml +0 -0
  395. {mlrun-1.10.0rc24 → mlrun-1.10.0rc25}/setup.cfg +0 -0
  396. {mlrun-1.10.0rc24 → 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.0rc24
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] = ""
@@ -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