mlrun 1.10.0rc19__tar.gz → 1.10.0rc21__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.0rc19 → mlrun-1.10.0rc21}/Makefile +73 -12
- {mlrun-1.10.0rc19/mlrun.egg-info → mlrun-1.10.0rc21}/PKG-INFO +6 -5
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/dockerfiles/mlrun-api/requirements.txt +1 -1
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/common/schemas/function.py +10 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/common/schemas/model_monitoring/constants.py +4 -11
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/common/schemas/model_monitoring/model_endpoints.py +2 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/datastore/model_provider/huggingface_provider.py +109 -20
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/datastore/model_provider/model_provider.py +110 -32
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/datastore/model_provider/openai_provider.py +87 -31
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/db/base.py +0 -19
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/db/httpdb.py +10 -46
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/db/nopdb.py +0 -10
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/launcher/base.py +0 -6
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/model_monitoring/api.py +43 -22
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/model_monitoring/applications/base.py +1 -1
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/model_monitoring/controller.py +112 -38
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/model_monitoring/db/_schedules.py +13 -9
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/model_monitoring/stream_processing.py +16 -12
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/platforms/__init__.py +3 -2
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/projects/project.py +2 -2
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/run.py +38 -5
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/serving/server.py +23 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/serving/states.py +76 -29
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/serving/system_steps.py +60 -36
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/utils/helpers.py +27 -13
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/utils/notifications/notification_pusher.py +1 -1
- mlrun-1.10.0rc21/mlrun/utils/version/version.json +4 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21/mlrun.egg-info}/PKG-INFO +6 -5
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun.egg-info/SOURCES.txt +0 -1
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun.egg-info/requires.txt +5 -4
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/requirements.txt +3 -2
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/setup.py +6 -1
- mlrun-1.10.0rc19/mlrun/api/schemas/__init__.py +0 -259
- mlrun-1.10.0rc19/mlrun/utils/version/version.json +0 -4
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/LICENSE +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/MANIFEST.in +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/README.md +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/dependencies.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/dev-requirements.txt +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/examples/archive.zip +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/examples/function.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/examples/handler.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/examples/infile.txt +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/examples/load-project.ipynb +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/examples/mlrun_basics.ipynb +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/examples/mlrun_dask.ipynb +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/examples/mlrun_db.ipynb +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/examples/mlrun_export_import.ipynb +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/examples/mlrun_jobs.ipynb +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/examples/mlrun_sparkk8s.ipynb +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/examples/mlrun_vault.ipynb +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/examples/model.bst +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/examples/new-project.ipynb +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/examples/nulltst.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/examples/params.csv +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/examples/remote-spark.ipynb +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/examples/secrets.txt +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/examples/spark-function.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/examples/training.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/examples/v2_model_server.ipynb +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/examples/xgb_serving.ipynb +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/extras-requirements.txt +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/__init__.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/__main__.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/alerts/__init__.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/alerts/alert.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/artifacts/__init__.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/artifacts/base.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/artifacts/dataset.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/artifacts/document.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/artifacts/helpers.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/artifacts/llm_prompt.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/artifacts/manager.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/artifacts/model.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/artifacts/plots.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/common/__init__.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/common/constants.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/common/db/__init__.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/common/db/dialects.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/common/formatters/__init__.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/common/formatters/artifact.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/common/formatters/base.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/common/formatters/feature_set.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/common/formatters/function.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/common/formatters/model_endpoint.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/common/formatters/pipeline.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/common/formatters/project.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/common/formatters/run.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/common/helpers.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/common/model_monitoring/__init__.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/common/model_monitoring/helpers.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/common/runtimes/constants.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/common/schemas/__init__.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/common/schemas/alert.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/common/schemas/api_gateway.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/common/schemas/artifact.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/common/schemas/auth.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/common/schemas/background_task.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/common/schemas/client_spec.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/common/schemas/clusterization_spec.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/common/schemas/common.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/common/schemas/constants.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/common/schemas/datastore_profile.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/common/schemas/events.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/common/schemas/feature_store.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/common/schemas/frontend_spec.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/common/schemas/http.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/common/schemas/hub.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/common/schemas/k8s.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/common/schemas/memory_reports.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/common/schemas/model_monitoring/__init__.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/common/schemas/model_monitoring/functions.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/common/schemas/model_monitoring/grafana.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/common/schemas/notification.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/common/schemas/object.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/common/schemas/pagination.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/common/schemas/partition.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/common/schemas/pipeline.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/common/schemas/project.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/common/schemas/regex.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/common/schemas/runs.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/common/schemas/runtime_resource.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/common/schemas/schedule.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/common/schemas/secret.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/common/schemas/serving.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/common/schemas/tag.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/common/schemas/workflow.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/common/secrets.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/common/types.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/config.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/data_types/__init__.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/data_types/data_types.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/data_types/infer.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/data_types/spark.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/data_types/to_pandas.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/datastore/__init__.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/datastore/alibaba_oss.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/datastore/azure_blob.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/datastore/base.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/datastore/datastore.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/datastore/datastore_profile.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/datastore/dbfs_store.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/datastore/filestore.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/datastore/google_cloud_storage.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/datastore/hdfs.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/datastore/inmem.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/datastore/model_provider/__init__.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/datastore/redis.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/datastore/remote_client.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/datastore/s3.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/datastore/snowflake_utils.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/datastore/sources.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/datastore/spark_udf.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/datastore/spark_utils.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/datastore/store_resources.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/datastore/storeytargets.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/datastore/targets.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/datastore/utils.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/datastore/v3io.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/datastore/vectorstore.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/datastore/wasbfs/__init__.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/datastore/wasbfs/fs.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/db/__init__.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/db/auth_utils.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/db/factory.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/errors.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/execution.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/feature_store/__init__.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/feature_store/api.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/feature_store/common.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/feature_store/feature_set.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/feature_store/feature_vector.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/feature_store/feature_vector_utils.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/feature_store/ingestion.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/feature_store/retrieval/__init__.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/feature_store/retrieval/base.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/feature_store/retrieval/dask_merger.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/feature_store/retrieval/job.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/feature_store/retrieval/local_merger.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/feature_store/retrieval/spark_merger.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/feature_store/retrieval/storey_merger.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/feature_store/steps.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/features.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/frameworks/__init__.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/frameworks/_common/__init__.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/frameworks/_common/artifacts_library.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/frameworks/_common/mlrun_interface.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/frameworks/_common/model_handler.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/frameworks/_common/plan.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/frameworks/_common/producer.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/frameworks/_common/utils.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/frameworks/_dl_common/__init__.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/frameworks/_dl_common/loggers/__init__.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/frameworks/_dl_common/loggers/logger.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/frameworks/_dl_common/loggers/mlrun_logger.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/frameworks/_dl_common/loggers/tensorboard_logger.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/frameworks/_dl_common/model_handler.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/frameworks/_dl_common/utils.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/frameworks/_ml_common/__init__.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/frameworks/_ml_common/artifacts_library.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/frameworks/_ml_common/loggers/__init__.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/frameworks/_ml_common/loggers/logger.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/frameworks/_ml_common/loggers/mlrun_logger.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/frameworks/_ml_common/model_handler.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/frameworks/_ml_common/pkl_model_server.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/frameworks/_ml_common/plan.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/frameworks/_ml_common/plans/__init__.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/frameworks/_ml_common/plans/calibration_curve_plan.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/frameworks/_ml_common/plans/confusion_matrix_plan.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/frameworks/_ml_common/plans/dataset_plan.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/frameworks/_ml_common/plans/feature_importance_plan.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/frameworks/_ml_common/plans/roc_curve_plan.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/frameworks/_ml_common/producer.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/frameworks/_ml_common/utils.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/frameworks/auto_mlrun/__init__.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/frameworks/auto_mlrun/auto_mlrun.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/frameworks/huggingface/__init__.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/frameworks/huggingface/model_server.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/frameworks/lgbm/__init__.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/frameworks/lgbm/callbacks/__init__.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/frameworks/lgbm/callbacks/callback.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/frameworks/lgbm/callbacks/logging_callback.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/frameworks/lgbm/callbacks/mlrun_logging_callback.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/frameworks/lgbm/mlrun_interfaces/__init__.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/frameworks/lgbm/mlrun_interfaces/booster_mlrun_interface.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/frameworks/lgbm/mlrun_interfaces/mlrun_interface.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/frameworks/lgbm/mlrun_interfaces/model_mlrun_interface.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/frameworks/lgbm/model_handler.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/frameworks/lgbm/model_server.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/frameworks/lgbm/utils.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/frameworks/onnx/__init__.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/frameworks/onnx/dataset.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/frameworks/onnx/mlrun_interface.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/frameworks/onnx/model_handler.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/frameworks/onnx/model_server.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/frameworks/parallel_coordinates.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/frameworks/pytorch/__init__.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/frameworks/pytorch/callbacks/__init__.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/frameworks/pytorch/callbacks/callback.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/frameworks/pytorch/callbacks/logging_callback.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/frameworks/pytorch/callbacks/mlrun_logging_callback.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/frameworks/pytorch/callbacks/tensorboard_logging_callback.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/frameworks/pytorch/callbacks_handler.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/frameworks/pytorch/mlrun_interface.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/frameworks/pytorch/model_handler.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/frameworks/pytorch/model_server.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/frameworks/pytorch/utils.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/frameworks/sklearn/__init__.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/frameworks/sklearn/estimator.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/frameworks/sklearn/metric.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/frameworks/sklearn/metrics_library.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/frameworks/sklearn/mlrun_interface.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/frameworks/sklearn/model_handler.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/frameworks/sklearn/utils.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/frameworks/tf_keras/__init__.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/frameworks/tf_keras/callbacks/__init__.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/frameworks/tf_keras/callbacks/logging_callback.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/frameworks/tf_keras/callbacks/mlrun_logging_callback.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/frameworks/tf_keras/callbacks/tensorboard_logging_callback.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/frameworks/tf_keras/mlrun_interface.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/frameworks/tf_keras/model_handler.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/frameworks/tf_keras/model_server.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/frameworks/tf_keras/utils.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/frameworks/xgboost/__init__.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/frameworks/xgboost/mlrun_interface.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/frameworks/xgboost/model_handler.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/frameworks/xgboost/utils.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/k8s_utils.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/launcher/__init__.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/launcher/client.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/launcher/factory.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/launcher/local.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/launcher/remote.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/lists.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/model.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/model_monitoring/__init__.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/model_monitoring/applications/__init__.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/model_monitoring/applications/_application_steps.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/model_monitoring/applications/context.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/model_monitoring/applications/evidently/__init__.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/model_monitoring/applications/evidently/base.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/model_monitoring/applications/histogram_data_drift.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/model_monitoring/applications/results.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/model_monitoring/db/__init__.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/model_monitoring/db/_stats.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/model_monitoring/db/tsdb/__init__.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/model_monitoring/db/tsdb/base.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/model_monitoring/db/tsdb/helpers.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/model_monitoring/db/tsdb/tdengine/__init__.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/model_monitoring/db/tsdb/tdengine/schemas.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/model_monitoring/db/tsdb/tdengine/stream_graph_steps.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/model_monitoring/db/tsdb/tdengine/tdengine_connection.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/model_monitoring/db/tsdb/tdengine/tdengine_connector.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/model_monitoring/db/tsdb/v3io/__init__.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/model_monitoring/db/tsdb/v3io/stream_graph_steps.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/model_monitoring/db/tsdb/v3io/v3io_connector.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/model_monitoring/features_drift_table.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/model_monitoring/helpers.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/model_monitoring/metrics/__init__.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/model_monitoring/metrics/histogram_distance.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/model_monitoring/writer.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/package/__init__.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/package/context_handler.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/package/errors.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/package/packager.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/package/packagers/__init__.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/package/packagers/default_packager.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/package/packagers/numpy_packagers.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/package/packagers/pandas_packagers.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/package/packagers/python_standard_library_packagers.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/package/packagers_manager.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/package/utils/__init__.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/package/utils/_archiver.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/package/utils/_formatter.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/package/utils/_pickler.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/package/utils/_supported_format.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/package/utils/log_hint_utils.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/package/utils/type_hint_utils.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/platforms/iguazio.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/projects/__init__.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/projects/operations.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/projects/pipelines.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/render.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/runtimes/__init__.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/runtimes/base.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/runtimes/daskjob.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/runtimes/databricks_job/__init__.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/runtimes/databricks_job/databricks_cancel_task.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/runtimes/databricks_job/databricks_runtime.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/runtimes/databricks_job/databricks_wrapper.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/runtimes/funcdoc.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/runtimes/function_reference.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/runtimes/generators.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/runtimes/kubejob.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/runtimes/local.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/runtimes/mounts.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/runtimes/mpijob/__init__.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/runtimes/mpijob/abstract.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/runtimes/mpijob/v1.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/runtimes/nuclio/__init__.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/runtimes/nuclio/api_gateway.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/runtimes/nuclio/application/__init__.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/runtimes/nuclio/application/application.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/runtimes/nuclio/application/reverse_proxy.go +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/runtimes/nuclio/function.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/runtimes/nuclio/nuclio.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/runtimes/nuclio/serving.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/runtimes/pod.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/runtimes/remotesparkjob.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/runtimes/sparkjob/__init__.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/runtimes/sparkjob/spark3job.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/runtimes/utils.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/secrets.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/serving/__init__.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/serving/merger.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/serving/remote.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/serving/routers.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/serving/serving_wrapper.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/serving/utils.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/serving/v1_serving.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/serving/v2_serving.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/track/__init__.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/track/tracker.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/track/tracker_manager.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/track/trackers/__init__.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/track/trackers/mlflow_tracker.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/utils/__init__.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/utils/async_http.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/utils/azure_vault.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/utils/clones.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/utils/condition_evaluator.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/utils/http.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/utils/logger.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/utils/notifications/__init__.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/utils/notifications/notification/__init__.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/utils/notifications/notification/base.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/utils/notifications/notification/console.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/utils/notifications/notification/git.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/utils/notifications/notification/ipython.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/utils/notifications/notification/mail.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/utils/notifications/notification/slack.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/utils/notifications/notification/webhook.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/utils/regex.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/utils/retryer.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/utils/singleton.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/utils/v3io_clients.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/utils/vault.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/utils/version/__init__.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/utils/version/version.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun.egg-info/dependency_links.txt +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun.egg-info/entry_points.txt +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun.egg-info/not-zip-safe +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun.egg-info/top_level.txt +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/packages.py +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/pyproject.toml +0 -0
- {mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/setup.cfg +0 -0
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
# limitations under the License.
|
|
14
14
|
|
|
15
15
|
# THIS BLOCK IS FOR VARIABLES USER MAY OVERRIDE
|
|
16
|
+
DOCKER_DEFAULT_PLATFORM ?= linux/amd64
|
|
16
17
|
MLRUN_VERSION ?= unstable
|
|
17
18
|
# pip requires the python version to be according to some regex (so "unstable" is not valid for example) this regex only
|
|
18
19
|
# allows us to have free text (like unstable) after the "+". on the contrary in a docker tag "+" is not a valid
|
|
@@ -235,11 +236,20 @@ update-version-file: ## Update the version file
|
|
|
235
236
|
python ./automation/version/version_file.py ensure --mlrun-version $(MLRUN_VERSION)
|
|
236
237
|
|
|
237
238
|
.PHONY: generate-dockerignore
|
|
238
|
-
generate-dockerignore: ## Copies the root .dockerignore and removes
|
|
239
|
+
generate-dockerignore: ## Copies the root .dockerignore and removes test exclusions for test-system
|
|
239
240
|
$(eval TARGET := dockerfiles/${DEST}/Dockerfile.dockerignore)
|
|
240
|
-
@if [ -
|
|
241
|
-
|
|
242
|
-
|
|
241
|
+
@if [ -z "${DEST}" ]; then \
|
|
242
|
+
echo "Error: DEST variable must be set"; \
|
|
243
|
+
exit 1; \
|
|
244
|
+
fi; \
|
|
245
|
+
echo "Generating $(TARGET)..."; \
|
|
246
|
+
temp_file=$$(mktemp); \
|
|
247
|
+
if [ "$(DEST)" = "test-system" ]; then \
|
|
248
|
+
grep -vE '(\*\*/tests|\*\*/env\.yml|\*\*/test-[^/]*\.yml|\*\*/model_monitoring/assets)' .dockerignore > $$temp_file; \
|
|
249
|
+
else \
|
|
250
|
+
sed '/\*\*\/tests/d' .dockerignore > $$temp_file; \
|
|
251
|
+
fi; \
|
|
252
|
+
if [ -f "$(TARGET)" ]; then \
|
|
243
253
|
if cmp -s $$temp_file "$(TARGET)"; then \
|
|
244
254
|
echo "File $(TARGET) already exists and content is identical"; \
|
|
245
255
|
rm $$temp_file; \
|
|
@@ -249,7 +259,7 @@ generate-dockerignore: ## Copies the root .dockerignore and removes the tests pa
|
|
|
249
259
|
mv $$temp_file "$(TARGET)"; \
|
|
250
260
|
fi; \
|
|
251
261
|
else \
|
|
252
|
-
|
|
262
|
+
mv $$temp_file "$(TARGET)"; \
|
|
253
263
|
fi
|
|
254
264
|
|
|
255
265
|
|
|
@@ -292,7 +302,7 @@ MLRUN_CACHE_IMAGE_PUSH_COMMAND := $(if $(and $(MLRUN_DOCKER_CACHE_FROM_TAG),$(ML
|
|
|
292
302
|
DEFAULT_IMAGES += $(MLRUN_IMAGE_NAME_TAGGED)
|
|
293
303
|
|
|
294
304
|
.PHONY: mlrun
|
|
295
|
-
mlrun: update-version-file ## Build mlrun docker image
|
|
305
|
+
mlrun: common-image update-version-file ## Build mlrun docker image
|
|
296
306
|
$(MLRUN_CACHE_IMAGE_PULL_COMMAND)
|
|
297
307
|
docker build \
|
|
298
308
|
--file dockerfiles/mlrun/Dockerfile \
|
|
@@ -300,6 +310,7 @@ mlrun: update-version-file ## Build mlrun docker image
|
|
|
300
310
|
--build-arg MLRUN_PYTHON_VERSION=$(MLRUN_PYTHON_VERSION) \
|
|
301
311
|
--build-arg MLRUN_PIP_VERSION=$(MLRUN_PIP_VERSION) \
|
|
302
312
|
--build-arg MLRUN_UV_IMAGE=$(MLRUN_UV_IMAGE) \
|
|
313
|
+
--build-arg DOCKER_DEFAULT_PLATFORM=$(DOCKER_DEFAULT_PLATFORM) \
|
|
303
314
|
$(MLRUN_IMAGE_DOCKER_CACHE_FROM_FLAG) \
|
|
304
315
|
$(MLRUN_DOCKER_NO_CACHE_FLAG) \
|
|
305
316
|
--tag $(MLRUN_IMAGE_NAME_TAGGED) .
|
|
@@ -325,13 +336,14 @@ MLRUN_KFP_CACHE_IMAGE_PUSH_COMMAND := $(if $(and $(MLRUN_DOCKER_CACHE_FROM_TAG),
|
|
|
325
336
|
DEFAULT_IMAGES += $(MLRUN_KFP_IMAGE_NAME_TAGGED)
|
|
326
337
|
|
|
327
338
|
.PHONY: mlrun-kfp
|
|
328
|
-
mlrun-kfp: update-version-file ## Build mlrun docker image with KFP
|
|
339
|
+
mlrun-kfp: common-image-3.9 update-version-file ## Build mlrun docker image with KFP
|
|
329
340
|
$(MLRUN_KFP_CACHE_IMAGE_PULL_COMMAND)
|
|
330
341
|
docker build \
|
|
331
342
|
--file dockerfiles/mlrun-kfp/Dockerfile \
|
|
332
343
|
--build-arg MLRUN_DOCKER_REGISTRY=$(MLRUN_DOCKER_REGISTRY) \
|
|
333
344
|
--build-arg MLRUN_VERSION=$(MLRUN_VERSION) \
|
|
334
345
|
--build-arg MLRUN_PIP_VERSION=$(MLRUN_PIP_VERSION) \
|
|
346
|
+
--build-arg DOCKER_DEFAULT_PLATFORM=$(DOCKER_DEFAULT_PLATFORM) \
|
|
335
347
|
$(MLRUN_KFP_IMAGE_DOCKER_CACHE_FROM_FLAG) \
|
|
336
348
|
$(MLRUN_DOCKER_NO_CACHE_FLAG) \
|
|
337
349
|
--tag $(MLRUN_KFP_IMAGE_NAME):$(MLRUN_DOCKER_TAG)$(MLRUN_PYTHON_VERSION_SUFFIX) .
|
|
@@ -470,6 +482,49 @@ else
|
|
|
470
482
|
$(MAKE) -C server/go compile-schemas
|
|
471
483
|
endif
|
|
472
484
|
|
|
485
|
+
###############################################################################
|
|
486
|
+
# Common base image
|
|
487
|
+
###############################################################################
|
|
488
|
+
|
|
489
|
+
COMMON_PLATFORM_TAG := $(subst /,_,$(DOCKER_DEFAULT_PLATFORM))
|
|
490
|
+
COMMON_STAMP ?= build/common-image.$(MLRUN_PYTHON_VERSION).$(COMMON_PLATFORM_TAG).stamp
|
|
491
|
+
COMMON_DOCKERFILE := dockerfiles/common/Dockerfile
|
|
492
|
+
COMMON_IMAGE_NAME := mlrun_common_image:$(MLRUN_PYTHON_VERSION)
|
|
493
|
+
|
|
494
|
+
common-image-3.11:
|
|
495
|
+
$(MAKE) common-image MLRUN_PYTHON_VERSION=3.11
|
|
496
|
+
|
|
497
|
+
common-image-3.9:
|
|
498
|
+
$(MAKE) common-image MLRUN_PYTHON_VERSION=3.9
|
|
499
|
+
|
|
500
|
+
# --- Build (cached) ----------------------------------------------------------
|
|
501
|
+
ifeq ($(strip $(MLRUN_NO_CACHE)),)
|
|
502
|
+
common-image: $(COMMON_STAMP)
|
|
503
|
+
|
|
504
|
+
$(COMMON_STAMP): $(COMMON_DOCKERFILE)
|
|
505
|
+
docker build \
|
|
506
|
+
--build-arg MLRUN_PYTHON_VERSION=$(MLRUN_PYTHON_VERSION) \
|
|
507
|
+
--build-arg DOCKER_DEFAULT_PLATFORM=$(DOCKER_DEFAULT_PLATFORM) \
|
|
508
|
+
-f $(COMMON_DOCKERFILE) \
|
|
509
|
+
-t $(COMMON_IMAGE_NAME) . \
|
|
510
|
+
&& mkdir -p $(dir $@) && touch $@
|
|
511
|
+
else # when MLRUN_NO_CACHE is set
|
|
512
|
+
.PHONY: common-image
|
|
513
|
+
common-image:
|
|
514
|
+
docker build \
|
|
515
|
+
--no-cache $(COMMON_DOCKER_ARGS) \
|
|
516
|
+
--build-arg MLRUN_PYTHON_VERSION=$(MLRUN_PYTHON_VERSION) \
|
|
517
|
+
--build-arg DOCKER_DEFAULT_PLATFORM=$(DOCKER_DEFAULT_PLATFORM) \
|
|
518
|
+
-f $(COMMON_DOCKERFILE) \
|
|
519
|
+
-t $(COMMON_IMAGE_NAME) .
|
|
520
|
+
endif
|
|
521
|
+
|
|
522
|
+
.PHONY: clean-common-image
|
|
523
|
+
clean-common-image:
|
|
524
|
+
docker rmi $(COMMON_IMAGE_TAG) || true
|
|
525
|
+
rm -f $(COMMON_STAMP)
|
|
526
|
+
|
|
527
|
+
|
|
473
528
|
MLRUN_API_IMAGE_NAME := $(MLRUN_DOCKER_IMAGE_PREFIX)/mlrun-api
|
|
474
529
|
MLRUN_API_CACHE_IMAGE_NAME := $(MLRUN_CACHE_DOCKER_IMAGE_PREFIX)/mlrun-api
|
|
475
530
|
MLRUN_API_IMAGE_NAME_TAGGED := $(MLRUN_API_IMAGE_NAME):$(MLRUN_DOCKER_TAG)$(MLRUN_PYTHON_VERSION_SUFFIX)
|
|
@@ -479,13 +534,18 @@ MLRUN_API_CACHE_IMAGE_PULL_COMMAND := $(if $(and $(MLRUN_DOCKER_CACHE_FROM_TAG),
|
|
|
479
534
|
MLRUN_API_CACHE_IMAGE_PUSH_COMMAND := $(if $(and $(MLRUN_DOCKER_CACHE_FROM_TAG),$(MLRUN_PUSH_DOCKER_CACHE_IMAGE)),docker tag $(MLRUN_API_IMAGE_NAME_TAGGED) $(MLRUN_API_CACHE_IMAGE_NAME_TAGGED) && docker push $(MLRUN_API_CACHE_IMAGE_NAME_TAGGED),)
|
|
480
535
|
DEFAULT_IMAGES += $(MLRUN_API_IMAGE_NAME_TAGGED)
|
|
481
536
|
|
|
537
|
+
|
|
538
|
+
# The API (and the common image it inherits from) must *always* be built on
|
|
539
|
+
# Python 3.11, regardless of what the rest of the matrix is doing.
|
|
540
|
+
api: export MLRUN_PYTHON_VERSION = 3.11
|
|
482
541
|
.PHONY: api
|
|
483
|
-
api: compile-schemas update-version-file ## Build mlrun-api docker image
|
|
542
|
+
api: common-image-3.11 compile-schemas update-version-file ## Build mlrun-api docker image
|
|
484
543
|
$(MLRUN_API_CACHE_IMAGE_PULL_COMMAND)
|
|
485
544
|
docker build \
|
|
486
545
|
--file dockerfiles/mlrun-api/Dockerfile \
|
|
487
546
|
--build-arg MLRUN_PYTHON_VERSION=$(MLRUN_PYTHON_VERSION) \
|
|
488
547
|
--build-arg MLRUN_UV_IMAGE=$(MLRUN_UV_IMAGE) \
|
|
548
|
+
--build-arg DOCKER_DEFAULT_PLATFORM=$(DOCKER_DEFAULT_PLATFORM) \
|
|
489
549
|
$(MLRUN_API_IMAGE_DOCKER_CACHE_FROM_FLAG) \
|
|
490
550
|
$(MLRUN_DOCKER_NO_CACHE_FLAG) \
|
|
491
551
|
--tag $(MLRUN_API_IMAGE_NAME_TAGGED) .
|
|
@@ -508,7 +568,7 @@ MLRUN_TEST_CACHE_IMAGE_PULL_COMMAND := $(if $(and $(MLRUN_DOCKER_CACHE_FROM_TAG)
|
|
|
508
568
|
MLRUN_TEST_CACHE_IMAGE_PUSH_COMMAND := $(if $(and $(MLRUN_DOCKER_CACHE_FROM_TAG),$(MLRUN_PUSH_DOCKER_CACHE_IMAGE)),docker tag $(MLRUN_TEST_IMAGE_NAME_TAGGED) $(MLRUN_TEST_CACHE_IMAGE_NAME_TAGGED) && docker push $(MLRUN_TEST_CACHE_IMAGE_NAME_TAGGED),)
|
|
509
569
|
|
|
510
570
|
.PHONY: build-test
|
|
511
|
-
build-test: compile-schemas update-version-file ## Build test docker image
|
|
571
|
+
build-test: common-image compile-schemas update-version-file ## Build test docker image
|
|
512
572
|
$(MAKE) generate-dockerignore DEST=test
|
|
513
573
|
$(MLRUN_TEST_CACHE_IMAGE_PULL_COMMAND)
|
|
514
574
|
docker build \
|
|
@@ -517,6 +577,7 @@ build-test: compile-schemas update-version-file ## Build test docker image
|
|
|
517
577
|
--build-arg MLRUN_PIP_VERSION=$(MLRUN_PIP_VERSION) \
|
|
518
578
|
--build-arg MLRUN_PIPELINES_KFP_VERSION=$(MLRUN_PIPELINES_KFP_VERSION) \
|
|
519
579
|
--build-arg MLRUN_UV_VERSION=$(MLRUN_UV_VERSION) \
|
|
580
|
+
--build-arg DOCKER_DEFAULT_PLATFORM=$(DOCKER_DEFAULT_PLATFORM) \
|
|
520
581
|
$(MLRUN_TEST_IMAGE_DOCKER_CACHE_FROM_FLAG) \
|
|
521
582
|
$(MLRUN_DOCKER_NO_CACHE_FLAG) \
|
|
522
583
|
--tag $(MLRUN_TEST_IMAGE_NAME_TAGGED) .
|
|
@@ -529,13 +590,13 @@ push-test: build-test ## Push test docker image
|
|
|
529
590
|
MLRUN_SYSTEM_TEST_IMAGE_NAME := $(MLRUN_DOCKER_IMAGE_PREFIX)/test-system:$(MLRUN_DOCKER_TAG)
|
|
530
591
|
|
|
531
592
|
.PHONY: build-test-system
|
|
532
|
-
build-test-system: compile-schemas update-version-file ## Build system tests docker image
|
|
593
|
+
build-test-system: common-image compile-schemas update-version-file ## Build system tests docker image
|
|
533
594
|
$(MAKE) generate-dockerignore DEST=test-system
|
|
534
595
|
docker build \
|
|
535
596
|
--file dockerfiles/test-system/Dockerfile \
|
|
536
|
-
--build-arg MLRUN_PYTHON_VERSION=$(MLRUN_PYTHON_VERSION) \
|
|
537
597
|
--build-arg MLRUN_PIP_VERSION=$(MLRUN_PIP_VERSION) \
|
|
538
598
|
--build-arg MLRUN_UV_VERSION=$(MLRUN_UV_VERSION) \
|
|
599
|
+
--build-arg DOCKER_DEFAULT_PLATFORM=$(DOCKER_DEFAULT_PLATFORM) \
|
|
539
600
|
$(MLRUN_DOCKER_NO_CACHE_FLAG) \
|
|
540
601
|
--tag $(MLRUN_SYSTEM_TEST_IMAGE_NAME) .
|
|
541
602
|
|
|
@@ -619,7 +680,7 @@ test: clean ## Run mlrun tests
|
|
|
619
680
|
|
|
620
681
|
|
|
621
682
|
.PHONY: test-integration-dockerized
|
|
622
|
-
test-integration-dockerized: build-test ## Run mlrun integration tests in docker container
|
|
683
|
+
test-integration-dockerized: build-test api ## Run mlrun integration tests in docker container, some tests require the api image to be built
|
|
623
684
|
COVERAGE_MOUNT_PATH="/tmp/coverage_reports/integration_tests" ;\
|
|
624
685
|
$(SETUP_COVERAGE_MOUNTING) && \
|
|
625
686
|
docker run \
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: mlrun
|
|
3
|
-
Version: 1.10.
|
|
3
|
+
Version: 1.10.0rc21
|
|
4
4
|
Summary: Tracking and config of machine learning runs
|
|
5
5
|
Home-page: https://github.com/mlrun/mlrun
|
|
6
6
|
Author: Yaron Haviv
|
|
@@ -21,7 +21,8 @@ Classifier: Topic :: Software Development :: Libraries
|
|
|
21
21
|
Requires-Python: >=3.9, <3.12
|
|
22
22
|
Description-Content-Type: text/markdown
|
|
23
23
|
License-File: LICENSE
|
|
24
|
-
Requires-Dist: urllib3
|
|
24
|
+
Requires-Dist: urllib3>=1.26.20; python_version < "3.11"
|
|
25
|
+
Requires-Dist: urllib3>=2.5.0; python_version >= "3.11"
|
|
25
26
|
Requires-Dist: GitPython>=3.1.41,~=3.1
|
|
26
27
|
Requires-Dist: aiohttp~=3.11
|
|
27
28
|
Requires-Dist: aiohttp-retry~=2.9
|
|
@@ -44,7 +45,7 @@ Requires-Dist: semver~=3.0
|
|
|
44
45
|
Requires-Dist: dependency-injector~=4.41
|
|
45
46
|
Requires-Dist: fsspec<2024.7,>=2023.9.2
|
|
46
47
|
Requires-Dist: v3iofs~=0.1.17
|
|
47
|
-
Requires-Dist: storey~=1.10.
|
|
48
|
+
Requires-Dist: storey~=1.10.10
|
|
48
49
|
Requires-Dist: inflection~=0.5.0
|
|
49
50
|
Requires-Dist: python-dotenv~=1.0
|
|
50
51
|
Requires-Dist: setuptools>=75.2
|
|
@@ -112,7 +113,7 @@ Requires-Dist: apscheduler<4,>=3.11; extra == "api"
|
|
|
112
113
|
Requires-Dist: objgraph~=3.6; extra == "api"
|
|
113
114
|
Requires-Dist: igz-mgmt~=0.4.1; extra == "api"
|
|
114
115
|
Requires-Dist: humanfriendly~=10.0; extra == "api"
|
|
115
|
-
Requires-Dist: fastapi~=0.
|
|
116
|
+
Requires-Dist: fastapi~=0.116.0; extra == "api"
|
|
116
117
|
Requires-Dist: sqlalchemy~=2.0; extra == "api"
|
|
117
118
|
Requires-Dist: sqlalchemy-utils~=0.41.2; extra == "api"
|
|
118
119
|
Requires-Dist: pymysql~=1.1; extra == "api"
|
|
@@ -203,7 +204,7 @@ Requires-Dist: dask~=2024.12.1; python_version >= "3.11" and extra == "complete-
|
|
|
203
204
|
Requires-Dist: databricks-sdk~=0.20.0; extra == "complete-api"
|
|
204
205
|
Requires-Dist: distributed~=2023.12.1; python_version < "3.11" and extra == "complete-api"
|
|
205
206
|
Requires-Dist: distributed~=2024.12.1; python_version >= "3.11" and extra == "complete-api"
|
|
206
|
-
Requires-Dist: fastapi~=0.
|
|
207
|
+
Requires-Dist: fastapi~=0.116.0; extra == "complete-api"
|
|
207
208
|
Requires-Dist: gcsfs<2024.7,>=2023.9.2; extra == "complete-api"
|
|
208
209
|
Requires-Dist: google-cloud-bigquery-storage~=2.17; extra == "complete-api"
|
|
209
210
|
Requires-Dist: google-cloud-bigquery[bqstorage,pandas]==3.14.1; extra == "complete-api"
|
|
@@ -114,11 +114,21 @@ class StateThresholds(pydantic.v1.BaseModel):
|
|
|
114
114
|
default: typing.Optional[dict[str, str]]
|
|
115
115
|
|
|
116
116
|
|
|
117
|
+
class Backoff(pydantic.v1.BaseModel):
|
|
118
|
+
default_base_delay: typing.Optional[str]
|
|
119
|
+
min_base_delay: typing.Optional[str]
|
|
120
|
+
|
|
121
|
+
|
|
122
|
+
class RetrySpec(pydantic.v1.BaseModel):
|
|
123
|
+
backoff: Backoff
|
|
124
|
+
|
|
125
|
+
|
|
117
126
|
class FunctionSpec(pydantic.v1.BaseModel):
|
|
118
127
|
image_pull_secret: typing.Optional[ImagePullSecret]
|
|
119
128
|
security_context: typing.Optional[SecurityContext]
|
|
120
129
|
service_account: typing.Optional[ServiceAccount]
|
|
121
130
|
state_thresholds: typing.Optional[StateThresholds]
|
|
131
|
+
retry: typing.Optional[RetrySpec]
|
|
122
132
|
|
|
123
133
|
class Config:
|
|
124
134
|
extra = pydantic.v1.Extra.allow
|
|
@@ -34,6 +34,7 @@ class ModelEndpointSchema(MonitoringStrEnum):
|
|
|
34
34
|
UID = "uid"
|
|
35
35
|
PROJECT = "project"
|
|
36
36
|
ENDPOINT_TYPE = "endpoint_type"
|
|
37
|
+
MODE = "mode"
|
|
37
38
|
NAME = "name"
|
|
38
39
|
CREATED = "created"
|
|
39
40
|
UPDATED = "updated"
|
|
@@ -326,18 +327,10 @@ class EndpointType(IntEnum):
|
|
|
326
327
|
def top_level_list(cls):
|
|
327
328
|
return [cls.NODE_EP, cls.ROUTER, cls.BATCH_EP]
|
|
328
329
|
|
|
329
|
-
@classmethod
|
|
330
|
-
def real_time_list(cls):
|
|
331
|
-
return [cls.NODE_EP, cls.ROUTER, cls.LEAF_EP]
|
|
332
|
-
|
|
333
|
-
@classmethod
|
|
334
|
-
def batch_list(cls):
|
|
335
|
-
return [cls.BATCH_EP]
|
|
336
330
|
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
BATCH = "batch"
|
|
331
|
+
class EndpointMode(IntEnum):
|
|
332
|
+
REAL_TIME = 0
|
|
333
|
+
BATCH = 1
|
|
341
334
|
|
|
342
335
|
|
|
343
336
|
class MonitoringFunctionNames(MonitoringStrEnum):
|
{mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/common/schemas/model_monitoring/model_endpoints.py
RENAMED
|
@@ -28,6 +28,7 @@ from .constants import (
|
|
|
28
28
|
FQN_REGEX,
|
|
29
29
|
MODEL_ENDPOINT_ID_PATTERN,
|
|
30
30
|
PROJECT_PATTERN,
|
|
31
|
+
EndpointMode,
|
|
31
32
|
EndpointType,
|
|
32
33
|
ModelEndpointMonitoringMetricType,
|
|
33
34
|
ModelMonitoringMode,
|
|
@@ -118,6 +119,7 @@ class ModelEndpointMetadata(ObjectMetadata, ModelEndpointParser):
|
|
|
118
119
|
project: constr(regex=PROJECT_PATTERN)
|
|
119
120
|
endpoint_type: EndpointType = EndpointType.NODE_EP
|
|
120
121
|
uid: Optional[constr(regex=MODEL_ENDPOINT_ID_PATTERN)]
|
|
122
|
+
mode: EndpointMode = EndpointMode.REAL_TIME
|
|
121
123
|
|
|
122
124
|
@classmethod
|
|
123
125
|
def mutable_fields(cls):
|
{mlrun-1.10.0rc19 → mlrun-1.10.0rc21}/mlrun/datastore/model_provider/huggingface_provider.py
RENAMED
|
@@ -15,7 +15,11 @@
|
|
|
15
15
|
from typing import TYPE_CHECKING, Any, Optional, Union
|
|
16
16
|
|
|
17
17
|
import mlrun
|
|
18
|
-
from mlrun.datastore.model_provider.model_provider import
|
|
18
|
+
from mlrun.datastore.model_provider.model_provider import (
|
|
19
|
+
InvokeResponseFormat,
|
|
20
|
+
ModelProvider,
|
|
21
|
+
UsageResponseKeys,
|
|
22
|
+
)
|
|
19
23
|
|
|
20
24
|
if TYPE_CHECKING:
|
|
21
25
|
from transformers.pipelines.base import Pipeline
|
|
@@ -61,15 +65,18 @@ class HuggingFaceProvider(ModelProvider):
|
|
|
61
65
|
self.load_client()
|
|
62
66
|
|
|
63
67
|
@staticmethod
|
|
64
|
-
def _extract_string_output(
|
|
68
|
+
def _extract_string_output(response: list[dict]) -> str:
|
|
65
69
|
"""
|
|
66
70
|
Extracts the first generated string from Hugging Face pipeline output,
|
|
67
71
|
regardless of whether it's plain text-generation or chat-style output.
|
|
68
72
|
"""
|
|
69
|
-
if not isinstance(
|
|
73
|
+
if not isinstance(response, list) or len(response) == 0:
|
|
70
74
|
raise ValueError("Empty or invalid pipeline output")
|
|
71
|
-
|
|
72
|
-
|
|
75
|
+
if len(response) != 1:
|
|
76
|
+
raise mlrun.errors.MLRunInvalidArgumentError(
|
|
77
|
+
"HuggingFaceProvider: extracting string from response is only supported for single-response outputs"
|
|
78
|
+
)
|
|
79
|
+
return response[0].get("generated_text")
|
|
73
80
|
|
|
74
81
|
@classmethod
|
|
75
82
|
def parse_endpoint_and_path(cls, endpoint, subpath) -> (str, str):
|
|
@@ -79,6 +86,68 @@ class HuggingFaceProvider(ModelProvider):
|
|
|
79
86
|
subpath = ""
|
|
80
87
|
return endpoint, subpath
|
|
81
88
|
|
|
89
|
+
def _response_handler(
|
|
90
|
+
self,
|
|
91
|
+
response: Union[str, list],
|
|
92
|
+
invoke_response_format: InvokeResponseFormat = InvokeResponseFormat.FULL,
|
|
93
|
+
messages: Union[str, list[str], "ChatType", list["ChatType"]] = None,
|
|
94
|
+
**kwargs,
|
|
95
|
+
) -> Union[str, list, dict[str, Any]]:
|
|
96
|
+
"""
|
|
97
|
+
Same as `ModelProvider._response_handler`.
|
|
98
|
+
|
|
99
|
+
* Expected to receive the response with `return_full_text=False`.
|
|
100
|
+
|
|
101
|
+
:param messages: Same as in `ModelProvider._response_handler`.
|
|
102
|
+
:param response: Same as in `ModelProvider._response_handler`.
|
|
103
|
+
:param invoke_response_format: Same as in `ModelProvider._response_handler`, in full and string modes.
|
|
104
|
+
|
|
105
|
+
For usage mode, generate 3 statistics:
|
|
106
|
+
prompt_tokens, completion_tokens and total_tokens.
|
|
107
|
+
|
|
108
|
+
NOTE: Token counts are estimated after answer generation and
|
|
109
|
+
may differ from the actual tokens generated by the model due to
|
|
110
|
+
internal decoding behavior and implementation details.
|
|
111
|
+
|
|
112
|
+
:param kwargs: Same as in `ModelProvider._response_handler`.
|
|
113
|
+
|
|
114
|
+
:return: The result formatted according to the `invoke_response_format`.
|
|
115
|
+
|
|
116
|
+
:raises MLRunInvalidArgumentError: If extracting the string response fails.
|
|
117
|
+
:raises MLRunRuntimeError: If applying the chat template to the model fails.
|
|
118
|
+
"""
|
|
119
|
+
if InvokeResponseFormat.is_str_response(invoke_response_format.value):
|
|
120
|
+
str_response = self._extract_string_output(response)
|
|
121
|
+
if invoke_response_format == InvokeResponseFormat.STRING:
|
|
122
|
+
return str_response
|
|
123
|
+
if invoke_response_format == InvokeResponseFormat.USAGE:
|
|
124
|
+
tokenizer = self.client.tokenizer
|
|
125
|
+
if not isinstance(messages, str):
|
|
126
|
+
try:
|
|
127
|
+
messages = tokenizer.apply_chat_template(
|
|
128
|
+
messages, tokenize=False, add_generation_prompt=True
|
|
129
|
+
)
|
|
130
|
+
except Exception as e:
|
|
131
|
+
raise mlrun.errors.MLRunRuntimeError(
|
|
132
|
+
f"Failed to apply chat template using the tokenizer for model '{self.model}'. "
|
|
133
|
+
"This may indicate that the tokenizer does not support chat formatting, "
|
|
134
|
+
"or that the input format is invalid. "
|
|
135
|
+
f"Original error: {e}"
|
|
136
|
+
)
|
|
137
|
+
prompt_tokens = len(tokenizer.encode(messages))
|
|
138
|
+
completion_tokens = len(tokenizer.encode(str_response))
|
|
139
|
+
total_tokens = prompt_tokens + completion_tokens
|
|
140
|
+
usage = {
|
|
141
|
+
"prompt_tokens": prompt_tokens,
|
|
142
|
+
"completion_tokens": completion_tokens,
|
|
143
|
+
"total_tokens": total_tokens,
|
|
144
|
+
}
|
|
145
|
+
response = {
|
|
146
|
+
UsageResponseKeys.ANSWER: str_response,
|
|
147
|
+
UsageResponseKeys.USAGE: usage,
|
|
148
|
+
}
|
|
149
|
+
return response
|
|
150
|
+
|
|
82
151
|
def load_client(self) -> None:
|
|
83
152
|
"""
|
|
84
153
|
Initializes the Hugging Face pipeline using the provided options.
|
|
@@ -89,7 +158,7 @@ class HuggingFaceProvider(ModelProvider):
|
|
|
89
158
|
|
|
90
159
|
Note: Hugging Face pipelines are synchronous and do not support async invocation.
|
|
91
160
|
|
|
92
|
-
|
|
161
|
+
:raises:
|
|
93
162
|
ImportError: If the `transformers` package is not installed.
|
|
94
163
|
"""
|
|
95
164
|
try:
|
|
@@ -148,35 +217,55 @@ class HuggingFaceProvider(ModelProvider):
|
|
|
148
217
|
|
|
149
218
|
def invoke(
|
|
150
219
|
self,
|
|
151
|
-
messages: Union[str, list[str], "ChatType", list["ChatType"]]
|
|
152
|
-
|
|
220
|
+
messages: Union[str, list[str], "ChatType", list["ChatType"]],
|
|
221
|
+
invoke_response_format: InvokeResponseFormat = InvokeResponseFormat.FULL,
|
|
153
222
|
**invoke_kwargs,
|
|
154
|
-
) -> Union[str, list]:
|
|
223
|
+
) -> Union[str, list, dict[str, Any]]:
|
|
155
224
|
"""
|
|
156
225
|
HuggingFace-specific implementation of `ModelProvider.invoke`.
|
|
157
226
|
Invokes a HuggingFace model operation using the synchronous client.
|
|
158
|
-
For
|
|
227
|
+
For full details, see `ModelProvider.invoke`.
|
|
159
228
|
|
|
160
229
|
:param messages:
|
|
161
|
-
|
|
230
|
+
Same as `ModelProvider.invoke`.
|
|
162
231
|
|
|
163
|
-
:param
|
|
164
|
-
|
|
165
|
-
**single-response output** — intended for use cases where you expect exactly one result.
|
|
232
|
+
:param invoke_response_format: InvokeResponseFormat
|
|
233
|
+
Specifies the format of the returned response. Options:
|
|
166
234
|
|
|
167
|
-
|
|
235
|
+
- "string": Returns only the generated text content, extracted from a single response.
|
|
236
|
+
- "usage": Combines the generated text with metadata (e.g., token usage), returning a dictionary:
|
|
237
|
+
|
|
238
|
+
.. code-block:: json
|
|
239
|
+
{
|
|
240
|
+
"answer": "<generated_text>",
|
|
241
|
+
"usage": {
|
|
242
|
+
"prompt_tokens": <int>,
|
|
243
|
+
"completion_tokens": <int>,
|
|
244
|
+
"total_tokens": <int>
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
|
|
248
|
+
- "full": Returns the raw response object from the HuggingFace model,
|
|
249
|
+
typically a list of generated sequences (dictionaries).
|
|
250
|
+
This format does not include token usage statistics.
|
|
168
251
|
|
|
169
252
|
:param invoke_kwargs:
|
|
170
|
-
|
|
171
|
-
|
|
253
|
+
Additional keyword arguments passed to the HuggingFace client. Same as in `ModelProvider.invoke`.
|
|
254
|
+
|
|
255
|
+
:return:
|
|
256
|
+
A string, dictionary, or list of model outputs, depending on `invoke_response_format`.
|
|
172
257
|
"""
|
|
258
|
+
|
|
173
259
|
if self.client.task != "text-generation":
|
|
174
260
|
raise mlrun.errors.MLRunInvalidArgumentError(
|
|
175
261
|
"HuggingFaceProvider.invoke supports text-generation task only"
|
|
176
262
|
)
|
|
177
|
-
if
|
|
263
|
+
if InvokeResponseFormat.is_str_response(invoke_response_format.value):
|
|
178
264
|
invoke_kwargs["return_full_text"] = False
|
|
179
265
|
response = self.custom_invoke(text_inputs=messages, **invoke_kwargs)
|
|
180
|
-
|
|
181
|
-
|
|
266
|
+
response = self._response_handler(
|
|
267
|
+
messages=messages,
|
|
268
|
+
response=response,
|
|
269
|
+
invoke_response_format=invoke_response_format,
|
|
270
|
+
)
|
|
182
271
|
return response
|