mlrun 1.10.0rc34__tar.gz → 1.10.0rc35__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.0rc34/mlrun.egg-info → mlrun-1.10.0rc35}/PKG-INFO +2 -2
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/dependencies.py +1 -1
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/common/schemas/__init__.py +1 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/common/schemas/model_monitoring/__init__.py +1 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/model_monitoring/applications/base.py +88 -54
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/run.py +26 -18
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/runtimes/nuclio/application/application.py +6 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/serving/server.py +2 -13
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/utils/helpers.py +30 -3
- mlrun-1.10.0rc35/mlrun/utils/version/version.json +4 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35/mlrun.egg-info}/PKG-INFO +2 -2
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun.egg-info/requires.txt +1 -1
- mlrun-1.10.0rc34/mlrun/utils/version/version.json +0 -4
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/LICENSE +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/MANIFEST.in +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/Makefile +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/README.md +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/dev-requirements.txt +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/dockerfiles/mlrun-api/requirements.txt +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/examples/archive.zip +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/examples/function.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/examples/handler.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/examples/infile.txt +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/examples/load-project.ipynb +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/examples/mlrun_basics.ipynb +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/examples/mlrun_dask.ipynb +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/examples/mlrun_db.ipynb +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/examples/mlrun_export_import.ipynb +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/examples/mlrun_jobs.ipynb +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/examples/mlrun_sparkk8s.ipynb +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/examples/mlrun_vault.ipynb +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/examples/model.bst +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/examples/new-project.ipynb +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/examples/nulltst.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/examples/params.csv +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/examples/remote-spark.ipynb +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/examples/secrets.txt +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/examples/spark-function.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/examples/training.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/examples/v2_model_server.ipynb +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/examples/xgb_serving.ipynb +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/extras-requirements.txt +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/__init__.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/__main__.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/alerts/__init__.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/alerts/alert.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/artifacts/__init__.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/artifacts/base.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/artifacts/dataset.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/artifacts/document.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/artifacts/helpers.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/artifacts/llm_prompt.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/artifacts/manager.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/artifacts/model.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/artifacts/plots.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/common/__init__.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/common/constants.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/common/db/__init__.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/common/db/dialects.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/common/formatters/__init__.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/common/formatters/artifact.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/common/formatters/base.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/common/formatters/feature_set.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/common/formatters/function.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/common/formatters/model_endpoint.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/common/formatters/pipeline.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/common/formatters/project.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/common/formatters/run.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/common/helpers.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/common/model_monitoring/__init__.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/common/model_monitoring/helpers.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/common/runtimes/constants.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/common/schemas/alert.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/common/schemas/api_gateway.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/common/schemas/artifact.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/common/schemas/auth.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/common/schemas/background_task.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/common/schemas/client_spec.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/common/schemas/clusterization_spec.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/common/schemas/common.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/common/schemas/constants.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/common/schemas/datastore_profile.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/common/schemas/events.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/common/schemas/feature_store.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/common/schemas/frontend_spec.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/common/schemas/function.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/common/schemas/http.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/common/schemas/hub.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/common/schemas/k8s.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/common/schemas/memory_reports.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/common/schemas/model_monitoring/constants.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/common/schemas/model_monitoring/functions.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/common/schemas/model_monitoring/grafana.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/common/schemas/model_monitoring/model_endpoints.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/common/schemas/notification.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/common/schemas/object.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/common/schemas/pagination.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/common/schemas/partition.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/common/schemas/pipeline.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/common/schemas/project.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/common/schemas/regex.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/common/schemas/runs.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/common/schemas/runtime_resource.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/common/schemas/schedule.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/common/schemas/secret.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/common/schemas/serving.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/common/schemas/tag.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/common/schemas/workflow.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/common/secrets.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/common/types.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/config.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/data_types/__init__.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/data_types/data_types.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/data_types/infer.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/data_types/spark.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/data_types/to_pandas.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/datastore/__init__.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/datastore/alibaba_oss.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/datastore/azure_blob.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/datastore/base.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/datastore/datastore.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/datastore/datastore_profile.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/datastore/dbfs_store.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/datastore/filestore.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/datastore/google_cloud_storage.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/datastore/hdfs.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/datastore/inmem.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/datastore/model_provider/__init__.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/datastore/model_provider/huggingface_provider.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/datastore/model_provider/mock_model_provider.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/datastore/model_provider/model_provider.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/datastore/model_provider/openai_provider.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/datastore/redis.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/datastore/remote_client.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/datastore/s3.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/datastore/snowflake_utils.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/datastore/sources.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/datastore/spark_udf.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/datastore/spark_utils.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/datastore/store_resources.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/datastore/storeytargets.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/datastore/targets.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/datastore/utils.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/datastore/v3io.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/datastore/vectorstore.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/datastore/wasbfs/__init__.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/datastore/wasbfs/fs.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/db/__init__.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/db/auth_utils.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/db/base.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/db/factory.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/db/httpdb.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/db/nopdb.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/errors.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/execution.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/feature_store/__init__.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/feature_store/api.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/feature_store/common.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/feature_store/feature_set.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/feature_store/feature_vector.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/feature_store/feature_vector_utils.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/feature_store/ingestion.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/feature_store/retrieval/__init__.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/feature_store/retrieval/base.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/feature_store/retrieval/dask_merger.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/feature_store/retrieval/job.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/feature_store/retrieval/local_merger.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/feature_store/retrieval/spark_merger.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/feature_store/retrieval/storey_merger.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/feature_store/steps.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/features.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/frameworks/__init__.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/frameworks/_common/__init__.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/frameworks/_common/artifacts_library.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/frameworks/_common/mlrun_interface.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/frameworks/_common/model_handler.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/frameworks/_common/plan.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/frameworks/_common/producer.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/frameworks/_common/utils.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/frameworks/_dl_common/__init__.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/frameworks/_dl_common/loggers/__init__.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/frameworks/_dl_common/loggers/logger.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/frameworks/_dl_common/loggers/mlrun_logger.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/frameworks/_dl_common/loggers/tensorboard_logger.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/frameworks/_dl_common/model_handler.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/frameworks/_dl_common/utils.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/frameworks/_ml_common/__init__.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/frameworks/_ml_common/artifacts_library.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/frameworks/_ml_common/loggers/__init__.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/frameworks/_ml_common/loggers/logger.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/frameworks/_ml_common/loggers/mlrun_logger.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/frameworks/_ml_common/model_handler.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/frameworks/_ml_common/pkl_model_server.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/frameworks/_ml_common/plan.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/frameworks/_ml_common/plans/__init__.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/frameworks/_ml_common/plans/calibration_curve_plan.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/frameworks/_ml_common/plans/confusion_matrix_plan.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/frameworks/_ml_common/plans/dataset_plan.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/frameworks/_ml_common/plans/feature_importance_plan.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/frameworks/_ml_common/plans/roc_curve_plan.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/frameworks/_ml_common/producer.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/frameworks/_ml_common/utils.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/frameworks/auto_mlrun/__init__.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/frameworks/auto_mlrun/auto_mlrun.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/frameworks/huggingface/__init__.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/frameworks/huggingface/model_server.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/frameworks/lgbm/__init__.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/frameworks/lgbm/callbacks/__init__.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/frameworks/lgbm/callbacks/callback.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/frameworks/lgbm/callbacks/logging_callback.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/frameworks/lgbm/callbacks/mlrun_logging_callback.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/frameworks/lgbm/mlrun_interfaces/__init__.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/frameworks/lgbm/mlrun_interfaces/booster_mlrun_interface.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/frameworks/lgbm/mlrun_interfaces/mlrun_interface.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/frameworks/lgbm/mlrun_interfaces/model_mlrun_interface.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/frameworks/lgbm/model_handler.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/frameworks/lgbm/model_server.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/frameworks/lgbm/utils.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/frameworks/onnx/__init__.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/frameworks/onnx/dataset.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/frameworks/onnx/mlrun_interface.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/frameworks/onnx/model_handler.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/frameworks/onnx/model_server.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/frameworks/parallel_coordinates.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/frameworks/pytorch/__init__.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/frameworks/pytorch/callbacks/__init__.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/frameworks/pytorch/callbacks/callback.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/frameworks/pytorch/callbacks/logging_callback.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/frameworks/pytorch/callbacks/mlrun_logging_callback.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/frameworks/pytorch/callbacks/tensorboard_logging_callback.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/frameworks/pytorch/callbacks_handler.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/frameworks/pytorch/mlrun_interface.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/frameworks/pytorch/model_handler.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/frameworks/pytorch/model_server.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/frameworks/pytorch/utils.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/frameworks/sklearn/__init__.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/frameworks/sklearn/estimator.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/frameworks/sklearn/metric.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/frameworks/sklearn/metrics_library.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/frameworks/sklearn/mlrun_interface.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/frameworks/sklearn/model_handler.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/frameworks/sklearn/utils.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/frameworks/tf_keras/__init__.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/frameworks/tf_keras/callbacks/__init__.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/frameworks/tf_keras/callbacks/logging_callback.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/frameworks/tf_keras/callbacks/mlrun_logging_callback.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/frameworks/tf_keras/callbacks/tensorboard_logging_callback.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/frameworks/tf_keras/mlrun_interface.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/frameworks/tf_keras/model_handler.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/frameworks/tf_keras/model_server.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/frameworks/tf_keras/utils.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/frameworks/xgboost/__init__.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/frameworks/xgboost/mlrun_interface.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/frameworks/xgboost/model_handler.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/frameworks/xgboost/utils.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/hub/__init__.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/hub/module.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/k8s_utils.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/launcher/__init__.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/launcher/base.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/launcher/client.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/launcher/factory.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/launcher/local.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/launcher/remote.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/lists.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/model.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/model_monitoring/__init__.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/model_monitoring/api.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/model_monitoring/applications/__init__.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/model_monitoring/applications/_application_steps.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/model_monitoring/applications/context.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/model_monitoring/applications/evidently/__init__.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/model_monitoring/applications/evidently/base.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/model_monitoring/applications/histogram_data_drift.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/model_monitoring/applications/results.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/model_monitoring/controller.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/model_monitoring/db/__init__.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/model_monitoring/db/_schedules.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/model_monitoring/db/_stats.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/model_monitoring/db/tsdb/__init__.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/model_monitoring/db/tsdb/base.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/model_monitoring/db/tsdb/helpers.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/model_monitoring/db/tsdb/tdengine/__init__.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/model_monitoring/db/tsdb/tdengine/schemas.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/model_monitoring/db/tsdb/tdengine/stream_graph_steps.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/model_monitoring/db/tsdb/tdengine/tdengine_connection.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/model_monitoring/db/tsdb/tdengine/tdengine_connector.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/model_monitoring/db/tsdb/tdengine/writer_graph_steps.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/model_monitoring/db/tsdb/v3io/__init__.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/model_monitoring/db/tsdb/v3io/stream_graph_steps.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/model_monitoring/db/tsdb/v3io/v3io_connector.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/model_monitoring/features_drift_table.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/model_monitoring/helpers.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/model_monitoring/metrics/__init__.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/model_monitoring/metrics/histogram_distance.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/model_monitoring/stream_processing.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/model_monitoring/writer.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/package/__init__.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/package/context_handler.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/package/errors.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/package/packager.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/package/packagers/__init__.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/package/packagers/default_packager.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/package/packagers/numpy_packagers.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/package/packagers/pandas_packagers.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/package/packagers/python_standard_library_packagers.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/package/packagers_manager.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/package/utils/__init__.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/package/utils/_archiver.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/package/utils/_formatter.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/package/utils/_pickler.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/package/utils/_supported_format.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/package/utils/log_hint_utils.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/package/utils/type_hint_utils.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/platforms/__init__.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/platforms/iguazio.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/projects/__init__.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/projects/operations.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/projects/pipelines.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/projects/project.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/render.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/runtimes/__init__.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/runtimes/base.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/runtimes/daskjob.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/runtimes/databricks_job/__init__.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/runtimes/databricks_job/databricks_cancel_task.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/runtimes/databricks_job/databricks_runtime.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/runtimes/databricks_job/databricks_wrapper.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/runtimes/funcdoc.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/runtimes/function_reference.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/runtimes/generators.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/runtimes/kubejob.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/runtimes/local.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/runtimes/mounts.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/runtimes/mpijob/__init__.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/runtimes/mpijob/abstract.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/runtimes/mpijob/v1.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/runtimes/nuclio/__init__.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/runtimes/nuclio/api_gateway.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/runtimes/nuclio/application/__init__.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/runtimes/nuclio/application/reverse_proxy.go +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/runtimes/nuclio/function.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/runtimes/nuclio/nuclio.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/runtimes/nuclio/serving.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/runtimes/pod.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/runtimes/remotesparkjob.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/runtimes/sparkjob/__init__.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/runtimes/sparkjob/spark3job.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/runtimes/utils.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/secrets.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/serving/__init__.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/serving/merger.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/serving/remote.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/serving/routers.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/serving/serving_wrapper.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/serving/states.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/serving/steps.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/serving/system_steps.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/serving/utils.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/serving/v1_serving.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/serving/v2_serving.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/track/__init__.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/track/tracker.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/track/tracker_manager.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/track/trackers/__init__.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/track/trackers/mlflow_tracker.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/utils/__init__.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/utils/async_http.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/utils/azure_vault.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/utils/clones.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/utils/condition_evaluator.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/utils/http.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/utils/logger.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/utils/notifications/__init__.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/utils/notifications/notification/__init__.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/utils/notifications/notification/base.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/utils/notifications/notification/console.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/utils/notifications/notification/git.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/utils/notifications/notification/ipython.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/utils/notifications/notification/mail.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/utils/notifications/notification/slack.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/utils/notifications/notification/webhook.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/utils/notifications/notification_pusher.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/utils/regex.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/utils/retryer.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/utils/singleton.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/utils/v3io_clients.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/utils/vault.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/utils/version/__init__.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun/utils/version/version.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun.egg-info/SOURCES.txt +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun.egg-info/dependency_links.txt +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun.egg-info/entry_points.txt +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun.egg-info/not-zip-safe +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/mlrun.egg-info/top_level.txt +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/packages.py +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/pyproject.toml +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/requirements.txt +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/setup.cfg +0 -0
- {mlrun-1.10.0rc34 → mlrun-1.10.0rc35}/setup.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: mlrun
|
|
3
|
-
Version: 1.10.
|
|
3
|
+
Version: 1.10.0rc35
|
|
4
4
|
Summary: Tracking and config of machine learning runs
|
|
5
5
|
Home-page: https://github.com/mlrun/mlrun
|
|
6
6
|
Author: Yaron Haviv
|
|
@@ -105,7 +105,7 @@ Requires-Dist: snowflake-connector-python~=3.7; extra == "snowflake"
|
|
|
105
105
|
Provides-Extra: dev-postgres
|
|
106
106
|
Requires-Dist: pytest-mock-resources[postgres]~=2.12; extra == "dev-postgres"
|
|
107
107
|
Provides-Extra: kfp18
|
|
108
|
-
Requires-Dist: mlrun_pipelines_kfp_v1_8[kfp]
|
|
108
|
+
Requires-Dist: mlrun_pipelines_kfp_v1_8[kfp]~=0.5.8; extra == "kfp18"
|
|
109
109
|
Provides-Extra: api
|
|
110
110
|
Requires-Dist: uvicorn~=0.32.1; extra == "api"
|
|
111
111
|
Requires-Dist: dask-kubernetes~=0.11.0; extra == "api"
|
|
@@ -87,7 +87,7 @@ def extra_requirements() -> dict[str, list[str]]:
|
|
|
87
87
|
extras_require.update(
|
|
88
88
|
{
|
|
89
89
|
"dev-postgres": ["pytest-mock-resources[postgres]~=2.12"],
|
|
90
|
-
"kfp18": ["mlrun_pipelines_kfp_v1_8[kfp]
|
|
90
|
+
"kfp18": ["mlrun_pipelines_kfp_v1_8[kfp]~=0.5.8"],
|
|
91
91
|
# TODO uncomment when KFP 1.8 support is removed
|
|
92
92
|
# "kfp2": ["mlrun_pipelines_kfp_v2[kfp]>=0.5.0 ; python_version >= '3.11'"],
|
|
93
93
|
"api": api_deps,
|
|
@@ -332,36 +332,11 @@ class ModelMonitoringApplicationBase(MonitoringApplicationToDict, ABC):
|
|
|
332
332
|
project=project,
|
|
333
333
|
) as (endpoints_output, application_schedules):
|
|
334
334
|
|
|
335
|
-
def call_do_tracking(
|
|
335
|
+
def call_do_tracking(
|
|
336
|
+
monitoring_context: mm_context.MonitoringApplicationContext,
|
|
337
|
+
):
|
|
336
338
|
nonlocal endpoints_output
|
|
337
339
|
|
|
338
|
-
if event is None:
|
|
339
|
-
event = {}
|
|
340
|
-
monitoring_context = (
|
|
341
|
-
mm_context.MonitoringApplicationContext._from_ml_ctx(
|
|
342
|
-
event=event,
|
|
343
|
-
application_name=application_name,
|
|
344
|
-
context=context,
|
|
345
|
-
project=project,
|
|
346
|
-
sample_df=sample_data,
|
|
347
|
-
feature_stats=feature_stats,
|
|
348
|
-
)
|
|
349
|
-
)
|
|
350
|
-
|
|
351
|
-
if (
|
|
352
|
-
monitoring_context.endpoint_id
|
|
353
|
-
and monitoring_context.sample_df.empty
|
|
354
|
-
):
|
|
355
|
-
# The current sample is empty
|
|
356
|
-
context.logger.warning(
|
|
357
|
-
"No sample data available for tracking",
|
|
358
|
-
application_name=application_name,
|
|
359
|
-
endpoint_id=monitoring_context.endpoint_id,
|
|
360
|
-
start_time=monitoring_context.start_infer_time,
|
|
361
|
-
end_time=monitoring_context.end_infer_time,
|
|
362
|
-
)
|
|
363
|
-
return
|
|
364
|
-
|
|
365
340
|
result = self.do_tracking(monitoring_context)
|
|
366
341
|
endpoints_output[monitoring_context.endpoint_id].append(
|
|
367
342
|
(monitoring_context, result)
|
|
@@ -369,7 +344,7 @@ class ModelMonitoringApplicationBase(MonitoringApplicationToDict, ABC):
|
|
|
369
344
|
return result
|
|
370
345
|
|
|
371
346
|
if endpoints is not None:
|
|
372
|
-
resolved_endpoints = self.
|
|
347
|
+
resolved_endpoints = self._validate_endpoints(
|
|
373
348
|
project=project, endpoints=endpoints
|
|
374
349
|
)
|
|
375
350
|
if (
|
|
@@ -391,26 +366,24 @@ class ModelMonitoringApplicationBase(MonitoringApplicationToDict, ABC):
|
|
|
391
366
|
application_schedules=application_schedules,
|
|
392
367
|
)
|
|
393
368
|
for endpoint_name, endpoint_id in resolved_endpoints:
|
|
394
|
-
for
|
|
369
|
+
for monitoring_ctx in self._window_generator(
|
|
395
370
|
start=start,
|
|
396
371
|
end=end,
|
|
397
372
|
base_period=base_period,
|
|
398
373
|
application_schedules=application_schedules,
|
|
399
374
|
endpoint_id=endpoint_id,
|
|
375
|
+
endpoint_name=endpoint_name,
|
|
400
376
|
application_name=application_name,
|
|
401
377
|
existing_data_handling=existing_data_handling,
|
|
378
|
+
sample_data=sample_data,
|
|
379
|
+
context=context,
|
|
380
|
+
project=project,
|
|
402
381
|
):
|
|
403
|
-
result = call_do_tracking(
|
|
404
|
-
event={
|
|
405
|
-
mm_constants.ApplicationEvent.ENDPOINT_NAME: endpoint_name,
|
|
406
|
-
mm_constants.ApplicationEvent.ENDPOINT_ID: endpoint_id,
|
|
407
|
-
mm_constants.ApplicationEvent.START_INFER_TIME: window_start,
|
|
408
|
-
mm_constants.ApplicationEvent.END_INFER_TIME: window_end,
|
|
409
|
-
}
|
|
410
|
-
)
|
|
382
|
+
result = call_do_tracking(monitoring_ctx)
|
|
411
383
|
result_key = (
|
|
412
|
-
f"{endpoint_name}-{endpoint_id}_{
|
|
413
|
-
if
|
|
384
|
+
f"{endpoint_name}-{endpoint_id}_{monitoring_ctx.start_infer_time.isoformat()}_{monitoring_ctx.end_infer_time.isoformat()}"
|
|
385
|
+
if monitoring_ctx.start_infer_time
|
|
386
|
+
and monitoring_ctx.end_infer_time
|
|
414
387
|
else f"{endpoint_name}-{endpoint_id}"
|
|
415
388
|
)
|
|
416
389
|
|
|
@@ -418,10 +391,38 @@ class ModelMonitoringApplicationBase(MonitoringApplicationToDict, ABC):
|
|
|
418
391
|
result_key, self._flatten_data_result(result)
|
|
419
392
|
)
|
|
420
393
|
else:
|
|
421
|
-
|
|
394
|
+
result = call_do_tracking(
|
|
395
|
+
mm_context.MonitoringApplicationContext._from_ml_ctx(
|
|
396
|
+
context=context,
|
|
397
|
+
project=project,
|
|
398
|
+
application_name=application_name,
|
|
399
|
+
event={},
|
|
400
|
+
sample_df=sample_data,
|
|
401
|
+
feature_stats=feature_stats,
|
|
402
|
+
)
|
|
403
|
+
)
|
|
404
|
+
return self._flatten_data_result(result)
|
|
422
405
|
|
|
423
406
|
@staticmethod
|
|
424
|
-
def
|
|
407
|
+
def _check_endpoints_first_request(
|
|
408
|
+
endpoints: list[mlrun.common.schemas.ModelEndpoint],
|
|
409
|
+
) -> None:
|
|
410
|
+
"""Make sure that all the endpoints have had at least one request"""
|
|
411
|
+
endpoints_no_requests = [
|
|
412
|
+
(endpoint.metadata.name, endpoint.metadata.uid)
|
|
413
|
+
for endpoint in endpoints
|
|
414
|
+
if not endpoint.status.first_request
|
|
415
|
+
]
|
|
416
|
+
if endpoints_no_requests:
|
|
417
|
+
raise mlrun.errors.MLRunValueError(
|
|
418
|
+
"The following model endpoints have not had any requests yet and "
|
|
419
|
+
"have no data, cannot run the model monitoring application on them: "
|
|
420
|
+
f"{endpoints_no_requests}"
|
|
421
|
+
)
|
|
422
|
+
|
|
423
|
+
@classmethod
|
|
424
|
+
def _validate_endpoints(
|
|
425
|
+
cls,
|
|
425
426
|
project: "mlrun.MlrunProject",
|
|
426
427
|
endpoints: Union[
|
|
427
428
|
list[tuple[str, str]], list[list[str]], list[str], Literal["all"]
|
|
@@ -457,6 +458,9 @@ class ModelMonitoringApplicationBase(MonitoringApplicationToDict, ABC):
|
|
|
457
458
|
endpoints_list = project.list_model_endpoints(
|
|
458
459
|
names=endpoint_names, latest_only=True
|
|
459
460
|
).endpoints
|
|
461
|
+
|
|
462
|
+
cls._check_endpoints_first_request(endpoints_list)
|
|
463
|
+
|
|
460
464
|
if endpoints_list:
|
|
461
465
|
list_endpoints_result = [
|
|
462
466
|
(endpoint.metadata.name, endpoint.metadata.uid)
|
|
@@ -596,13 +600,51 @@ class ModelMonitoringApplicationBase(MonitoringApplicationToDict, ABC):
|
|
|
596
600
|
application_schedules: Optional[
|
|
597
601
|
mm_schedules.ModelMonitoringSchedulesFileApplication
|
|
598
602
|
],
|
|
603
|
+
endpoint_name: str,
|
|
599
604
|
endpoint_id: str,
|
|
600
605
|
application_name: str,
|
|
601
606
|
existing_data_handling: ExistingDataHandling,
|
|
602
|
-
|
|
607
|
+
context: "mlrun.MLClientCtx",
|
|
608
|
+
project: "mlrun.MlrunProject",
|
|
609
|
+
sample_data: Optional[pd.DataFrame],
|
|
610
|
+
) -> Iterator[mm_context.MonitoringApplicationContext]:
|
|
611
|
+
def yield_monitoring_ctx(
|
|
612
|
+
window_start: Optional[datetime], window_end: Optional[datetime]
|
|
613
|
+
) -> Iterator[mm_context.MonitoringApplicationContext]:
|
|
614
|
+
ctx = mm_context.MonitoringApplicationContext._from_ml_ctx(
|
|
615
|
+
event={
|
|
616
|
+
mm_constants.ApplicationEvent.ENDPOINT_NAME: endpoint_name,
|
|
617
|
+
mm_constants.ApplicationEvent.ENDPOINT_ID: endpoint_id,
|
|
618
|
+
mm_constants.ApplicationEvent.START_INFER_TIME: window_start,
|
|
619
|
+
mm_constants.ApplicationEvent.END_INFER_TIME: window_end,
|
|
620
|
+
},
|
|
621
|
+
application_name=application_name,
|
|
622
|
+
context=context,
|
|
623
|
+
project=project,
|
|
624
|
+
sample_df=sample_data,
|
|
625
|
+
)
|
|
626
|
+
|
|
627
|
+
if ctx.sample_df.empty:
|
|
628
|
+
# The current sample is empty
|
|
629
|
+
context.logger.debug(
|
|
630
|
+
"No sample data available for tracking",
|
|
631
|
+
application_name=application_name,
|
|
632
|
+
endpoint_id=ctx.endpoint_id,
|
|
633
|
+
start_time=ctx.start_infer_time,
|
|
634
|
+
end_time=ctx.end_infer_time,
|
|
635
|
+
)
|
|
636
|
+
return
|
|
637
|
+
|
|
638
|
+
yield ctx
|
|
639
|
+
|
|
640
|
+
if application_schedules and window_end:
|
|
641
|
+
application_schedules.update_endpoint_last_analyzed(
|
|
642
|
+
endpoint_uid=endpoint_id, last_analyzed=window_end
|
|
643
|
+
)
|
|
644
|
+
|
|
603
645
|
if start is None or end is None:
|
|
604
646
|
# A single window based on the `sample_data` input - see `_handler`.
|
|
605
|
-
yield None, None
|
|
647
|
+
yield from yield_monitoring_ctx(None, None)
|
|
606
648
|
return
|
|
607
649
|
|
|
608
650
|
start_dt = datetime.fromisoformat(start)
|
|
@@ -630,11 +672,7 @@ class ModelMonitoringApplicationBase(MonitoringApplicationToDict, ABC):
|
|
|
630
672
|
)
|
|
631
673
|
|
|
632
674
|
if base_period is None:
|
|
633
|
-
yield start_dt, end_dt
|
|
634
|
-
if application_schedules:
|
|
635
|
-
application_schedules.update_endpoint_last_analyzed(
|
|
636
|
-
endpoint_uid=endpoint_id, last_analyzed=end_dt
|
|
637
|
-
)
|
|
675
|
+
yield from yield_monitoring_ctx(start_dt, end_dt)
|
|
638
676
|
return
|
|
639
677
|
|
|
640
678
|
window_length = cls._validate_and_get_window_length(
|
|
@@ -644,11 +682,7 @@ class ModelMonitoringApplicationBase(MonitoringApplicationToDict, ABC):
|
|
|
644
682
|
current_start_time = start_dt
|
|
645
683
|
while current_start_time < end_dt:
|
|
646
684
|
current_end_time = min(current_start_time + window_length, end_dt)
|
|
647
|
-
yield current_start_time, current_end_time
|
|
648
|
-
if application_schedules:
|
|
649
|
-
application_schedules.update_endpoint_last_analyzed(
|
|
650
|
-
endpoint_uid=endpoint_id, last_analyzed=current_end_time
|
|
651
|
-
)
|
|
685
|
+
yield from yield_monitoring_ctx(current_start_time, current_end_time)
|
|
652
686
|
current_start_time = current_end_time
|
|
653
687
|
|
|
654
688
|
@classmethod
|
|
@@ -17,6 +17,7 @@ import json
|
|
|
17
17
|
import os
|
|
18
18
|
import pathlib
|
|
19
19
|
import socket
|
|
20
|
+
import sys
|
|
20
21
|
import tempfile
|
|
21
22
|
import time
|
|
22
23
|
import typing
|
|
@@ -117,14 +118,13 @@ def function_to_module(code="", workdir=None, secrets=None, silent=False):
|
|
|
117
118
|
raise ValueError("nothing to run, specify command or function")
|
|
118
119
|
|
|
119
120
|
command = os.path.join(workdir or "", command)
|
|
120
|
-
|
|
121
|
-
mod_name = path.name
|
|
122
|
-
if path.suffix:
|
|
123
|
-
mod_name = mod_name[: -len(path.suffix)]
|
|
121
|
+
mod_name = mlrun.utils.helpers.get_module_name_from_path(command)
|
|
124
122
|
spec = imputil.spec_from_file_location(mod_name, command)
|
|
125
123
|
if spec is None:
|
|
126
124
|
raise OSError(f"cannot import from {command!r}")
|
|
127
125
|
mod = imputil.module_from_spec(spec)
|
|
126
|
+
# add to system modules, which can be necessary when running in a MockServer (ML-10937)
|
|
127
|
+
sys.modules[mod_name] = mod
|
|
128
128
|
spec.loader.exec_module(mod)
|
|
129
129
|
|
|
130
130
|
return mod
|
|
@@ -413,21 +413,29 @@ def import_function_to_dict(
|
|
|
413
413
|
with open(code_file, "wb") as fp:
|
|
414
414
|
fp.write(code)
|
|
415
415
|
elif cmd:
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
416
|
+
slash_index = url.rfind("/")
|
|
417
|
+
if slash_index < 0:
|
|
418
|
+
raise ValueError(f"no file in exec path (spec.command={code_file})")
|
|
419
|
+
base_dir = os.path.normpath(url[: slash_index + 1])
|
|
420
|
+
|
|
421
|
+
# Validate and resolve the candidate path before checking existence
|
|
422
|
+
candidate_path = _ensure_path_confined_to_base_dir(
|
|
423
|
+
base_directory=base_dir,
|
|
424
|
+
relative_path=code_file,
|
|
425
|
+
error_message_on_escape=(
|
|
426
|
+
f"exec file spec.command={code_file} is outside of allowed directory"
|
|
427
|
+
),
|
|
428
|
+
)
|
|
429
|
+
|
|
430
|
+
# Only now it's safe to check file existence
|
|
431
|
+
if not path.isfile(candidate_path):
|
|
430
432
|
raise ValueError(f"no file in exec path (spec.command={code_file})")
|
|
433
|
+
|
|
434
|
+
# Check that the path is absolute
|
|
435
|
+
if not os.path.isabs(code_file):
|
|
436
|
+
raise ValueError(
|
|
437
|
+
f"exec file spec.command={code_file} is relative, it must be absolute. Change working dir"
|
|
438
|
+
)
|
|
431
439
|
else:
|
|
432
440
|
raise ValueError("command or code not specified in function spec")
|
|
433
441
|
|
|
@@ -568,6 +568,12 @@ class ApplicationRuntime(RemoteRuntime):
|
|
|
568
568
|
"Authentication credentials not provided"
|
|
569
569
|
)
|
|
570
570
|
|
|
571
|
+
if direct_port_access and port:
|
|
572
|
+
logger.warning(
|
|
573
|
+
"Ignoring 'port' because 'direct_port_access' is enabled. "
|
|
574
|
+
"The 'port' setting is only applicable when 'direct_port_access' is disabled."
|
|
575
|
+
)
|
|
576
|
+
|
|
571
577
|
ports = (
|
|
572
578
|
port or self.spec.internal_application_port if direct_port_access else []
|
|
573
579
|
)
|
|
@@ -20,7 +20,6 @@ import copy
|
|
|
20
20
|
import importlib
|
|
21
21
|
import json
|
|
22
22
|
import os
|
|
23
|
-
import pathlib
|
|
24
23
|
import socket
|
|
25
24
|
import traceback
|
|
26
25
|
import uuid
|
|
@@ -51,7 +50,7 @@ from ..datastore.store_resources import ResourceCache
|
|
|
51
50
|
from ..errors import MLRunInvalidArgumentError
|
|
52
51
|
from ..execution import MLClientCtx
|
|
53
52
|
from ..model import ModelObj
|
|
54
|
-
from ..utils import get_caller_globals
|
|
53
|
+
from ..utils import get_caller_globals, get_module_name_from_path
|
|
55
54
|
from .states import (
|
|
56
55
|
FlowStep,
|
|
57
56
|
MonitoredStep,
|
|
@@ -598,17 +597,7 @@ async def async_execute_graph(
|
|
|
598
597
|
# gets set in local flow and not just in the remote pod
|
|
599
598
|
source_file_path = spec.get("filename", None)
|
|
600
599
|
if source_file_path:
|
|
601
|
-
|
|
602
|
-
current_dir_path_object = pathlib.Path(".").resolve()
|
|
603
|
-
if not source_file_path_object.is_relative_to(current_dir_path_object):
|
|
604
|
-
raise mlrun.errors.MLRunRuntimeError(
|
|
605
|
-
f"Source file path '{source_file_path}' is not under the current working directory "
|
|
606
|
-
f"(which is required when running with local=True)"
|
|
607
|
-
)
|
|
608
|
-
relative_path_to_source_file = source_file_path_object.relative_to(
|
|
609
|
-
current_dir_path_object
|
|
610
|
-
)
|
|
611
|
-
modname = ".".join(relative_path_to_source_file.with_suffix("").parts)
|
|
600
|
+
modname = get_module_name_from_path(source_file_path)
|
|
612
601
|
|
|
613
602
|
namespace = {}
|
|
614
603
|
if modname:
|
|
@@ -21,6 +21,7 @@ import inspect
|
|
|
21
21
|
import itertools
|
|
22
22
|
import json
|
|
23
23
|
import os
|
|
24
|
+
import pathlib
|
|
24
25
|
import re
|
|
25
26
|
import string
|
|
26
27
|
import sys
|
|
@@ -923,11 +924,23 @@ def enrich_image_url(
|
|
|
923
924
|
)
|
|
924
925
|
mlrun_version = config.images_tag or client_version or server_version
|
|
925
926
|
tag = mlrun_version or ""
|
|
926
|
-
|
|
927
|
-
|
|
928
|
-
|
|
927
|
+
|
|
928
|
+
# starting mlrun 1.10.0-rc0 we want to enrich the kfp image with the python version
|
|
929
|
+
# e.g for 1.9 we have a single mlrun-kfp image that supports only python 3.9
|
|
930
|
+
enrich_kfp_python_version = (
|
|
931
|
+
"mlrun-kfp" in image_url
|
|
932
|
+
and mlrun_version
|
|
933
|
+
and semver.VersionInfo.is_valid(mlrun_version)
|
|
934
|
+
and semver.VersionInfo.parse(mlrun_version)
|
|
935
|
+
>= semver.VersionInfo.parse("1.10.0-rc0")
|
|
929
936
|
)
|
|
930
937
|
|
|
938
|
+
if "mlrun-kfp" not in image_url or enrich_kfp_python_version:
|
|
939
|
+
tag += resolve_image_tag_suffix(
|
|
940
|
+
mlrun_version=mlrun_version,
|
|
941
|
+
python_version=client_python_version,
|
|
942
|
+
)
|
|
943
|
+
|
|
931
944
|
# it's an mlrun image if the repository is mlrun
|
|
932
945
|
is_mlrun_image = image_url.startswith("mlrun/") or "/mlrun/" in image_url
|
|
933
946
|
if ":" in image_url:
|
|
@@ -2408,3 +2421,17 @@ def set_data_by_path(
|
|
|
2408
2421
|
raise mlrun.errors.MLRunInvalidArgumentError(
|
|
2409
2422
|
"Expected path to be of type str or list of str"
|
|
2410
2423
|
)
|
|
2424
|
+
|
|
2425
|
+
|
|
2426
|
+
def get_module_name_from_path(source_file_path: str) -> str:
|
|
2427
|
+
source_file_path_object = pathlib.Path(source_file_path).resolve()
|
|
2428
|
+
current_dir_path_object = pathlib.Path(".").resolve()
|
|
2429
|
+
if not source_file_path_object.is_relative_to(current_dir_path_object):
|
|
2430
|
+
raise mlrun.errors.MLRunRuntimeError(
|
|
2431
|
+
f"Source file path '{source_file_path}' is not under the current working directory "
|
|
2432
|
+
f"(which is required when running with local=True)"
|
|
2433
|
+
)
|
|
2434
|
+
relative_path_to_source_file = source_file_path_object.relative_to(
|
|
2435
|
+
current_dir_path_object
|
|
2436
|
+
)
|
|
2437
|
+
return ".".join(relative_path_to_source_file.with_suffix("").parts)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: mlrun
|
|
3
|
-
Version: 1.10.
|
|
3
|
+
Version: 1.10.0rc35
|
|
4
4
|
Summary: Tracking and config of machine learning runs
|
|
5
5
|
Home-page: https://github.com/mlrun/mlrun
|
|
6
6
|
Author: Yaron Haviv
|
|
@@ -105,7 +105,7 @@ Requires-Dist: snowflake-connector-python~=3.7; extra == "snowflake"
|
|
|
105
105
|
Provides-Extra: dev-postgres
|
|
106
106
|
Requires-Dist: pytest-mock-resources[postgres]~=2.12; extra == "dev-postgres"
|
|
107
107
|
Provides-Extra: kfp18
|
|
108
|
-
Requires-Dist: mlrun_pipelines_kfp_v1_8[kfp]
|
|
108
|
+
Requires-Dist: mlrun_pipelines_kfp_v1_8[kfp]~=0.5.8; extra == "kfp18"
|
|
109
109
|
Provides-Extra: api
|
|
110
110
|
Requires-Dist: uvicorn~=0.32.1; extra == "api"
|
|
111
111
|
Requires-Dist: dask-kubernetes~=0.11.0; extra == "api"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|