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