mlrun 1.3.3__py3-none-any.whl → 1.4.0__py3-none-any.whl
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/__init__.py +3 -3
- mlrun/__main__.py +79 -37
- mlrun/api/__init__.py +1 -1
- mlrun/api/api/__init__.py +1 -1
- mlrun/api/api/api.py +4 -4
- mlrun/api/api/deps.py +10 -21
- mlrun/api/api/endpoints/__init__.py +1 -1
- mlrun/api/api/endpoints/artifacts.py +64 -36
- mlrun/api/api/endpoints/auth.py +4 -4
- mlrun/api/api/endpoints/background_tasks.py +11 -11
- mlrun/api/api/endpoints/client_spec.py +5 -5
- mlrun/api/api/endpoints/clusterization_spec.py +6 -4
- mlrun/api/api/endpoints/feature_store.py +124 -115
- mlrun/api/api/endpoints/files.py +22 -14
- mlrun/api/api/endpoints/frontend_spec.py +28 -21
- mlrun/api/api/endpoints/functions.py +142 -87
- mlrun/api/api/endpoints/grafana_proxy.py +89 -442
- mlrun/api/api/endpoints/healthz.py +20 -7
- mlrun/api/api/endpoints/hub.py +320 -0
- mlrun/api/api/endpoints/internal/__init__.py +1 -1
- mlrun/api/api/endpoints/internal/config.py +1 -1
- mlrun/api/api/endpoints/internal/memory_reports.py +9 -9
- mlrun/api/api/endpoints/logs.py +11 -11
- mlrun/api/api/endpoints/model_endpoints.py +74 -70
- mlrun/api/api/endpoints/operations.py +13 -9
- mlrun/api/api/endpoints/pipelines.py +93 -88
- mlrun/api/api/endpoints/projects.py +35 -35
- mlrun/api/api/endpoints/runs.py +69 -27
- mlrun/api/api/endpoints/runtime_resources.py +28 -28
- mlrun/api/api/endpoints/schedules.py +98 -41
- mlrun/api/api/endpoints/secrets.py +37 -32
- mlrun/api/api/endpoints/submit.py +12 -12
- mlrun/api/api/endpoints/tags.py +20 -22
- mlrun/api/api/utils.py +251 -42
- mlrun/api/constants.py +1 -1
- mlrun/api/crud/__init__.py +18 -15
- mlrun/api/crud/artifacts.py +10 -10
- mlrun/api/crud/client_spec.py +4 -4
- mlrun/api/crud/clusterization_spec.py +3 -3
- mlrun/api/crud/feature_store.py +54 -46
- mlrun/api/crud/functions.py +3 -3
- mlrun/api/crud/hub.py +312 -0
- mlrun/api/crud/logs.py +11 -9
- mlrun/api/crud/model_monitoring/__init__.py +3 -3
- mlrun/api/crud/model_monitoring/grafana.py +435 -0
- mlrun/api/crud/model_monitoring/model_endpoints.py +352 -129
- mlrun/api/crud/notifications.py +149 -0
- mlrun/api/crud/pipelines.py +67 -52
- mlrun/api/crud/projects.py +51 -23
- mlrun/api/crud/runs.py +7 -5
- mlrun/api/crud/runtime_resources.py +13 -13
- mlrun/api/{db/filedb → crud/runtimes}/__init__.py +1 -1
- mlrun/api/crud/runtimes/nuclio/__init__.py +14 -0
- mlrun/api/crud/runtimes/nuclio/function.py +505 -0
- mlrun/api/crud/runtimes/nuclio/helpers.py +310 -0
- mlrun/api/crud/secrets.py +88 -46
- mlrun/api/crud/tags.py +5 -5
- mlrun/api/db/__init__.py +1 -1
- mlrun/api/db/base.py +102 -54
- mlrun/api/db/init_db.py +2 -3
- mlrun/api/db/session.py +4 -12
- mlrun/api/db/sqldb/__init__.py +1 -1
- mlrun/api/db/sqldb/db.py +439 -196
- mlrun/api/db/sqldb/helpers.py +1 -1
- mlrun/api/db/sqldb/models/__init__.py +3 -3
- mlrun/api/db/sqldb/models/models_mysql.py +82 -64
- mlrun/api/db/sqldb/models/models_sqlite.py +76 -64
- mlrun/api/db/sqldb/session.py +27 -20
- mlrun/api/initial_data.py +82 -24
- mlrun/api/launcher.py +196 -0
- mlrun/api/main.py +91 -22
- mlrun/api/middlewares.py +6 -5
- mlrun/api/migrations_mysql/env.py +1 -1
- mlrun/api/migrations_mysql/versions/28383af526f3_market_place_to_hub.py +40 -0
- mlrun/api/migrations_mysql/versions/32bae1b0e29c_increase_timestamp_fields_precision.py +1 -1
- mlrun/api/migrations_mysql/versions/4903aef6a91d_tag_foreign_key_and_cascades.py +1 -1
- mlrun/api/migrations_mysql/versions/5f1351c88a19_adding_background_tasks_table.py +1 -1
- mlrun/api/migrations_mysql/versions/88e656800d6a_add_requested_logs_column_and_index_to_.py +1 -1
- mlrun/api/migrations_mysql/versions/9d16de5f03a7_adding_data_versions_table.py +1 -1
- mlrun/api/migrations_mysql/versions/b86f5b53f3d7_adding_name_and_updated_to_runs_table.py +1 -1
- mlrun/api/migrations_mysql/versions/c4af40b0bf61_init.py +1 -1
- mlrun/api/migrations_mysql/versions/c905d15bd91d_notifications.py +72 -0
- mlrun/api/migrations_mysql/versions/ee041e8fdaa0_adding_next_run_time_column_to_schedule_.py +1 -1
- mlrun/api/migrations_sqlite/env.py +1 -1
- mlrun/api/migrations_sqlite/versions/11f8dd2dc9fe_init.py +1 -1
- mlrun/api/migrations_sqlite/versions/1c954f8cb32d_schedule_last_run_uri.py +1 -1
- mlrun/api/migrations_sqlite/versions/2b6d23c715aa_adding_feature_sets.py +1 -1
- mlrun/api/migrations_sqlite/versions/4acd9430b093_market_place_to_hub.py +77 -0
- mlrun/api/migrations_sqlite/versions/6401142f2d7c_adding_next_run_time_column_to_schedule_.py +1 -1
- mlrun/api/migrations_sqlite/versions/64d90a1a69bc_adding_background_tasks_table.py +1 -1
- mlrun/api/migrations_sqlite/versions/803438ecd005_add_requested_logs_column_to_runs.py +1 -1
- mlrun/api/migrations_sqlite/versions/863114f0c659_refactoring_feature_set.py +1 -1
- mlrun/api/migrations_sqlite/versions/959ae00528ad_notifications.py +63 -0
- mlrun/api/migrations_sqlite/versions/accf9fc83d38_adding_data_versions_table.py +1 -1
- mlrun/api/migrations_sqlite/versions/b68e8e897a28_schedule_labels.py +1 -1
- mlrun/api/migrations_sqlite/versions/bcd0c1f9720c_adding_project_labels.py +1 -1
- mlrun/api/migrations_sqlite/versions/cf21882f938e_schedule_id.py +1 -1
- mlrun/api/migrations_sqlite/versions/d781f58f607f_tag_object_name_string.py +1 -1
- mlrun/api/migrations_sqlite/versions/deac06871ace_adding_marketplace_sources_table.py +1 -1
- mlrun/api/migrations_sqlite/versions/e1dd5983c06b_schedule_concurrency_limit.py +1 -1
- mlrun/api/migrations_sqlite/versions/e5594ed3ab53_adding_name_and_updated_to_runs_table.py +1 -1
- mlrun/api/migrations_sqlite/versions/f4249b4ba6fa_adding_feature_vectors.py +1 -1
- mlrun/api/migrations_sqlite/versions/f7b5a1a03629_adding_feature_labels.py +1 -1
- mlrun/api/schemas/__init__.py +216 -138
- mlrun/api/utils/__init__.py +1 -1
- mlrun/api/utils/asyncio.py +1 -1
- mlrun/api/utils/auth/__init__.py +1 -1
- mlrun/api/utils/auth/providers/__init__.py +1 -1
- mlrun/api/utils/auth/providers/base.py +7 -7
- mlrun/api/utils/auth/providers/nop.py +6 -7
- mlrun/api/utils/auth/providers/opa.py +17 -17
- mlrun/api/utils/auth/verifier.py +36 -34
- mlrun/api/utils/background_tasks.py +24 -24
- mlrun/{builder.py → api/utils/builder.py} +216 -123
- mlrun/api/utils/clients/__init__.py +1 -1
- mlrun/api/utils/clients/chief.py +19 -4
- mlrun/api/utils/clients/iguazio.py +106 -60
- mlrun/api/utils/clients/log_collector.py +1 -1
- mlrun/api/utils/clients/nuclio.py +23 -23
- mlrun/api/utils/clients/protocols/grpc.py +2 -2
- mlrun/api/utils/db/__init__.py +1 -1
- mlrun/api/utils/db/alembic.py +1 -1
- mlrun/api/utils/db/backup.py +1 -1
- mlrun/api/utils/db/mysql.py +24 -25
- mlrun/api/utils/db/sql_collation.py +1 -1
- mlrun/api/utils/db/sqlite_migration.py +2 -2
- mlrun/api/utils/events/__init__.py +14 -0
- mlrun/api/utils/events/base.py +57 -0
- mlrun/api/utils/events/events_factory.py +41 -0
- mlrun/api/utils/events/iguazio.py +217 -0
- mlrun/api/utils/events/nop.py +55 -0
- mlrun/api/utils/helpers.py +16 -13
- mlrun/api/utils/memory_reports.py +1 -1
- mlrun/api/utils/periodic.py +6 -3
- mlrun/api/utils/projects/__init__.py +1 -1
- mlrun/api/utils/projects/follower.py +33 -33
- mlrun/api/utils/projects/leader.py +36 -34
- mlrun/api/utils/projects/member.py +27 -27
- mlrun/api/utils/projects/remotes/__init__.py +1 -1
- mlrun/api/utils/projects/remotes/follower.py +13 -13
- mlrun/api/utils/projects/remotes/leader.py +10 -10
- mlrun/api/utils/projects/remotes/nop_follower.py +27 -21
- mlrun/api/utils/projects/remotes/nop_leader.py +17 -16
- mlrun/api/utils/scheduler.py +140 -51
- mlrun/api/utils/singletons/__init__.py +1 -1
- mlrun/api/utils/singletons/db.py +9 -15
- mlrun/api/utils/singletons/k8s.py +677 -5
- mlrun/api/utils/singletons/logs_dir.py +1 -1
- mlrun/api/utils/singletons/project_member.py +1 -1
- mlrun/api/utils/singletons/scheduler.py +1 -1
- mlrun/artifacts/__init__.py +2 -2
- mlrun/artifacts/base.py +8 -2
- mlrun/artifacts/dataset.py +5 -3
- mlrun/artifacts/manager.py +7 -1
- mlrun/artifacts/model.py +15 -4
- mlrun/artifacts/plots.py +1 -1
- mlrun/common/__init__.py +1 -1
- mlrun/common/constants.py +15 -0
- mlrun/common/model_monitoring.py +209 -0
- mlrun/common/schemas/__init__.py +167 -0
- mlrun/{api → common}/schemas/artifact.py +13 -14
- mlrun/{api → common}/schemas/auth.py +10 -8
- mlrun/{api → common}/schemas/background_task.py +3 -3
- mlrun/{api → common}/schemas/client_spec.py +1 -1
- mlrun/{api → common}/schemas/clusterization_spec.py +3 -3
- mlrun/{api → common}/schemas/constants.py +21 -8
- mlrun/common/schemas/events.py +36 -0
- mlrun/{api → common}/schemas/feature_store.py +2 -1
- mlrun/{api → common}/schemas/frontend_spec.py +7 -6
- mlrun/{api → common}/schemas/function.py +5 -5
- mlrun/{api → common}/schemas/http.py +3 -3
- mlrun/common/schemas/hub.py +134 -0
- mlrun/{api → common}/schemas/k8s.py +3 -3
- mlrun/{api → common}/schemas/memory_reports.py +1 -1
- mlrun/common/schemas/model_endpoints.py +342 -0
- mlrun/common/schemas/notification.py +57 -0
- mlrun/{api → common}/schemas/object.py +6 -6
- mlrun/{api → common}/schemas/pipeline.py +3 -3
- mlrun/{api → common}/schemas/project.py +6 -5
- mlrun/common/schemas/regex.py +24 -0
- mlrun/common/schemas/runs.py +30 -0
- mlrun/{api → common}/schemas/runtime_resource.py +3 -3
- mlrun/{api → common}/schemas/schedule.py +19 -7
- mlrun/{api → common}/schemas/secret.py +3 -3
- mlrun/{api → common}/schemas/tag.py +2 -2
- mlrun/common/types.py +25 -0
- mlrun/config.py +152 -20
- mlrun/data_types/__init__.py +7 -2
- mlrun/data_types/data_types.py +4 -2
- mlrun/data_types/infer.py +1 -1
- mlrun/data_types/spark.py +10 -3
- mlrun/datastore/__init__.py +10 -3
- mlrun/datastore/azure_blob.py +1 -1
- mlrun/datastore/base.py +185 -53
- mlrun/datastore/datastore.py +1 -1
- mlrun/datastore/filestore.py +1 -1
- mlrun/datastore/google_cloud_storage.py +1 -1
- mlrun/datastore/inmem.py +4 -1
- mlrun/datastore/redis.py +1 -1
- mlrun/datastore/s3.py +1 -1
- mlrun/datastore/sources.py +192 -70
- mlrun/datastore/spark_udf.py +44 -0
- mlrun/datastore/store_resources.py +4 -4
- mlrun/datastore/targets.py +115 -45
- mlrun/datastore/utils.py +127 -5
- mlrun/datastore/v3io.py +1 -1
- mlrun/datastore/wasbfs/__init__.py +1 -1
- mlrun/datastore/wasbfs/fs.py +1 -1
- mlrun/db/__init__.py +7 -5
- mlrun/db/base.py +112 -68
- mlrun/db/httpdb.py +445 -277
- mlrun/db/nopdb.py +491 -0
- mlrun/db/sqldb.py +112 -65
- mlrun/errors.py +6 -1
- mlrun/execution.py +44 -22
- mlrun/feature_store/__init__.py +1 -1
- mlrun/feature_store/api.py +143 -95
- mlrun/feature_store/common.py +16 -20
- mlrun/feature_store/feature_set.py +42 -12
- mlrun/feature_store/feature_vector.py +32 -21
- mlrun/feature_store/ingestion.py +9 -12
- mlrun/feature_store/retrieval/__init__.py +3 -2
- mlrun/feature_store/retrieval/base.py +388 -66
- mlrun/feature_store/retrieval/dask_merger.py +63 -151
- mlrun/feature_store/retrieval/job.py +30 -12
- mlrun/feature_store/retrieval/local_merger.py +40 -133
- mlrun/feature_store/retrieval/spark_merger.py +129 -127
- mlrun/feature_store/retrieval/storey_merger.py +173 -0
- mlrun/feature_store/steps.py +132 -15
- mlrun/features.py +8 -3
- mlrun/frameworks/__init__.py +1 -1
- mlrun/frameworks/_common/__init__.py +1 -1
- mlrun/frameworks/_common/artifacts_library.py +1 -1
- mlrun/frameworks/_common/mlrun_interface.py +1 -1
- mlrun/frameworks/_common/model_handler.py +1 -1
- mlrun/frameworks/_common/plan.py +1 -1
- mlrun/frameworks/_common/producer.py +1 -1
- mlrun/frameworks/_common/utils.py +1 -1
- mlrun/frameworks/_dl_common/__init__.py +1 -1
- mlrun/frameworks/_dl_common/loggers/__init__.py +1 -1
- mlrun/frameworks/_dl_common/loggers/logger.py +1 -1
- mlrun/frameworks/_dl_common/loggers/mlrun_logger.py +1 -1
- mlrun/frameworks/_dl_common/loggers/tensorboard_logger.py +1 -1
- mlrun/frameworks/_dl_common/model_handler.py +1 -1
- mlrun/frameworks/_dl_common/utils.py +1 -1
- mlrun/frameworks/_ml_common/__init__.py +1 -1
- mlrun/frameworks/_ml_common/artifacts_library.py +1 -1
- mlrun/frameworks/_ml_common/loggers/__init__.py +1 -1
- mlrun/frameworks/_ml_common/loggers/logger.py +1 -1
- mlrun/frameworks/_ml_common/loggers/mlrun_logger.py +1 -1
- mlrun/frameworks/_ml_common/model_handler.py +1 -1
- mlrun/frameworks/_ml_common/pkl_model_server.py +13 -1
- mlrun/frameworks/_ml_common/plan.py +1 -1
- mlrun/frameworks/_ml_common/plans/__init__.py +1 -1
- mlrun/frameworks/_ml_common/plans/calibration_curve_plan.py +1 -6
- mlrun/frameworks/_ml_common/plans/confusion_matrix_plan.py +1 -1
- mlrun/frameworks/_ml_common/plans/dataset_plan.py +1 -1
- mlrun/frameworks/_ml_common/plans/feature_importance_plan.py +1 -1
- mlrun/frameworks/_ml_common/plans/roc_curve_plan.py +1 -1
- mlrun/frameworks/_ml_common/producer.py +1 -1
- mlrun/frameworks/_ml_common/utils.py +1 -1
- mlrun/frameworks/auto_mlrun/__init__.py +1 -1
- mlrun/frameworks/auto_mlrun/auto_mlrun.py +1 -1
- mlrun/frameworks/huggingface/__init__.py +1 -1
- mlrun/frameworks/huggingface/model_server.py +1 -1
- mlrun/frameworks/lgbm/__init__.py +1 -1
- mlrun/frameworks/lgbm/callbacks/__init__.py +1 -1
- mlrun/frameworks/lgbm/callbacks/callback.py +1 -1
- mlrun/frameworks/lgbm/callbacks/logging_callback.py +1 -1
- mlrun/frameworks/lgbm/callbacks/mlrun_logging_callback.py +1 -1
- mlrun/frameworks/lgbm/mlrun_interfaces/__init__.py +1 -1
- mlrun/frameworks/lgbm/mlrun_interfaces/booster_mlrun_interface.py +1 -1
- mlrun/frameworks/lgbm/mlrun_interfaces/mlrun_interface.py +1 -1
- mlrun/frameworks/lgbm/mlrun_interfaces/model_mlrun_interface.py +1 -1
- mlrun/frameworks/lgbm/model_handler.py +1 -1
- mlrun/frameworks/lgbm/model_server.py +1 -1
- mlrun/frameworks/lgbm/utils.py +1 -1
- mlrun/frameworks/onnx/__init__.py +1 -1
- mlrun/frameworks/onnx/dataset.py +1 -1
- mlrun/frameworks/onnx/mlrun_interface.py +1 -1
- mlrun/frameworks/onnx/model_handler.py +1 -1
- mlrun/frameworks/onnx/model_server.py +1 -1
- mlrun/frameworks/parallel_coordinates.py +1 -1
- mlrun/frameworks/pytorch/__init__.py +1 -1
- mlrun/frameworks/pytorch/callbacks/__init__.py +1 -1
- mlrun/frameworks/pytorch/callbacks/callback.py +1 -1
- mlrun/frameworks/pytorch/callbacks/logging_callback.py +1 -1
- mlrun/frameworks/pytorch/callbacks/mlrun_logging_callback.py +1 -1
- mlrun/frameworks/pytorch/callbacks/tensorboard_logging_callback.py +1 -1
- mlrun/frameworks/pytorch/callbacks_handler.py +1 -1
- mlrun/frameworks/pytorch/mlrun_interface.py +1 -1
- mlrun/frameworks/pytorch/model_handler.py +1 -1
- mlrun/frameworks/pytorch/model_server.py +1 -1
- mlrun/frameworks/pytorch/utils.py +1 -1
- mlrun/frameworks/sklearn/__init__.py +1 -1
- mlrun/frameworks/sklearn/estimator.py +1 -1
- mlrun/frameworks/sklearn/metric.py +1 -1
- mlrun/frameworks/sklearn/metrics_library.py +1 -1
- mlrun/frameworks/sklearn/mlrun_interface.py +1 -1
- mlrun/frameworks/sklearn/model_handler.py +1 -1
- mlrun/frameworks/sklearn/utils.py +1 -1
- mlrun/frameworks/tf_keras/__init__.py +1 -1
- mlrun/frameworks/tf_keras/callbacks/__init__.py +1 -1
- mlrun/frameworks/tf_keras/callbacks/logging_callback.py +1 -1
- mlrun/frameworks/tf_keras/callbacks/mlrun_logging_callback.py +1 -1
- mlrun/frameworks/tf_keras/callbacks/tensorboard_logging_callback.py +1 -1
- mlrun/frameworks/tf_keras/mlrun_interface.py +1 -1
- mlrun/frameworks/tf_keras/model_handler.py +1 -1
- mlrun/frameworks/tf_keras/model_server.py +1 -1
- mlrun/frameworks/tf_keras/utils.py +1 -1
- mlrun/frameworks/xgboost/__init__.py +1 -1
- mlrun/frameworks/xgboost/mlrun_interface.py +1 -1
- mlrun/frameworks/xgboost/model_handler.py +1 -1
- mlrun/frameworks/xgboost/utils.py +1 -1
- mlrun/k8s_utils.py +14 -765
- mlrun/kfpops.py +14 -17
- mlrun/launcher/__init__.py +13 -0
- mlrun/launcher/base.py +406 -0
- mlrun/launcher/client.py +159 -0
- mlrun/launcher/factory.py +50 -0
- mlrun/launcher/local.py +276 -0
- mlrun/launcher/remote.py +178 -0
- mlrun/lists.py +10 -2
- mlrun/mlutils/__init__.py +1 -1
- mlrun/mlutils/data.py +1 -1
- mlrun/mlutils/models.py +1 -1
- mlrun/mlutils/plots.py +1 -1
- mlrun/model.py +252 -14
- mlrun/model_monitoring/__init__.py +41 -0
- mlrun/model_monitoring/features_drift_table.py +1 -1
- mlrun/model_monitoring/helpers.py +123 -38
- mlrun/model_monitoring/model_endpoint.py +144 -0
- mlrun/model_monitoring/model_monitoring_batch.py +310 -259
- mlrun/model_monitoring/stores/__init__.py +106 -0
- mlrun/model_monitoring/stores/kv_model_endpoint_store.py +448 -0
- mlrun/model_monitoring/stores/model_endpoint_store.py +147 -0
- mlrun/model_monitoring/stores/models/__init__.py +23 -0
- mlrun/model_monitoring/stores/models/base.py +18 -0
- mlrun/model_monitoring/stores/models/mysql.py +100 -0
- mlrun/model_monitoring/stores/models/sqlite.py +98 -0
- mlrun/model_monitoring/stores/sql_model_endpoint_store.py +370 -0
- mlrun/model_monitoring/stream_processing_fs.py +239 -271
- mlrun/package/__init__.py +163 -0
- mlrun/package/context_handler.py +325 -0
- mlrun/package/errors.py +47 -0
- mlrun/package/packager.py +298 -0
- mlrun/{runtimes/package → package/packagers}/__init__.py +3 -1
- mlrun/package/packagers/default_packager.py +422 -0
- mlrun/package/packagers/numpy_packagers.py +612 -0
- mlrun/package/packagers/pandas_packagers.py +968 -0
- mlrun/package/packagers/python_standard_library_packagers.py +616 -0
- mlrun/package/packagers_manager.py +786 -0
- mlrun/package/utils/__init__.py +53 -0
- mlrun/package/utils/_archiver.py +226 -0
- mlrun/package/utils/_formatter.py +211 -0
- mlrun/package/utils/_pickler.py +234 -0
- mlrun/package/utils/_supported_format.py +71 -0
- mlrun/package/utils/log_hint_utils.py +93 -0
- mlrun/package/utils/type_hint_utils.py +298 -0
- mlrun/platforms/__init__.py +1 -1
- mlrun/platforms/iguazio.py +34 -2
- mlrun/platforms/other.py +1 -1
- mlrun/projects/__init__.py +1 -1
- mlrun/projects/operations.py +14 -9
- mlrun/projects/pipelines.py +31 -13
- mlrun/projects/project.py +762 -238
- mlrun/render.py +49 -19
- mlrun/run.py +57 -326
- mlrun/runtimes/__init__.py +3 -9
- mlrun/runtimes/base.py +247 -784
- mlrun/runtimes/constants.py +1 -1
- mlrun/runtimes/daskjob.py +45 -41
- mlrun/runtimes/funcdoc.py +43 -7
- mlrun/runtimes/function.py +66 -656
- mlrun/runtimes/function_reference.py +1 -1
- mlrun/runtimes/generators.py +1 -1
- mlrun/runtimes/kubejob.py +99 -116
- mlrun/runtimes/local.py +59 -66
- mlrun/runtimes/mpijob/__init__.py +1 -1
- mlrun/runtimes/mpijob/abstract.py +13 -15
- mlrun/runtimes/mpijob/v1.py +3 -1
- mlrun/runtimes/mpijob/v1alpha1.py +1 -1
- mlrun/runtimes/nuclio.py +1 -1
- mlrun/runtimes/pod.py +51 -26
- mlrun/runtimes/remotesparkjob.py +3 -1
- mlrun/runtimes/serving.py +12 -4
- mlrun/runtimes/sparkjob/__init__.py +1 -2
- mlrun/runtimes/sparkjob/abstract.py +44 -31
- mlrun/runtimes/sparkjob/spark3job.py +11 -9
- mlrun/runtimes/utils.py +61 -42
- mlrun/secrets.py +16 -18
- mlrun/serving/__init__.py +3 -2
- mlrun/serving/merger.py +1 -1
- mlrun/serving/remote.py +1 -1
- mlrun/serving/routers.py +39 -42
- mlrun/serving/server.py +23 -13
- mlrun/serving/serving_wrapper.py +1 -1
- mlrun/serving/states.py +172 -39
- mlrun/serving/utils.py +1 -1
- mlrun/serving/v1_serving.py +1 -1
- mlrun/serving/v2_serving.py +29 -21
- mlrun/utils/__init__.py +1 -2
- mlrun/utils/async_http.py +8 -1
- mlrun/utils/azure_vault.py +1 -1
- mlrun/utils/clones.py +2 -2
- mlrun/utils/condition_evaluator.py +65 -0
- mlrun/utils/db.py +52 -0
- mlrun/utils/helpers.py +188 -13
- mlrun/utils/http.py +89 -54
- mlrun/utils/logger.py +48 -8
- mlrun/utils/model_monitoring.py +132 -100
- mlrun/utils/notifications/__init__.py +1 -1
- mlrun/utils/notifications/notification/__init__.py +8 -6
- mlrun/utils/notifications/notification/base.py +20 -14
- mlrun/utils/notifications/notification/console.py +7 -4
- mlrun/utils/notifications/notification/git.py +36 -19
- mlrun/utils/notifications/notification/ipython.py +10 -8
- mlrun/utils/notifications/notification/slack.py +18 -13
- mlrun/utils/notifications/notification_pusher.py +377 -56
- mlrun/utils/regex.py +6 -1
- mlrun/utils/singleton.py +1 -1
- mlrun/utils/v3io_clients.py +1 -1
- mlrun/utils/vault.py +270 -269
- mlrun/utils/version/__init__.py +1 -1
- mlrun/utils/version/version.json +2 -2
- mlrun/utils/version/version.py +1 -1
- {mlrun-1.3.3.dist-info → mlrun-1.4.0.dist-info}/METADATA +16 -10
- mlrun-1.4.0.dist-info/RECORD +434 -0
- mlrun/api/api/endpoints/marketplace.py +0 -257
- mlrun/api/crud/marketplace.py +0 -221
- mlrun/api/crud/model_monitoring/model_endpoint_store.py +0 -847
- mlrun/api/db/filedb/db.py +0 -518
- mlrun/api/schemas/marketplace.py +0 -128
- mlrun/api/schemas/model_endpoints.py +0 -185
- mlrun/db/filedb.py +0 -891
- mlrun/feature_store/retrieval/online.py +0 -92
- mlrun/model_monitoring/constants.py +0 -67
- mlrun/runtimes/package/context_handler.py +0 -711
- mlrun/runtimes/sparkjob/spark2job.py +0 -59
- mlrun-1.3.3.dist-info/RECORD +0 -381
- {mlrun-1.3.3.dist-info → mlrun-1.4.0.dist-info}/LICENSE +0 -0
- {mlrun-1.3.3.dist-info → mlrun-1.4.0.dist-info}/WHEEL +0 -0
- {mlrun-1.3.3.dist-info → mlrun-1.4.0.dist-info}/entry_points.txt +0 -0
- {mlrun-1.3.3.dist-info → mlrun-1.4.0.dist-info}/top_level.txt +0 -0
mlrun/api/db/__init__.py
CHANGED
mlrun/api/db/base.py
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Copyright
|
|
1
|
+
# Copyright 2023 Iguazio
|
|
2
2
|
#
|
|
3
3
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
4
|
# you may not use this file except in compliance with the License.
|
|
@@ -12,11 +12,13 @@
|
|
|
12
12
|
# See the License for the specific language governing permissions and
|
|
13
13
|
# limitations under the License.
|
|
14
14
|
import datetime
|
|
15
|
+
import typing
|
|
15
16
|
import warnings
|
|
16
17
|
from abc import ABC, abstractmethod
|
|
17
18
|
from typing import Any, Dict, List, Optional, Tuple, Union
|
|
18
19
|
|
|
19
|
-
|
|
20
|
+
import mlrun.common.schemas
|
|
21
|
+
import mlrun.model
|
|
20
22
|
|
|
21
23
|
|
|
22
24
|
class DBError(Exception):
|
|
@@ -96,13 +98,14 @@ class DBInterface(ABC):
|
|
|
96
98
|
start_time_to=None,
|
|
97
99
|
last_update_time_from=None,
|
|
98
100
|
last_update_time_to=None,
|
|
99
|
-
partition_by: schemas.RunPartitionByField = None,
|
|
101
|
+
partition_by: mlrun.common.schemas.RunPartitionByField = None,
|
|
100
102
|
rows_per_partition: int = 1,
|
|
101
|
-
partition_sort_by: schemas.SortField = None,
|
|
102
|
-
partition_order: schemas.OrderType = schemas.OrderType.desc,
|
|
103
|
+
partition_sort_by: mlrun.common.schemas.SortField = None,
|
|
104
|
+
partition_order: mlrun.common.schemas.OrderType = mlrun.common.schemas.OrderType.desc,
|
|
103
105
|
max_partitions: int = 0,
|
|
104
106
|
requested_logs: bool = None,
|
|
105
107
|
return_as_run_structs: bool = True,
|
|
108
|
+
with_notifications: bool = False,
|
|
106
109
|
):
|
|
107
110
|
pass
|
|
108
111
|
|
|
@@ -119,7 +122,7 @@ class DBInterface(ABC):
|
|
|
119
122
|
session,
|
|
120
123
|
project: str,
|
|
121
124
|
tag: str,
|
|
122
|
-
identifiers: List[schemas.ArtifactIdentifier],
|
|
125
|
+
identifiers: List[mlrun.common.schemas.ArtifactIdentifier],
|
|
123
126
|
):
|
|
124
127
|
pass
|
|
125
128
|
|
|
@@ -128,7 +131,7 @@ class DBInterface(ABC):
|
|
|
128
131
|
session,
|
|
129
132
|
project: str,
|
|
130
133
|
tag: str,
|
|
131
|
-
identifiers: List[schemas.ArtifactIdentifier],
|
|
134
|
+
identifiers: List[mlrun.common.schemas.ArtifactIdentifier],
|
|
132
135
|
):
|
|
133
136
|
pass
|
|
134
137
|
|
|
@@ -137,7 +140,7 @@ class DBInterface(ABC):
|
|
|
137
140
|
session,
|
|
138
141
|
project: str,
|
|
139
142
|
tag: str,
|
|
140
|
-
identifiers: List[schemas.ArtifactIdentifier],
|
|
143
|
+
identifiers: List[mlrun.common.schemas.ArtifactIdentifier],
|
|
141
144
|
):
|
|
142
145
|
pass
|
|
143
146
|
|
|
@@ -169,7 +172,7 @@ class DBInterface(ABC):
|
|
|
169
172
|
since=None,
|
|
170
173
|
until=None,
|
|
171
174
|
kind=None,
|
|
172
|
-
category: schemas.ArtifactCategories = None,
|
|
175
|
+
category: mlrun.common.schemas.ArtifactCategories = None,
|
|
173
176
|
iter: int = None,
|
|
174
177
|
best_iteration: bool = False,
|
|
175
178
|
as_records: bool = False,
|
|
@@ -232,9 +235,9 @@ class DBInterface(ABC):
|
|
|
232
235
|
session,
|
|
233
236
|
project: str,
|
|
234
237
|
name: str,
|
|
235
|
-
kind: schemas.ScheduleKinds,
|
|
238
|
+
kind: mlrun.common.schemas.ScheduleKinds,
|
|
236
239
|
scheduled_object: Any,
|
|
237
|
-
cron_trigger: schemas.ScheduleCronTrigger,
|
|
240
|
+
cron_trigger: mlrun.common.schemas.ScheduleCronTrigger,
|
|
238
241
|
concurrency_limit: int,
|
|
239
242
|
labels: Dict = None,
|
|
240
243
|
next_run_time: datetime.datetime = None,
|
|
@@ -248,7 +251,7 @@ class DBInterface(ABC):
|
|
|
248
251
|
project: str,
|
|
249
252
|
name: str,
|
|
250
253
|
scheduled_object: Any = None,
|
|
251
|
-
cron_trigger: schemas.ScheduleCronTrigger = None,
|
|
254
|
+
cron_trigger: mlrun.common.schemas.ScheduleCronTrigger = None,
|
|
252
255
|
labels: Dict = None,
|
|
253
256
|
last_run_uri: str = None,
|
|
254
257
|
concurrency_limit: int = None,
|
|
@@ -263,12 +266,14 @@ class DBInterface(ABC):
|
|
|
263
266
|
project: str = None,
|
|
264
267
|
name: str = None,
|
|
265
268
|
labels: str = None,
|
|
266
|
-
kind: schemas.ScheduleKinds = None,
|
|
267
|
-
) -> List[schemas.ScheduleRecord]:
|
|
269
|
+
kind: mlrun.common.schemas.ScheduleKinds = None,
|
|
270
|
+
) -> List[mlrun.common.schemas.ScheduleRecord]:
|
|
268
271
|
pass
|
|
269
272
|
|
|
270
273
|
@abstractmethod
|
|
271
|
-
def get_schedule(
|
|
274
|
+
def get_schedule(
|
|
275
|
+
self, session, project: str, name: str
|
|
276
|
+
) -> mlrun.common.schemas.ScheduleRecord:
|
|
272
277
|
pass
|
|
273
278
|
|
|
274
279
|
@abstractmethod
|
|
@@ -282,7 +287,7 @@ class DBInterface(ABC):
|
|
|
282
287
|
@abstractmethod
|
|
283
288
|
def generate_projects_summaries(
|
|
284
289
|
self, session, projects: List[str]
|
|
285
|
-
) -> List[schemas.ProjectSummary]:
|
|
290
|
+
) -> List[mlrun.common.schemas.ProjectSummary]:
|
|
286
291
|
pass
|
|
287
292
|
|
|
288
293
|
@abstractmethod
|
|
@@ -302,17 +307,17 @@ class DBInterface(ABC):
|
|
|
302
307
|
self,
|
|
303
308
|
session,
|
|
304
309
|
owner: str = None,
|
|
305
|
-
format_: schemas.ProjectsFormat = schemas.ProjectsFormat.full,
|
|
310
|
+
format_: mlrun.common.schemas.ProjectsFormat = mlrun.common.schemas.ProjectsFormat.full,
|
|
306
311
|
labels: List[str] = None,
|
|
307
|
-
state: schemas.ProjectState = None,
|
|
312
|
+
state: mlrun.common.schemas.ProjectState = None,
|
|
308
313
|
names: Optional[List[str]] = None,
|
|
309
|
-
) -> schemas.ProjectsOutput:
|
|
314
|
+
) -> mlrun.common.schemas.ProjectsOutput:
|
|
310
315
|
pass
|
|
311
316
|
|
|
312
317
|
@abstractmethod
|
|
313
318
|
def get_project(
|
|
314
319
|
self, session, name: str = None, project_id: int = None
|
|
315
|
-
) -> schemas.Project:
|
|
320
|
+
) -> mlrun.common.schemas.Project:
|
|
316
321
|
pass
|
|
317
322
|
|
|
318
323
|
@abstractmethod
|
|
@@ -329,11 +334,11 @@ class DBInterface(ABC):
|
|
|
329
334
|
pass
|
|
330
335
|
|
|
331
336
|
@abstractmethod
|
|
332
|
-
def create_project(self, session, project: schemas.Project):
|
|
337
|
+
def create_project(self, session, project: mlrun.common.schemas.Project):
|
|
333
338
|
pass
|
|
334
339
|
|
|
335
340
|
@abstractmethod
|
|
336
|
-
def store_project(self, session, name: str, project: schemas.Project):
|
|
341
|
+
def store_project(self, session, name: str, project: mlrun.common.schemas.Project):
|
|
337
342
|
pass
|
|
338
343
|
|
|
339
344
|
@abstractmethod
|
|
@@ -342,7 +347,7 @@ class DBInterface(ABC):
|
|
|
342
347
|
session,
|
|
343
348
|
name: str,
|
|
344
349
|
project: dict,
|
|
345
|
-
patch_mode: schemas.PatchMode = schemas.PatchMode.replace,
|
|
350
|
+
patch_mode: mlrun.common.schemas.PatchMode = mlrun.common.schemas.PatchMode.replace,
|
|
346
351
|
):
|
|
347
352
|
pass
|
|
348
353
|
|
|
@@ -351,7 +356,7 @@ class DBInterface(ABC):
|
|
|
351
356
|
self,
|
|
352
357
|
session,
|
|
353
358
|
name: str,
|
|
354
|
-
deletion_strategy: schemas.DeletionStrategy = schemas.DeletionStrategy.default(),
|
|
359
|
+
deletion_strategy: mlrun.common.schemas.DeletionStrategy = mlrun.common.schemas.DeletionStrategy.default(),
|
|
355
360
|
):
|
|
356
361
|
pass
|
|
357
362
|
|
|
@@ -360,7 +365,7 @@ class DBInterface(ABC):
|
|
|
360
365
|
self,
|
|
361
366
|
session,
|
|
362
367
|
project,
|
|
363
|
-
feature_set: schemas.FeatureSet,
|
|
368
|
+
feature_set: mlrun.common.schemas.FeatureSet,
|
|
364
369
|
versioned=True,
|
|
365
370
|
) -> str:
|
|
366
371
|
pass
|
|
@@ -371,7 +376,7 @@ class DBInterface(ABC):
|
|
|
371
376
|
session,
|
|
372
377
|
project,
|
|
373
378
|
name,
|
|
374
|
-
feature_set: schemas.FeatureSet,
|
|
379
|
+
feature_set: mlrun.common.schemas.FeatureSet,
|
|
375
380
|
tag=None,
|
|
376
381
|
uid=None,
|
|
377
382
|
versioned=True,
|
|
@@ -382,7 +387,7 @@ class DBInterface(ABC):
|
|
|
382
387
|
@abstractmethod
|
|
383
388
|
def get_feature_set(
|
|
384
389
|
self, session, project: str, name: str, tag: str = None, uid: str = None
|
|
385
|
-
) -> schemas.FeatureSet:
|
|
390
|
+
) -> mlrun.common.schemas.FeatureSet:
|
|
386
391
|
pass
|
|
387
392
|
|
|
388
393
|
@abstractmethod
|
|
@@ -394,7 +399,7 @@ class DBInterface(ABC):
|
|
|
394
399
|
tag: str = None,
|
|
395
400
|
entities: List[str] = None,
|
|
396
401
|
labels: List[str] = None,
|
|
397
|
-
) -> schemas.FeaturesOutput:
|
|
402
|
+
) -> mlrun.common.schemas.FeaturesOutput:
|
|
398
403
|
pass
|
|
399
404
|
|
|
400
405
|
@abstractmethod
|
|
@@ -405,7 +410,7 @@ class DBInterface(ABC):
|
|
|
405
410
|
name: str = None,
|
|
406
411
|
tag: str = None,
|
|
407
412
|
labels: List[str] = None,
|
|
408
|
-
) -> schemas.EntitiesOutput:
|
|
413
|
+
) -> mlrun.common.schemas.EntitiesOutput:
|
|
409
414
|
pass
|
|
410
415
|
|
|
411
416
|
@abstractmethod
|
|
@@ -419,11 +424,11 @@ class DBInterface(ABC):
|
|
|
419
424
|
entities: List[str] = None,
|
|
420
425
|
features: List[str] = None,
|
|
421
426
|
labels: List[str] = None,
|
|
422
|
-
partition_by: schemas.FeatureStorePartitionByField = None,
|
|
427
|
+
partition_by: mlrun.common.schemas.FeatureStorePartitionByField = None,
|
|
423
428
|
rows_per_partition: int = 1,
|
|
424
|
-
partition_sort_by: schemas.SortField = None,
|
|
425
|
-
partition_order: schemas.OrderType = schemas.OrderType.desc,
|
|
426
|
-
) -> schemas.FeatureSetsOutput:
|
|
429
|
+
partition_sort_by: mlrun.common.schemas.SortField = None,
|
|
430
|
+
partition_order: mlrun.common.schemas.OrderType = mlrun.common.schemas.OrderType.desc,
|
|
431
|
+
) -> mlrun.common.schemas.FeatureSetsOutput:
|
|
427
432
|
pass
|
|
428
433
|
|
|
429
434
|
@abstractmethod
|
|
@@ -446,7 +451,7 @@ class DBInterface(ABC):
|
|
|
446
451
|
feature_set_patch: dict,
|
|
447
452
|
tag=None,
|
|
448
453
|
uid=None,
|
|
449
|
-
patch_mode: schemas.PatchMode = schemas.PatchMode.replace,
|
|
454
|
+
patch_mode: mlrun.common.schemas.PatchMode = mlrun.common.schemas.PatchMode.replace,
|
|
450
455
|
) -> str:
|
|
451
456
|
pass
|
|
452
457
|
|
|
@@ -459,7 +464,7 @@ class DBInterface(ABC):
|
|
|
459
464
|
self,
|
|
460
465
|
session,
|
|
461
466
|
project,
|
|
462
|
-
feature_vector: schemas.FeatureVector,
|
|
467
|
+
feature_vector: mlrun.common.schemas.FeatureVector,
|
|
463
468
|
versioned=True,
|
|
464
469
|
) -> str:
|
|
465
470
|
pass
|
|
@@ -467,7 +472,7 @@ class DBInterface(ABC):
|
|
|
467
472
|
@abstractmethod
|
|
468
473
|
def get_feature_vector(
|
|
469
474
|
self, session, project: str, name: str, tag: str = None, uid: str = None
|
|
470
|
-
) -> schemas.FeatureVector:
|
|
475
|
+
) -> mlrun.common.schemas.FeatureVector:
|
|
471
476
|
pass
|
|
472
477
|
|
|
473
478
|
@abstractmethod
|
|
@@ -479,11 +484,11 @@ class DBInterface(ABC):
|
|
|
479
484
|
tag: str = None,
|
|
480
485
|
state: str = None,
|
|
481
486
|
labels: List[str] = None,
|
|
482
|
-
partition_by: schemas.FeatureStorePartitionByField = None,
|
|
487
|
+
partition_by: mlrun.common.schemas.FeatureStorePartitionByField = None,
|
|
483
488
|
rows_per_partition: int = 1,
|
|
484
|
-
partition_sort_by: schemas.SortField = None,
|
|
485
|
-
partition_order: schemas.OrderType = schemas.OrderType.desc,
|
|
486
|
-
) -> schemas.FeatureVectorsOutput:
|
|
489
|
+
partition_sort_by: mlrun.common.schemas.SortField = None,
|
|
490
|
+
partition_order: mlrun.common.schemas.OrderType = mlrun.common.schemas.OrderType.desc,
|
|
491
|
+
) -> mlrun.common.schemas.FeatureVectorsOutput:
|
|
487
492
|
pass
|
|
488
493
|
|
|
489
494
|
@abstractmethod
|
|
@@ -503,7 +508,7 @@ class DBInterface(ABC):
|
|
|
503
508
|
session,
|
|
504
509
|
project,
|
|
505
510
|
name,
|
|
506
|
-
feature_vector: schemas.FeatureVector,
|
|
511
|
+
feature_vector: mlrun.common.schemas.FeatureVector,
|
|
507
512
|
tag=None,
|
|
508
513
|
uid=None,
|
|
509
514
|
versioned=True,
|
|
@@ -520,7 +525,7 @@ class DBInterface(ABC):
|
|
|
520
525
|
feature_vector_update: dict,
|
|
521
526
|
tag=None,
|
|
522
527
|
uid=None,
|
|
523
|
-
patch_mode: schemas.PatchMode = schemas.PatchMode.replace,
|
|
528
|
+
patch_mode: mlrun.common.schemas.PatchMode = mlrun.common.schemas.PatchMode.replace,
|
|
524
529
|
) -> str:
|
|
525
530
|
pass
|
|
526
531
|
|
|
@@ -536,29 +541,33 @@ class DBInterface(ABC):
|
|
|
536
541
|
pass
|
|
537
542
|
|
|
538
543
|
def list_artifact_tags(
|
|
539
|
-
self,
|
|
544
|
+
self,
|
|
545
|
+
session,
|
|
546
|
+
project,
|
|
547
|
+
category: Union[str, mlrun.common.schemas.ArtifactCategories] = None,
|
|
540
548
|
):
|
|
541
549
|
return []
|
|
542
550
|
|
|
543
|
-
def
|
|
544
|
-
self, session, ordered_source: schemas.
|
|
551
|
+
def create_hub_source(
|
|
552
|
+
self, session, ordered_source: mlrun.common.schemas.IndexedHubSource
|
|
545
553
|
):
|
|
546
554
|
pass
|
|
547
555
|
|
|
548
|
-
def
|
|
549
|
-
self,
|
|
556
|
+
def store_hub_source(
|
|
557
|
+
self,
|
|
558
|
+
session,
|
|
559
|
+
name,
|
|
560
|
+
ordered_source: mlrun.common.schemas.IndexedHubSource,
|
|
550
561
|
):
|
|
551
562
|
pass
|
|
552
563
|
|
|
553
|
-
def
|
|
554
|
-
self, session
|
|
555
|
-
) -> List[schemas.IndexedMarketplaceSource]:
|
|
564
|
+
def list_hub_sources(self, session) -> List[mlrun.common.schemas.IndexedHubSource]:
|
|
556
565
|
pass
|
|
557
566
|
|
|
558
|
-
def
|
|
567
|
+
def delete_hub_source(self, session, name):
|
|
559
568
|
pass
|
|
560
569
|
|
|
561
|
-
def
|
|
570
|
+
def get_hub_source(self, session, name) -> mlrun.common.schemas.IndexedHubSource:
|
|
562
571
|
pass
|
|
563
572
|
|
|
564
573
|
def store_background_task(
|
|
@@ -566,12 +575,51 @@ class DBInterface(ABC):
|
|
|
566
575
|
session,
|
|
567
576
|
name: str,
|
|
568
577
|
project: str,
|
|
569
|
-
state: str = schemas.BackgroundTaskState.running,
|
|
578
|
+
state: str = mlrun.common.schemas.BackgroundTaskState.running,
|
|
570
579
|
timeout: int = None,
|
|
571
580
|
):
|
|
572
581
|
pass
|
|
573
582
|
|
|
574
583
|
def get_background_task(
|
|
575
584
|
self, session, name: str, project: str
|
|
576
|
-
) -> schemas.BackgroundTask:
|
|
585
|
+
) -> mlrun.common.schemas.BackgroundTask:
|
|
586
|
+
pass
|
|
587
|
+
|
|
588
|
+
@abstractmethod
|
|
589
|
+
def store_run_notifications(
|
|
590
|
+
self,
|
|
591
|
+
session,
|
|
592
|
+
notification_objects: typing.List[mlrun.model.Notification],
|
|
593
|
+
run_uid: str,
|
|
594
|
+
project: str,
|
|
595
|
+
):
|
|
596
|
+
pass
|
|
597
|
+
|
|
598
|
+
@abstractmethod
|
|
599
|
+
def list_run_notifications(
|
|
600
|
+
self,
|
|
601
|
+
session,
|
|
602
|
+
run_uid: str,
|
|
603
|
+
project: str,
|
|
604
|
+
) -> typing.List[mlrun.model.Notification]:
|
|
605
|
+
pass
|
|
606
|
+
|
|
607
|
+
def delete_run_notifications(
|
|
608
|
+
self,
|
|
609
|
+
session,
|
|
610
|
+
name: str = None,
|
|
611
|
+
run_uid: str = None,
|
|
612
|
+
project: str = None,
|
|
613
|
+
commit: bool = True,
|
|
614
|
+
):
|
|
615
|
+
pass
|
|
616
|
+
|
|
617
|
+
def set_run_notifications(
|
|
618
|
+
self,
|
|
619
|
+
session,
|
|
620
|
+
project: str,
|
|
621
|
+
notifications: typing.List[mlrun.model.Notification],
|
|
622
|
+
identifiers: typing.List[mlrun.common.schemas.RunIdentifier],
|
|
623
|
+
**kwargs,
|
|
624
|
+
):
|
|
577
625
|
pass
|
mlrun/api/db/init_db.py
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Copyright
|
|
1
|
+
# Copyright 2023 Iguazio
|
|
2
2
|
#
|
|
3
3
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
4
|
# you may not use this file except in compliance with the License.
|
|
@@ -12,13 +12,12 @@
|
|
|
12
12
|
# See the License for the specific language governing permissions and
|
|
13
13
|
# limitations under the License.
|
|
14
14
|
#
|
|
15
|
-
from sqlalchemy.orm import Session
|
|
16
15
|
|
|
17
16
|
from mlrun.api.db.sqldb.models import Base
|
|
18
17
|
from mlrun.api.db.sqldb.session import get_engine
|
|
19
18
|
from mlrun.config import config
|
|
20
19
|
|
|
21
20
|
|
|
22
|
-
def init_db(
|
|
21
|
+
def init_db() -> None:
|
|
23
22
|
if config.httpdb.db_type != "filedb":
|
|
24
23
|
Base.metadata.create_all(bind=get_engine())
|
mlrun/api/db/session.py
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Copyright
|
|
1
|
+
# Copyright 2023 Iguazio
|
|
2
2
|
#
|
|
3
3
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
4
|
# you may not use this file except in compliance with the License.
|
|
@@ -15,22 +15,14 @@
|
|
|
15
15
|
from sqlalchemy.orm import Session
|
|
16
16
|
|
|
17
17
|
from mlrun.api.db.sqldb.session import create_session as sqldb_create_session
|
|
18
|
-
from mlrun.config import config
|
|
19
18
|
|
|
20
19
|
|
|
21
|
-
def create_session(
|
|
22
|
-
|
|
23
|
-
if db_type == "filedb":
|
|
24
|
-
return None
|
|
25
|
-
else:
|
|
26
|
-
return sqldb_create_session()
|
|
20
|
+
def create_session() -> Session:
|
|
21
|
+
return sqldb_create_session()
|
|
27
22
|
|
|
28
23
|
|
|
29
24
|
def close_session(db_session):
|
|
30
|
-
|
|
31
|
-
# will be None when it's filedb session
|
|
32
|
-
if db_session is not None:
|
|
33
|
-
db_session.close()
|
|
25
|
+
db_session.close()
|
|
34
26
|
|
|
35
27
|
|
|
36
28
|
def run_function_with_new_db_session(func):
|
mlrun/api/db/sqldb/__init__.py
CHANGED