mlrun 1.10.0rc29__tar.gz → 1.10.0rc31__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 (399) hide show
  1. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/Makefile +2 -13
  2. {mlrun-1.10.0rc29/mlrun.egg-info → mlrun-1.10.0rc31}/PKG-INFO +8 -7
  3. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/dockerfiles/mlrun-api/requirements.txt +1 -1
  4. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/artifacts/llm_prompt.py +5 -7
  5. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/common/schemas/model_monitoring/constants.py +5 -0
  6. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/config.py +7 -0
  7. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/execution.py +3 -3
  8. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/model_monitoring/db/_stats.py +4 -3
  9. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/model_monitoring/db/tsdb/base.py +13 -0
  10. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/model_monitoring/db/tsdb/tdengine/tdengine_connector.py +60 -0
  11. mlrun-1.10.0rc31/mlrun/model_monitoring/db/tsdb/tdengine/writer_graph_steps.py +51 -0
  12. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/model_monitoring/db/tsdb/v3io/v3io_connector.py +44 -0
  13. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/model_monitoring/writer.py +220 -1
  14. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/projects/project.py +3 -3
  15. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/runtimes/nuclio/function.py +12 -0
  16. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/serving/remote.py +79 -6
  17. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/serving/states.py +4 -4
  18. mlrun-1.10.0rc31/mlrun/utils/version/version.json +4 -0
  19. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31/mlrun.egg-info}/PKG-INFO +8 -7
  20. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun.egg-info/SOURCES.txt +1 -0
  21. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun.egg-info/requires.txt +11 -6
  22. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/requirements.txt +7 -5
  23. mlrun-1.10.0rc29/mlrun/utils/version/version.json +0 -4
  24. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/LICENSE +0 -0
  25. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/MANIFEST.in +0 -0
  26. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/README.md +0 -0
  27. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/dependencies.py +0 -0
  28. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/dev-requirements.txt +0 -0
  29. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/examples/archive.zip +0 -0
  30. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/examples/function.py +0 -0
  31. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/examples/handler.py +0 -0
  32. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/examples/infile.txt +0 -0
  33. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/examples/load-project.ipynb +0 -0
  34. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/examples/mlrun_basics.ipynb +0 -0
  35. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/examples/mlrun_dask.ipynb +0 -0
  36. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/examples/mlrun_db.ipynb +0 -0
  37. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/examples/mlrun_export_import.ipynb +0 -0
  38. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/examples/mlrun_jobs.ipynb +0 -0
  39. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/examples/mlrun_sparkk8s.ipynb +0 -0
  40. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/examples/mlrun_vault.ipynb +0 -0
  41. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/examples/model.bst +0 -0
  42. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/examples/new-project.ipynb +0 -0
  43. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/examples/nulltst.py +0 -0
  44. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/examples/params.csv +0 -0
  45. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/examples/remote-spark.ipynb +0 -0
  46. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/examples/secrets.txt +0 -0
  47. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/examples/spark-function.py +0 -0
  48. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/examples/training.py +0 -0
  49. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/examples/v2_model_server.ipynb +0 -0
  50. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/examples/xgb_serving.ipynb +0 -0
  51. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/extras-requirements.txt +0 -0
  52. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/__init__.py +0 -0
  53. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/__main__.py +0 -0
  54. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/alerts/__init__.py +0 -0
  55. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/alerts/alert.py +0 -0
  56. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/artifacts/__init__.py +0 -0
  57. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/artifacts/base.py +0 -0
  58. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/artifacts/dataset.py +0 -0
  59. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/artifacts/document.py +0 -0
  60. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/artifacts/helpers.py +0 -0
  61. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/artifacts/manager.py +0 -0
  62. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/artifacts/model.py +0 -0
  63. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/artifacts/plots.py +0 -0
  64. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/common/__init__.py +0 -0
  65. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/common/constants.py +0 -0
  66. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/common/db/__init__.py +0 -0
  67. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/common/db/dialects.py +0 -0
  68. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/common/formatters/__init__.py +0 -0
  69. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/common/formatters/artifact.py +0 -0
  70. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/common/formatters/base.py +0 -0
  71. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/common/formatters/feature_set.py +0 -0
  72. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/common/formatters/function.py +0 -0
  73. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/common/formatters/model_endpoint.py +0 -0
  74. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/common/formatters/pipeline.py +0 -0
  75. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/common/formatters/project.py +0 -0
  76. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/common/formatters/run.py +0 -0
  77. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/common/helpers.py +0 -0
  78. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/common/model_monitoring/__init__.py +0 -0
  79. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/common/model_monitoring/helpers.py +0 -0
  80. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/common/runtimes/constants.py +0 -0
  81. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/common/schemas/__init__.py +0 -0
  82. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/common/schemas/alert.py +0 -0
  83. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/common/schemas/api_gateway.py +0 -0
  84. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/common/schemas/artifact.py +0 -0
  85. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/common/schemas/auth.py +0 -0
  86. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/common/schemas/background_task.py +0 -0
  87. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/common/schemas/client_spec.py +0 -0
  88. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/common/schemas/clusterization_spec.py +0 -0
  89. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/common/schemas/common.py +0 -0
  90. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/common/schemas/constants.py +0 -0
  91. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/common/schemas/datastore_profile.py +0 -0
  92. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/common/schemas/events.py +0 -0
  93. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/common/schemas/feature_store.py +0 -0
  94. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/common/schemas/frontend_spec.py +0 -0
  95. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/common/schemas/function.py +0 -0
  96. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/common/schemas/http.py +0 -0
  97. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/common/schemas/hub.py +0 -0
  98. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/common/schemas/k8s.py +0 -0
  99. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/common/schemas/memory_reports.py +0 -0
  100. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/common/schemas/model_monitoring/__init__.py +0 -0
  101. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/common/schemas/model_monitoring/functions.py +0 -0
  102. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/common/schemas/model_monitoring/grafana.py +0 -0
  103. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/common/schemas/model_monitoring/model_endpoints.py +0 -0
  104. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/common/schemas/notification.py +0 -0
  105. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/common/schemas/object.py +0 -0
  106. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/common/schemas/pagination.py +0 -0
  107. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/common/schemas/partition.py +0 -0
  108. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/common/schemas/pipeline.py +0 -0
  109. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/common/schemas/project.py +0 -0
  110. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/common/schemas/regex.py +0 -0
  111. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/common/schemas/runs.py +0 -0
  112. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/common/schemas/runtime_resource.py +0 -0
  113. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/common/schemas/schedule.py +0 -0
  114. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/common/schemas/secret.py +0 -0
  115. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/common/schemas/serving.py +0 -0
  116. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/common/schemas/tag.py +0 -0
  117. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/common/schemas/workflow.py +0 -0
  118. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/common/secrets.py +0 -0
  119. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/common/types.py +0 -0
  120. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/data_types/__init__.py +0 -0
  121. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/data_types/data_types.py +0 -0
  122. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/data_types/infer.py +0 -0
  123. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/data_types/spark.py +0 -0
  124. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/data_types/to_pandas.py +0 -0
  125. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/datastore/__init__.py +0 -0
  126. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/datastore/alibaba_oss.py +0 -0
  127. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/datastore/azure_blob.py +0 -0
  128. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/datastore/base.py +0 -0
  129. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/datastore/datastore.py +0 -0
  130. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/datastore/datastore_profile.py +0 -0
  131. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/datastore/dbfs_store.py +0 -0
  132. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/datastore/filestore.py +0 -0
  133. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/datastore/google_cloud_storage.py +0 -0
  134. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/datastore/hdfs.py +0 -0
  135. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/datastore/inmem.py +0 -0
  136. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/datastore/model_provider/__init__.py +0 -0
  137. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/datastore/model_provider/huggingface_provider.py +0 -0
  138. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/datastore/model_provider/mock_model_provider.py +0 -0
  139. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/datastore/model_provider/model_provider.py +0 -0
  140. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/datastore/model_provider/openai_provider.py +0 -0
  141. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/datastore/redis.py +0 -0
  142. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/datastore/remote_client.py +0 -0
  143. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/datastore/s3.py +0 -0
  144. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/datastore/snowflake_utils.py +0 -0
  145. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/datastore/sources.py +0 -0
  146. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/datastore/spark_udf.py +0 -0
  147. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/datastore/spark_utils.py +0 -0
  148. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/datastore/store_resources.py +0 -0
  149. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/datastore/storeytargets.py +0 -0
  150. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/datastore/targets.py +0 -0
  151. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/datastore/utils.py +0 -0
  152. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/datastore/v3io.py +0 -0
  153. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/datastore/vectorstore.py +0 -0
  154. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/datastore/wasbfs/__init__.py +0 -0
  155. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/datastore/wasbfs/fs.py +0 -0
  156. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/db/__init__.py +0 -0
  157. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/db/auth_utils.py +0 -0
  158. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/db/base.py +0 -0
  159. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/db/factory.py +0 -0
  160. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/db/httpdb.py +0 -0
  161. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/db/nopdb.py +0 -0
  162. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/errors.py +0 -0
  163. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/feature_store/__init__.py +0 -0
  164. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/feature_store/api.py +0 -0
  165. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/feature_store/common.py +0 -0
  166. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/feature_store/feature_set.py +0 -0
  167. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/feature_store/feature_vector.py +0 -0
  168. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/feature_store/feature_vector_utils.py +0 -0
  169. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/feature_store/ingestion.py +0 -0
  170. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/feature_store/retrieval/__init__.py +0 -0
  171. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/feature_store/retrieval/base.py +0 -0
  172. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/feature_store/retrieval/dask_merger.py +0 -0
  173. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/feature_store/retrieval/job.py +0 -0
  174. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/feature_store/retrieval/local_merger.py +0 -0
  175. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/feature_store/retrieval/spark_merger.py +0 -0
  176. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/feature_store/retrieval/storey_merger.py +0 -0
  177. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/feature_store/steps.py +0 -0
  178. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/features.py +0 -0
  179. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/frameworks/__init__.py +0 -0
  180. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/frameworks/_common/__init__.py +0 -0
  181. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/frameworks/_common/artifacts_library.py +0 -0
  182. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/frameworks/_common/mlrun_interface.py +0 -0
  183. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/frameworks/_common/model_handler.py +0 -0
  184. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/frameworks/_common/plan.py +0 -0
  185. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/frameworks/_common/producer.py +0 -0
  186. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/frameworks/_common/utils.py +0 -0
  187. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/frameworks/_dl_common/__init__.py +0 -0
  188. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/frameworks/_dl_common/loggers/__init__.py +0 -0
  189. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/frameworks/_dl_common/loggers/logger.py +0 -0
  190. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/frameworks/_dl_common/loggers/mlrun_logger.py +0 -0
  191. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/frameworks/_dl_common/loggers/tensorboard_logger.py +0 -0
  192. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/frameworks/_dl_common/model_handler.py +0 -0
  193. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/frameworks/_dl_common/utils.py +0 -0
  194. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/frameworks/_ml_common/__init__.py +0 -0
  195. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/frameworks/_ml_common/artifacts_library.py +0 -0
  196. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/frameworks/_ml_common/loggers/__init__.py +0 -0
  197. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/frameworks/_ml_common/loggers/logger.py +0 -0
  198. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/frameworks/_ml_common/loggers/mlrun_logger.py +0 -0
  199. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/frameworks/_ml_common/model_handler.py +0 -0
  200. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/frameworks/_ml_common/pkl_model_server.py +0 -0
  201. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/frameworks/_ml_common/plan.py +0 -0
  202. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/frameworks/_ml_common/plans/__init__.py +0 -0
  203. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/frameworks/_ml_common/plans/calibration_curve_plan.py +0 -0
  204. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/frameworks/_ml_common/plans/confusion_matrix_plan.py +0 -0
  205. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/frameworks/_ml_common/plans/dataset_plan.py +0 -0
  206. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/frameworks/_ml_common/plans/feature_importance_plan.py +0 -0
  207. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/frameworks/_ml_common/plans/roc_curve_plan.py +0 -0
  208. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/frameworks/_ml_common/producer.py +0 -0
  209. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/frameworks/_ml_common/utils.py +0 -0
  210. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/frameworks/auto_mlrun/__init__.py +0 -0
  211. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/frameworks/auto_mlrun/auto_mlrun.py +0 -0
  212. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/frameworks/huggingface/__init__.py +0 -0
  213. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/frameworks/huggingface/model_server.py +0 -0
  214. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/frameworks/lgbm/__init__.py +0 -0
  215. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/frameworks/lgbm/callbacks/__init__.py +0 -0
  216. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/frameworks/lgbm/callbacks/callback.py +0 -0
  217. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/frameworks/lgbm/callbacks/logging_callback.py +0 -0
  218. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/frameworks/lgbm/callbacks/mlrun_logging_callback.py +0 -0
  219. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/frameworks/lgbm/mlrun_interfaces/__init__.py +0 -0
  220. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/frameworks/lgbm/mlrun_interfaces/booster_mlrun_interface.py +0 -0
  221. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/frameworks/lgbm/mlrun_interfaces/mlrun_interface.py +0 -0
  222. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/frameworks/lgbm/mlrun_interfaces/model_mlrun_interface.py +0 -0
  223. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/frameworks/lgbm/model_handler.py +0 -0
  224. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/frameworks/lgbm/model_server.py +0 -0
  225. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/frameworks/lgbm/utils.py +0 -0
  226. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/frameworks/onnx/__init__.py +0 -0
  227. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/frameworks/onnx/dataset.py +0 -0
  228. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/frameworks/onnx/mlrun_interface.py +0 -0
  229. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/frameworks/onnx/model_handler.py +0 -0
  230. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/frameworks/onnx/model_server.py +0 -0
  231. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/frameworks/parallel_coordinates.py +0 -0
  232. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/frameworks/pytorch/__init__.py +0 -0
  233. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/frameworks/pytorch/callbacks/__init__.py +0 -0
  234. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/frameworks/pytorch/callbacks/callback.py +0 -0
  235. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/frameworks/pytorch/callbacks/logging_callback.py +0 -0
  236. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/frameworks/pytorch/callbacks/mlrun_logging_callback.py +0 -0
  237. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/frameworks/pytorch/callbacks/tensorboard_logging_callback.py +0 -0
  238. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/frameworks/pytorch/callbacks_handler.py +0 -0
  239. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/frameworks/pytorch/mlrun_interface.py +0 -0
  240. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/frameworks/pytorch/model_handler.py +0 -0
  241. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/frameworks/pytorch/model_server.py +0 -0
  242. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/frameworks/pytorch/utils.py +0 -0
  243. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/frameworks/sklearn/__init__.py +0 -0
  244. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/frameworks/sklearn/estimator.py +0 -0
  245. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/frameworks/sklearn/metric.py +0 -0
  246. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/frameworks/sklearn/metrics_library.py +0 -0
  247. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/frameworks/sklearn/mlrun_interface.py +0 -0
  248. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/frameworks/sklearn/model_handler.py +0 -0
  249. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/frameworks/sklearn/utils.py +0 -0
  250. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/frameworks/tf_keras/__init__.py +0 -0
  251. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/frameworks/tf_keras/callbacks/__init__.py +0 -0
  252. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/frameworks/tf_keras/callbacks/logging_callback.py +0 -0
  253. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/frameworks/tf_keras/callbacks/mlrun_logging_callback.py +0 -0
  254. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/frameworks/tf_keras/callbacks/tensorboard_logging_callback.py +0 -0
  255. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/frameworks/tf_keras/mlrun_interface.py +0 -0
  256. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/frameworks/tf_keras/model_handler.py +0 -0
  257. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/frameworks/tf_keras/model_server.py +0 -0
  258. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/frameworks/tf_keras/utils.py +0 -0
  259. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/frameworks/xgboost/__init__.py +0 -0
  260. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/frameworks/xgboost/mlrun_interface.py +0 -0
  261. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/frameworks/xgboost/model_handler.py +0 -0
  262. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/frameworks/xgboost/utils.py +0 -0
  263. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/hub/__init__.py +0 -0
  264. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/hub/module.py +0 -0
  265. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/k8s_utils.py +0 -0
  266. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/launcher/__init__.py +0 -0
  267. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/launcher/base.py +0 -0
  268. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/launcher/client.py +0 -0
  269. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/launcher/factory.py +0 -0
  270. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/launcher/local.py +0 -0
  271. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/launcher/remote.py +0 -0
  272. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/lists.py +0 -0
  273. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/model.py +0 -0
  274. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/model_monitoring/__init__.py +0 -0
  275. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/model_monitoring/api.py +0 -0
  276. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/model_monitoring/applications/__init__.py +0 -0
  277. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/model_monitoring/applications/_application_steps.py +0 -0
  278. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/model_monitoring/applications/base.py +0 -0
  279. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/model_monitoring/applications/context.py +0 -0
  280. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/model_monitoring/applications/evidently/__init__.py +0 -0
  281. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/model_monitoring/applications/evidently/base.py +0 -0
  282. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/model_monitoring/applications/histogram_data_drift.py +0 -0
  283. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/model_monitoring/applications/results.py +0 -0
  284. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/model_monitoring/controller.py +0 -0
  285. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/model_monitoring/db/__init__.py +0 -0
  286. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/model_monitoring/db/_schedules.py +0 -0
  287. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/model_monitoring/db/tsdb/__init__.py +0 -0
  288. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/model_monitoring/db/tsdb/helpers.py +0 -0
  289. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/model_monitoring/db/tsdb/tdengine/__init__.py +0 -0
  290. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/model_monitoring/db/tsdb/tdengine/schemas.py +0 -0
  291. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/model_monitoring/db/tsdb/tdengine/stream_graph_steps.py +0 -0
  292. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/model_monitoring/db/tsdb/tdengine/tdengine_connection.py +0 -0
  293. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/model_monitoring/db/tsdb/v3io/__init__.py +0 -0
  294. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/model_monitoring/db/tsdb/v3io/stream_graph_steps.py +0 -0
  295. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/model_monitoring/features_drift_table.py +0 -0
  296. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/model_monitoring/helpers.py +0 -0
  297. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/model_monitoring/metrics/__init__.py +0 -0
  298. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/model_monitoring/metrics/histogram_distance.py +0 -0
  299. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/model_monitoring/stream_processing.py +0 -0
  300. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/package/__init__.py +0 -0
  301. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/package/context_handler.py +0 -0
  302. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/package/errors.py +0 -0
  303. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/package/packager.py +0 -0
  304. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/package/packagers/__init__.py +0 -0
  305. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/package/packagers/default_packager.py +0 -0
  306. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/package/packagers/numpy_packagers.py +0 -0
  307. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/package/packagers/pandas_packagers.py +0 -0
  308. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/package/packagers/python_standard_library_packagers.py +0 -0
  309. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/package/packagers_manager.py +0 -0
  310. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/package/utils/__init__.py +0 -0
  311. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/package/utils/_archiver.py +0 -0
  312. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/package/utils/_formatter.py +0 -0
  313. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/package/utils/_pickler.py +0 -0
  314. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/package/utils/_supported_format.py +0 -0
  315. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/package/utils/log_hint_utils.py +0 -0
  316. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/package/utils/type_hint_utils.py +0 -0
  317. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/platforms/__init__.py +0 -0
  318. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/platforms/iguazio.py +0 -0
  319. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/projects/__init__.py +0 -0
  320. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/projects/operations.py +0 -0
  321. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/projects/pipelines.py +0 -0
  322. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/render.py +0 -0
  323. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/run.py +0 -0
  324. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/runtimes/__init__.py +0 -0
  325. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/runtimes/base.py +0 -0
  326. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/runtimes/daskjob.py +0 -0
  327. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/runtimes/databricks_job/__init__.py +0 -0
  328. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/runtimes/databricks_job/databricks_cancel_task.py +0 -0
  329. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/runtimes/databricks_job/databricks_runtime.py +0 -0
  330. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/runtimes/databricks_job/databricks_wrapper.py +0 -0
  331. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/runtimes/funcdoc.py +0 -0
  332. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/runtimes/function_reference.py +0 -0
  333. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/runtimes/generators.py +0 -0
  334. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/runtimes/kubejob.py +0 -0
  335. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/runtimes/local.py +0 -0
  336. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/runtimes/mounts.py +0 -0
  337. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/runtimes/mpijob/__init__.py +0 -0
  338. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/runtimes/mpijob/abstract.py +0 -0
  339. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/runtimes/mpijob/v1.py +0 -0
  340. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/runtimes/nuclio/__init__.py +0 -0
  341. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/runtimes/nuclio/api_gateway.py +0 -0
  342. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/runtimes/nuclio/application/__init__.py +0 -0
  343. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/runtimes/nuclio/application/application.py +0 -0
  344. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/runtimes/nuclio/application/reverse_proxy.go +0 -0
  345. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/runtimes/nuclio/nuclio.py +0 -0
  346. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/runtimes/nuclio/serving.py +0 -0
  347. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/runtimes/pod.py +0 -0
  348. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/runtimes/remotesparkjob.py +0 -0
  349. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/runtimes/sparkjob/__init__.py +0 -0
  350. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/runtimes/sparkjob/spark3job.py +0 -0
  351. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/runtimes/utils.py +0 -0
  352. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/secrets.py +0 -0
  353. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/serving/__init__.py +0 -0
  354. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/serving/merger.py +0 -0
  355. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/serving/routers.py +0 -0
  356. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/serving/server.py +0 -0
  357. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/serving/serving_wrapper.py +0 -0
  358. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/serving/system_steps.py +0 -0
  359. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/serving/utils.py +0 -0
  360. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/serving/v1_serving.py +0 -0
  361. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/serving/v2_serving.py +0 -0
  362. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/track/__init__.py +0 -0
  363. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/track/tracker.py +0 -0
  364. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/track/tracker_manager.py +0 -0
  365. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/track/trackers/__init__.py +0 -0
  366. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/track/trackers/mlflow_tracker.py +0 -0
  367. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/utils/__init__.py +0 -0
  368. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/utils/async_http.py +0 -0
  369. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/utils/azure_vault.py +0 -0
  370. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/utils/clones.py +0 -0
  371. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/utils/condition_evaluator.py +0 -0
  372. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/utils/helpers.py +0 -0
  373. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/utils/http.py +0 -0
  374. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/utils/logger.py +0 -0
  375. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/utils/notifications/__init__.py +0 -0
  376. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/utils/notifications/notification/__init__.py +0 -0
  377. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/utils/notifications/notification/base.py +0 -0
  378. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/utils/notifications/notification/console.py +0 -0
  379. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/utils/notifications/notification/git.py +0 -0
  380. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/utils/notifications/notification/ipython.py +0 -0
  381. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/utils/notifications/notification/mail.py +0 -0
  382. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/utils/notifications/notification/slack.py +0 -0
  383. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/utils/notifications/notification/webhook.py +0 -0
  384. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/utils/notifications/notification_pusher.py +0 -0
  385. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/utils/regex.py +0 -0
  386. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/utils/retryer.py +0 -0
  387. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/utils/singleton.py +0 -0
  388. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/utils/v3io_clients.py +0 -0
  389. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/utils/vault.py +0 -0
  390. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/utils/version/__init__.py +0 -0
  391. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun/utils/version/version.py +0 -0
  392. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun.egg-info/dependency_links.txt +0 -0
  393. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun.egg-info/entry_points.txt +0 -0
  394. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun.egg-info/not-zip-safe +0 -0
  395. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/mlrun.egg-info/top_level.txt +0 -0
  396. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/packages.py +0 -0
  397. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/pyproject.toml +0 -0
  398. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/setup.cfg +0 -0
  399. {mlrun-1.10.0rc29 → mlrun-1.10.0rc31}/setup.py +0 -0
@@ -1036,9 +1036,7 @@ upgrade-mlrun-test-deps-lock: ## Upgrade mlrun test locked requirements file
1036
1036
  dockerfiles/test/requirements.txt \
1037
1037
  dev-requirements.txt \
1038
1038
  $(MLRUN_UV_UPGRADE_FLAG) \
1039
- --python-version $(MLRUN_PYTHON_VERSION) \
1040
- --constraint dockerfiles/constraints-py$(MLRUN_PYTHON_VERSION).txt \
1041
- --output-file dockerfiles/test/locked-requirements_${MLRUN_PYTHON_VERSION}.txt
1039
+ --output-file dockerfiles/test/locked-requirements.txt
1042
1040
 
1043
1041
  .PHONY: upgrade-mlrun-system-test-deps-lock
1044
1042
  upgrade-mlrun-system-test-deps-lock: ## Upgrade mlrun system test locked requirements file
@@ -1052,15 +1050,6 @@ upgrade-mlrun-system-test-deps-lock: ## Upgrade mlrun system test locked require
1052
1050
  --output-file dockerfiles/test-system/locked-requirements.txt
1053
1051
 
1054
1052
 
1055
- upgrade-mlrun-test-deps-lock-all: upgrade-mlrun-test-deps-lock-3.11 upgrade-mlrun-test-deps-lock-3.9
1056
-
1057
- upgrade-mlrun-test-deps-lock-3.11:
1058
- $(MAKE) upgrade-mlrun-test-deps-lock MLRUN_PYTHON_VERSION=3.11
1059
-
1060
- upgrade-mlrun-test-deps-lock-3.9:
1061
- $(MAKE) upgrade-mlrun-test-deps-lock MLRUN_PYTHON_VERSION=3.9
1062
-
1063
-
1064
1053
  upgrade-mlrun-kfp-deps-lock: ## Upgrade mlrun-kfp locked requirements file
1065
1054
  uv pip compile \
1066
1055
  requirements.txt \
@@ -1077,7 +1066,7 @@ upgrade-mlrun-deps-lock: ## Upgrade mlrun-* locked requirements file
1077
1066
  upgrade-mlrun-jupyter-deps-lock \
1078
1067
  upgrade-mlrun-gpu-deps-lock \
1079
1068
  upgrade-mlrun-kfp-deps-lock \
1080
- upgrade-mlrun-test-deps-lock-all \
1069
+ upgrade-mlrun-test-deps-lock \
1081
1070
  upgrade-mlrun-system-test-deps-lock
1082
1071
 
1083
1072
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mlrun
3
- Version: 1.10.0rc29
3
+ Version: 1.10.0rc31
4
4
  Summary: Tracking and config of machine learning runs
5
5
  Home-page: https://github.com/mlrun/mlrun
6
6
  Author: Yaron Haviv
@@ -22,7 +22,8 @@ Requires-Python: >=3.9, <3.12
22
22
  Description-Content-Type: text/markdown
23
23
  License-File: LICENSE
24
24
  Requires-Dist: urllib3>=1.26.20
25
- Requires-Dist: v3io-frames>=0.10.16
25
+ Requires-Dist: v3io-frames~=0.10.16; python_version < "3.11"
26
+ Requires-Dist: v3io-frames~=0.13.11; python_version >= "3.11"
26
27
  Requires-Dist: GitPython>=3.1.41,~=3.1
27
28
  Requires-Dist: aiohttp~=3.11
28
29
  Requires-Dist: aiohttp-retry~=2.9
@@ -43,15 +44,15 @@ Requires-Dist: semver~=3.0
43
44
  Requires-Dist: dependency-injector~=4.41
44
45
  Requires-Dist: fsspec<=2025.7.0,>=2025.5.1
45
46
  Requires-Dist: v3iofs~=0.1.17
46
- Requires-Dist: storey~=1.10.13
47
+ Requires-Dist: storey~=1.10.14
47
48
  Requires-Dist: inflection~=0.5.0
48
49
  Requires-Dist: python-dotenv~=1.0
49
50
  Requires-Dist: setuptools>=75.2
50
51
  Requires-Dist: deprecated~=1.2
51
52
  Requires-Dist: jinja2>=3.1.6,~=3.1
52
53
  Requires-Dist: orjson<4,>=3.9.15
53
- Requires-Dist: mlrun-pipelines-kfp-common~=0.5.8
54
- Requires-Dist: mlrun-pipelines-kfp-v1-8~=0.5.7
54
+ Requires-Dist: mlrun-pipelines-kfp-common~=0.5.9
55
+ Requires-Dist: mlrun-pipelines-kfp-v1-8~=0.5.8
55
56
  Requires-Dist: docstring_parser~=0.16
56
57
  Requires-Dist: aiosmtplib~=3.0
57
58
  Requires-Dist: deepdiff<9.0.0,>=8.6.1
@@ -122,7 +123,7 @@ Requires-Dist: timelength~=1.1; extra == "api"
122
123
  Requires-Dist: memray~=1.12; sys_platform != "win32" and extra == "api"
123
124
  Requires-Dist: aiosmtplib~=3.0; extra == "api"
124
125
  Requires-Dist: pydantic<2,>=1; extra == "api"
125
- Requires-Dist: mlrun-pipelines-kfp-v1-8~=0.5.7; extra == "api"
126
+ Requires-Dist: mlrun-pipelines-kfp-v1-8~=0.5.8; extra == "api"
126
127
  Provides-Extra: all
127
128
  Requires-Dist: adlfs==2024.12.0; extra == "all"
128
129
  Requires-Dist: aiobotocore<2.16,>=2.5.0; extra == "all"
@@ -214,7 +215,7 @@ Requires-Dist: igz-mgmt~=0.4.1; extra == "complete-api"
214
215
  Requires-Dist: kafka-python~=2.1.0; extra == "complete-api"
215
216
  Requires-Dist: memray~=1.12; sys_platform != "win32" and extra == "complete-api"
216
217
  Requires-Dist: mlflow~=2.22; extra == "complete-api"
217
- Requires-Dist: mlrun-pipelines-kfp-v1-8~=0.5.7; extra == "complete-api"
218
+ Requires-Dist: mlrun-pipelines-kfp-v1-8~=0.5.8; extra == "complete-api"
218
219
  Requires-Dist: msrest~=0.6.21; extra == "complete-api"
219
220
  Requires-Dist: objgraph~=3.6; extra == "complete-api"
220
221
  Requires-Dist: oss2==2.18.4; extra == "complete-api"
@@ -17,4 +17,4 @@ memray~=1.12; sys_platform != 'win32'
17
17
  aiosmtplib~=3.0
18
18
  # until https://github.com/fastapi/fastapi/issues/10360 is solved
19
19
  pydantic>=1,<2
20
- mlrun-pipelines-kfp-v1-8~=0.5.7
20
+ mlrun-pipelines-kfp-v1-8~=0.5.8
@@ -41,7 +41,7 @@ class LLMPromptArtifactSpec(ArtifactSpec):
41
41
  prompt_template: Optional[list[dict]] = None,
42
42
  prompt_path: Optional[str] = None,
43
43
  prompt_legend: Optional[dict] = None,
44
- model_configuration: Optional[dict] = None,
44
+ invocation_config: Optional[dict] = None,
45
45
  description: Optional[str] = None,
46
46
  target_path: Optional[str] = None,
47
47
  **kwargs,
@@ -68,13 +68,11 @@ class LLMPromptArtifactSpec(ArtifactSpec):
68
68
 
69
69
  self.prompt_template = prompt_template
70
70
  self.prompt_legend = prompt_legend
71
- if model_configuration is not None and not isinstance(
72
- model_configuration, dict
73
- ):
71
+ if invocation_config is not None and not isinstance(invocation_config, dict):
74
72
  raise mlrun.errors.MLRunInvalidArgumentError(
75
73
  "LLMPromptArtifact model_configuration must be a dictionary or None"
76
74
  )
77
- self.model_configuration = model_configuration or {}
75
+ self.model_configuration = invocation_config or {}
78
76
  self.description = description
79
77
  self._model_artifact = (
80
78
  model_artifact
@@ -177,7 +175,7 @@ class LLMPromptArtifact(Artifact):
177
175
  prompt_template: Optional[list[dict]] = None,
178
176
  prompt_path: Optional[str] = None,
179
177
  prompt_legend: Optional[dict] = None,
180
- model_configuration: Optional[dict] = None,
178
+ invocation_config: Optional[dict] = None,
181
179
  description: Optional[str] = None,
182
180
  target_path=None,
183
181
  **kwargs,
@@ -187,7 +185,7 @@ class LLMPromptArtifact(Artifact):
187
185
  prompt_path=prompt_path,
188
186
  prompt_legend=prompt_legend,
189
187
  model_artifact=model_artifact,
190
- model_configuration=model_configuration,
188
+ invocation_config=invocation_config,
191
189
  target_path=target_path,
192
190
  description=description,
193
191
  )
@@ -196,6 +196,10 @@ class WriterEventKind(MonitoringStrEnum):
196
196
  RESULT = "result"
197
197
  STATS = "stats"
198
198
 
199
+ @classmethod
200
+ def user_app_outputs(cls):
201
+ return [cls.METRIC, cls.RESULT]
202
+
199
203
 
200
204
  class ControllerEvent(MonitoringStrEnum):
201
205
  KIND = "kind"
@@ -304,6 +308,7 @@ class FileTargetKind:
304
308
  MONITORING_APPLICATION = "monitoring_application"
305
309
  ERRORS = "errors"
306
310
  STATS = "stats"
311
+ PARQUET_STATS = "parquet_stats"
307
312
  LAST_REQUEST = "last_request"
308
313
 
309
314
 
@@ -649,6 +649,13 @@ default_config = {
649
649
  "max_replicas": 1,
650
650
  },
651
651
  },
652
+ "writer_graph": {
653
+ "max_events": 1000,
654
+ "flush_after_seconds": 30,
655
+ "writer_version": "v1", # v1 is the sync version while v2 is async
656
+ "parquet_batching_max_events": 10,
657
+ "parquet_batching_timeout_secs": 30,
658
+ },
652
659
  # Store prefixes are used to handle model monitoring storing policies based on project and kind, such as events,
653
660
  # stream, and endpoints.
654
661
  "store_prefixes": {
@@ -917,7 +917,7 @@ class MLClientCtx:
917
917
  prompt_path: Optional[str] = None,
918
918
  prompt_legend: Optional[dict] = None,
919
919
  model_artifact: Union[ModelArtifact, str] = None,
920
- model_configuration: Optional[dict] = None,
920
+ invocation_config: Optional[dict] = None,
921
921
  description: Optional[str] = None,
922
922
  target_path: Optional[str] = None,
923
923
  artifact_path: Optional[str] = None,
@@ -997,7 +997,7 @@ class MLClientCtx:
997
997
  with the place-holder name. "description" will point to explanation of what that placeholder represents.
998
998
  Useful for documenting and clarifying dynamic parts of the prompt.
999
999
  :param model_artifact: Reference to the parent model (either `ModelArtifact` or model URI string).
1000
- :param model_configuration: Dictionary of generation parameters (e.g., temperature, max_tokens).
1000
+ :param invocation_config: Dictionary of generation parameters (e.g., temperature, max_tokens).
1001
1001
  :param description: Optional description of the prompt.
1002
1002
  :param target_path: Absolute target path (instead of using artifact_path + local_path)
1003
1003
  :param artifact_path: Target artifact path (when not using the default)
@@ -1023,7 +1023,7 @@ class MLClientCtx:
1023
1023
  prompt_path=prompt_path,
1024
1024
  prompt_legend=prompt_legend,
1025
1025
  model_artifact=model_artifact,
1026
- model_configuration=model_configuration,
1026
+ invocation_config=invocation_config,
1027
1027
  target_path=target_path,
1028
1028
  description=description,
1029
1029
  **kwargs,
@@ -13,6 +13,7 @@
13
13
  # limitations under the License.
14
14
  import abc
15
15
  import json
16
+ import typing
16
17
  from abc import abstractmethod
17
18
  from datetime import datetime, timezone
18
19
  from typing import cast
@@ -73,7 +74,7 @@ class ModelMonitoringStatsFile(abc.ABC):
73
74
  path=self._item.url,
74
75
  )
75
76
 
76
- def read(self) -> tuple[dict, datetime]:
77
+ def read(self) -> tuple[dict, typing.Optional[datetime]]:
77
78
  """
78
79
  Read the stats data and timestamp saved in file
79
80
  :return: tuple[dict, str] dictionary with stats data and timestamp saved in file
@@ -99,13 +100,13 @@ class ModelMonitoringStatsFile(abc.ABC):
99
100
  ):
100
101
  raise
101
102
 
102
- logger.exception(
103
+ logger.warning(
103
104
  "The Stats file was not found. It should have been created "
104
105
  "as a part of the model endpoint's creation",
105
106
  path=self._path,
106
107
  error=err,
107
108
  )
108
- raise
109
+ return {}, None
109
110
 
110
111
  def write(self, stats: dict, timestamp: datetime) -> None:
111
112
  """
@@ -60,6 +60,16 @@ class TSDBConnector(ABC):
60
60
  """
61
61
  pass
62
62
 
63
+ def apply_writer_steps(self, graph, after, **kwargs) -> None:
64
+ """
65
+ Apply TSDB steps on the provided writer graph. Throughout these steps, the graph stores metrics / results.
66
+ This data is being used by mlrun UI and the monitoring dashboards in grafana.
67
+ There are 2 different key metric dictionaries that are being generated throughout these steps:
68
+ - metrics (user-defined metrics) - model monitoring application metrics
69
+ - results (user-defined results) - model monitoring application results
70
+ """
71
+ pass
72
+
63
73
  @abstractmethod
64
74
  def handle_model_error(self, graph, **kwargs) -> None:
65
75
  """
@@ -783,3 +793,6 @@ class TSDBConnector(ABC):
783
793
  )
784
794
  )
785
795
  return mm_schemas.ModelEndpointDriftValues(values=values)
796
+
797
+ def add_pre_writer_steps(self, graph, after):
798
+ return None
@@ -22,6 +22,7 @@ import taosws
22
22
  import mlrun.common.schemas.model_monitoring as mm_schemas
23
23
  import mlrun.common.types
24
24
  import mlrun.model_monitoring.db.tsdb.tdengine.schemas as tdengine_schemas
25
+ from mlrun.config import config
25
26
  from mlrun.datastore.datastore_profile import DatastoreProfile
26
27
  from mlrun.model_monitoring.db import TSDBConnector
27
28
  from mlrun.model_monitoring.db.tsdb.tdengine.tdengine_connection import (
@@ -277,6 +278,65 @@ class TDEngineConnector(TSDBConnector):
277
278
  after="ProcessBeforeTDEngine",
278
279
  )
279
280
 
281
+ def add_pre_writer_steps(self, graph, after):
282
+ return graph.add_step(
283
+ "mlrun.model_monitoring.db.tsdb.tdengine.writer_graph_steps.ProcessBeforeTDEngine",
284
+ name="ProcessBeforeTDEngine",
285
+ after=after,
286
+ )
287
+
288
+ def apply_writer_steps(self, graph, after, **kwargs) -> None:
289
+ graph.add_step(
290
+ "mlrun.datastore.storeytargets.TDEngineStoreyTarget",
291
+ name="tsdb_metrics",
292
+ after=after,
293
+ url=f"ds://{self._tdengine_connection_profile.name}",
294
+ supertable=self.tables[mm_schemas.TDEngineSuperTables.METRICS].super_table,
295
+ table_col=mm_schemas.EventFieldType.TABLE_COLUMN,
296
+ time_col=mm_schemas.WriterEvent.END_INFER_TIME,
297
+ database=self.database,
298
+ graph_shape="cylinder",
299
+ columns=[
300
+ mm_schemas.WriterEvent.START_INFER_TIME,
301
+ mm_schemas.MetricData.METRIC_VALUE,
302
+ ],
303
+ tag_cols=[
304
+ mm_schemas.WriterEvent.ENDPOINT_ID,
305
+ mm_schemas.WriterEvent.APPLICATION_NAME,
306
+ mm_schemas.MetricData.METRIC_NAME,
307
+ ],
308
+ max_events=config.model_endpoint_monitoring.writer_graph.max_events,
309
+ flush_after_seconds=config.model_endpoint_monitoring.writer_graph.flush_after_seconds,
310
+ )
311
+
312
+ graph.add_step(
313
+ "mlrun.datastore.storeytargets.TDEngineStoreyTarget",
314
+ name="tsdb_app_results",
315
+ after=after,
316
+ url=f"ds://{self._tdengine_connection_profile.name}",
317
+ supertable=self.tables[
318
+ mm_schemas.TDEngineSuperTables.APP_RESULTS
319
+ ].super_table,
320
+ table_col=mm_schemas.EventFieldType.TABLE_COLUMN,
321
+ time_col=mm_schemas.WriterEvent.END_INFER_TIME,
322
+ database=self.database,
323
+ graph_shape="cylinder",
324
+ columns=[
325
+ mm_schemas.WriterEvent.START_INFER_TIME,
326
+ mm_schemas.ResultData.RESULT_VALUE,
327
+ mm_schemas.ResultData.RESULT_STATUS,
328
+ mm_schemas.ResultData.RESULT_EXTRA_DATA,
329
+ ],
330
+ tag_cols=[
331
+ mm_schemas.WriterEvent.ENDPOINT_ID,
332
+ mm_schemas.WriterEvent.APPLICATION_NAME,
333
+ mm_schemas.ResultData.RESULT_NAME,
334
+ mm_schemas.ResultData.RESULT_KIND,
335
+ ],
336
+ max_events=config.model_endpoint_monitoring.writer_graph.max_events,
337
+ flush_after_seconds=config.model_endpoint_monitoring.writer_graph.flush_after_seconds,
338
+ )
339
+
280
340
  def handle_model_error(
281
341
  self,
282
342
  graph,
@@ -0,0 +1,51 @@
1
+ # Copyright 2025 Iguazio
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ from datetime import datetime
16
+
17
+ import mlrun.common.schemas.model_monitoring as mm_schemas
18
+ import mlrun.feature_store.steps
19
+ from mlrun.utils import logger
20
+
21
+
22
+ class ProcessBeforeTDEngine(mlrun.feature_store.steps.MapClass):
23
+ def __init__(self, **kwargs):
24
+ """
25
+ Process the data before writing to TDEngine. This step create the table name.
26
+
27
+ :returns: Event as a dictionary which will be written into the TDEngine Metrics/Results tables.
28
+ """
29
+ super().__init__(**kwargs)
30
+
31
+ def do(self, event):
32
+ logger.info("Process event before writing to TDEngine", event=event)
33
+ kind = event.get("kind")
34
+ table_name = (
35
+ f"{event[mm_schemas.WriterEvent.ENDPOINT_ID]}_"
36
+ f"{event[mm_schemas.WriterEvent.APPLICATION_NAME]}"
37
+ )
38
+ if kind == mm_schemas.WriterEventKind.RESULT:
39
+ # Write a new result
40
+ event[mm_schemas.EventFieldType.TABLE_COLUMN] = (
41
+ f"{table_name}_{event[mm_schemas.ResultData.RESULT_NAME]}"
42
+ ).replace("-", "_")
43
+ elif kind == mm_schemas.WriterEventKind.METRIC:
44
+ # Write a new metric
45
+ event[mm_schemas.EventFieldType.TABLE_COLUMN] = (
46
+ f"{table_name}_{event[mm_schemas.MetricData.METRIC_NAME]}"
47
+ ).replace("-", "_")
48
+ event[mm_schemas.WriterEvent.START_INFER_TIME] = datetime.fromisoformat(
49
+ event[mm_schemas.WriterEvent.START_INFER_TIME]
50
+ )
51
+ return event
@@ -25,6 +25,7 @@ import mlrun.common.schemas.model_monitoring as mm_schemas
25
25
  import mlrun.feature_store.steps
26
26
  import mlrun.utils.v3io_clients
27
27
  from mlrun.common.schemas import EventFieldType
28
+ from mlrun.config import config
28
29
  from mlrun.model_monitoring.db import TSDBConnector
29
30
  from mlrun.model_monitoring.helpers import get_invocations_fqn, get_start_end
30
31
  from mlrun.utils import logger
@@ -369,6 +370,49 @@ class V3IOTSDBConnector(TSDBConnector):
369
370
  apply_storey_filter()
370
371
  apply_tsdb_target(name="tsdb3", after="FilterNotNone")
371
372
 
373
+ def apply_writer_steps(self, graph, after, **kwargs) -> None:
374
+ graph.add_step(
375
+ "storey.TSDBTarget",
376
+ name="tsdb_metrics",
377
+ after=after,
378
+ path=f"{self.container}/{self.tables[mm_schemas.V3IOTSDBTables.METRICS]}",
379
+ time_col=mm_schemas.WriterEvent.END_INFER_TIME,
380
+ container=self.container,
381
+ v3io_frames=self.v3io_framesd,
382
+ infer_columns_from_data=True,
383
+ graph_shape="cylinder",
384
+ index_cols=[
385
+ mm_schemas.WriterEvent.APPLICATION_NAME,
386
+ mm_schemas.WriterEvent.ENDPOINT_NAME,
387
+ mm_schemas.WriterEvent.ENDPOINT_ID,
388
+ mm_schemas.MetricData.METRIC_NAME,
389
+ ],
390
+ max_events=config.model_endpoint_monitoring.writer_graph.max_events,
391
+ flush_after_seconds=config.model_endpoint_monitoring.writer_graph.flush_after_seconds,
392
+ key=mm_schemas.EventFieldType.ENDPOINT_ID,
393
+ )
394
+
395
+ graph.add_step(
396
+ "storey.TSDBTarget",
397
+ name="tsdb_app_results",
398
+ after=after,
399
+ path=f"{self.container}/{self.tables[mm_schemas.V3IOTSDBTables.APP_RESULTS]}",
400
+ time_col=mm_schemas.WriterEvent.END_INFER_TIME,
401
+ container=self.container,
402
+ v3io_frames=self.v3io_framesd,
403
+ infer_columns_from_data=True,
404
+ graph_shape="cylinder",
405
+ index_cols=[
406
+ mm_schemas.WriterEvent.APPLICATION_NAME,
407
+ mm_schemas.WriterEvent.ENDPOINT_NAME,
408
+ mm_schemas.WriterEvent.ENDPOINT_ID,
409
+ mm_schemas.ResultData.RESULT_NAME,
410
+ ],
411
+ max_events=config.model_endpoint_monitoring.writer_graph.max_events,
412
+ flush_after_seconds=config.model_endpoint_monitoring.writer_graph.flush_after_seconds,
413
+ key=mm_schemas.EventFieldType.ENDPOINT_ID,
414
+ )
415
+
372
416
  def handle_model_error(
373
417
  self,
374
418
  graph,