mlrun 1.10.0rc2__py3-none-any.whl → 1.10.0rc3__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.

Files changed (50) hide show
  1. mlrun/__init__.py +2 -2
  2. mlrun/__main__.py +2 -2
  3. mlrun/artifacts/base.py +6 -6
  4. mlrun/artifacts/dataset.py +1 -1
  5. mlrun/artifacts/document.py +1 -1
  6. mlrun/artifacts/model.py +1 -1
  7. mlrun/artifacts/plots.py +2 -2
  8. mlrun/common/runtimes/constants.py +1 -8
  9. mlrun/common/schemas/artifact.py +1 -1
  10. mlrun/common/schemas/pipeline.py +1 -1
  11. mlrun/common/schemas/project.py +1 -1
  12. mlrun/common/schemas/runs.py +1 -1
  13. mlrun/config.py +4 -4
  14. mlrun/datastore/datastore_profile.py +2 -2
  15. mlrun/datastore/sources.py +3 -3
  16. mlrun/datastore/store_resources.py +3 -3
  17. mlrun/datastore/targets.py +5 -5
  18. mlrun/datastore/utils.py +2 -2
  19. mlrun/db/base.py +6 -6
  20. mlrun/db/httpdb.py +66 -66
  21. mlrun/errors.py +22 -1
  22. mlrun/feature_store/common.py +5 -5
  23. mlrun/feature_store/feature_set.py +10 -6
  24. mlrun/feature_store/feature_vector.py +8 -6
  25. mlrun/launcher/base.py +1 -1
  26. mlrun/lists.py +1 -1
  27. mlrun/model_monitoring/__init__.py +0 -1
  28. mlrun/model_monitoring/api.py +0 -44
  29. mlrun/model_monitoring/applications/evidently/base.py +3 -41
  30. mlrun/model_monitoring/controller.py +1 -1
  31. mlrun/model_monitoring/writer.py +1 -4
  32. mlrun/projects/operations.py +3 -3
  33. mlrun/projects/project.py +19 -19
  34. mlrun/run.py +10 -10
  35. mlrun/runtimes/base.py +6 -6
  36. mlrun/runtimes/kubejob.py +2 -2
  37. mlrun/runtimes/nuclio/function.py +3 -3
  38. mlrun/runtimes/nuclio/serving.py +13 -23
  39. mlrun/serving/__init__.py +5 -1
  40. mlrun/serving/server.py +39 -3
  41. mlrun/serving/states.py +34 -1
  42. mlrun/utils/helpers.py +10 -4
  43. mlrun/utils/version/version.json +2 -2
  44. {mlrun-1.10.0rc2.dist-info → mlrun-1.10.0rc3.dist-info}/METADATA +21 -9
  45. {mlrun-1.10.0rc2.dist-info → mlrun-1.10.0rc3.dist-info}/RECORD +49 -50
  46. {mlrun-1.10.0rc2.dist-info → mlrun-1.10.0rc3.dist-info}/WHEEL +1 -1
  47. mlrun/model_monitoring/tracking_policy.py +0 -124
  48. {mlrun-1.10.0rc2.dist-info → mlrun-1.10.0rc3.dist-info}/entry_points.txt +0 -0
  49. {mlrun-1.10.0rc2.dist-info → mlrun-1.10.0rc3.dist-info}/licenses/LICENSE +0 -0
  50. {mlrun-1.10.0rc2.dist-info → mlrun-1.10.0rc3.dist-info}/top_level.txt +0 -0
mlrun/__init__.py CHANGED
@@ -120,7 +120,7 @@ def set_environment(
120
120
  :param mock_functions: set to True to create local/mock functions instead of real containers,
121
121
  set to "auto" to auto determine based on the presence of k8s/Nuclio
122
122
  :returns:
123
- default project name
123
+ active project name
124
124
  actual artifact path/url, can be used to create subpaths per task or group of artifacts
125
125
  """
126
126
  if env_file:
@@ -161,7 +161,7 @@ def set_environment(
161
161
  )
162
162
  mlconf.artifact_path = artifact_path
163
163
 
164
- return mlconf.default_project, mlconf.artifact_path
164
+ return mlconf.active_project, mlconf.artifact_path
165
165
 
166
166
 
167
167
  def get_current_project(silent: bool = False) -> Optional[MlrunProject]:
mlrun/__main__.py CHANGED
@@ -550,7 +550,7 @@ def build(
550
550
  exit(1)
551
551
 
552
552
  meta = func.metadata
553
- meta.project = project or meta.project or mlconf.default_project
553
+ meta.project = project or meta.project or mlconf.active_project
554
554
  meta.name = name or meta.name
555
555
  meta.tag = tag or meta.tag
556
556
 
@@ -870,7 +870,7 @@ def version():
870
870
  @main.command()
871
871
  @click.argument("uid", type=str)
872
872
  @click.option(
873
- "--project", "-p", help="project name (defaults to mlrun.mlconf.default_project)"
873
+ "--project", "-p", help="project name (defaults to mlrun.mlconf.active_project)"
874
874
  )
875
875
  @click.option("--offset", type=int, default=0, help="byte offset")
876
876
  @click.option("--db", help="api and db service path/url")
mlrun/artifacts/base.py CHANGED
@@ -219,7 +219,7 @@ class Artifact(ModelObj):
219
219
  project=None,
220
220
  src_path: typing.Optional[str] = None,
221
221
  # All params up until here are legacy params for compatibility with legacy artifacts.
222
- # TODO: remove them in 1.9.0.
222
+ # TODO: remove them in 1.10.0.
223
223
  metadata: ArtifactMetadata = None,
224
224
  spec: ArtifactSpec = None,
225
225
  ):
@@ -235,7 +235,7 @@ class Artifact(ModelObj):
235
235
  or src_path
236
236
  ):
237
237
  warnings.warn(
238
- "Artifact constructor parameters are deprecated and will be removed in 1.9.0. "
238
+ "Artifact constructor parameters are deprecated in 1.7.0 and will be removed in 1.10.0. "
239
239
  "Use the metadata and spec parameters instead.",
240
240
  DeprecationWarning,
241
241
  )
@@ -247,7 +247,7 @@ class Artifact(ModelObj):
247
247
 
248
248
  self.metadata.key = key or self.metadata.key
249
249
  self.metadata.project = (
250
- project or mlrun.mlconf.default_project or self.metadata.project
250
+ project or mlrun.mlconf.active_project or self.metadata.project
251
251
  )
252
252
  self.spec.size = size or self.spec.size
253
253
  self.spec.target_path = target_path or self.spec.target_path
@@ -758,13 +758,13 @@ class LinkArtifact(Artifact):
758
758
  link_tree=None,
759
759
  project=None,
760
760
  # All params up until here are legacy params for compatibility with legacy artifacts.
761
- # TODO: remove them in 1.9.0.
761
+ # TODO: remove them in 1.10.0.
762
762
  metadata: ArtifactMetadata = None,
763
763
  spec: LinkArtifactSpec = None,
764
764
  ):
765
765
  if key or target_path or link_iteration or link_key or link_tree or project:
766
766
  warnings.warn(
767
- "Artifact constructor parameters are deprecated and will be removed in 1.9.0. "
767
+ "Artifact constructor parameters are deprecated in 1.7.0 and will be removed in 1.10.0. "
768
768
  "Use the metadata and spec parameters instead.",
769
769
  DeprecationWarning,
770
770
  )
@@ -907,7 +907,7 @@ def convert_legacy_artifact_to_new_format(
907
907
  artifact_key = f"{artifact_key}:{artifact_tag}"
908
908
  # TODO: Remove once data migration v5 is obsolete
909
909
  warnings.warn(
910
- f"Converting legacy artifact '{artifact_key}' to new format. This will not be supported in MLRun 1.9.0. "
910
+ f"Converting legacy artifact '{artifact_key}' to new format. This will not be supported in MLRun 1.10.0. "
911
911
  f"Make sure to save the artifact/project in the new format.",
912
912
  FutureWarning,
913
913
  )
@@ -163,7 +163,7 @@ class DatasetArtifact(Artifact):
163
163
  ):
164
164
  if key or format or target_path:
165
165
  warnings.warn(
166
- "Artifact constructor parameters are deprecated and will be removed in 1.9.0. "
166
+ "Artifact constructor parameters are deprecated in 1.7.0 and will be removed in 1.10.0. "
167
167
  "Use the metadata and spec parameters instead.",
168
168
  DeprecationWarning,
169
169
  )
@@ -190,7 +190,7 @@ class MLRunLoader:
190
190
 
191
191
  # Resolve the producer
192
192
  if not self.producer:
193
- self.producer = mlrun.mlconf.default_project
193
+ self.producer = mlrun.mlconf.active_project
194
194
  if isinstance(self.producer, str):
195
195
  self.producer = mlrun.get_or_create_project(self.producer)
196
196
 
mlrun/artifacts/model.py CHANGED
@@ -152,7 +152,7 @@ class ModelArtifact(Artifact):
152
152
  ):
153
153
  if key or body or format or target_path:
154
154
  warnings.warn(
155
- "Artifact constructor parameters are deprecated and will be removed in 1.9.0. "
155
+ "Artifact constructor parameters are deprecated in 1.7.0 and will be removed in 1.10.0. "
156
156
  "Use the metadata and spec parameters instead.",
157
157
  DeprecationWarning,
158
158
  )
mlrun/artifacts/plots.py CHANGED
@@ -37,7 +37,7 @@ class PlotArtifact(Artifact):
37
37
  ):
38
38
  if key or body or is_inline or target_path:
39
39
  warnings.warn(
40
- "Artifact constructor parameters are deprecated and will be removed in 1.9.0. "
40
+ "Artifact constructor parameters are deprecated in 1.7.0 and will be removed in 1.10.0. "
41
41
  "Use the metadata and spec parameters instead.",
42
42
  DeprecationWarning,
43
43
  )
@@ -96,7 +96,7 @@ class PlotlyArtifact(Artifact):
96
96
  """
97
97
  if key or target_path:
98
98
  warnings.warn(
99
- "Artifact constructor parameters are deprecated and will be removed in 1.9.0. "
99
+ "Artifact constructor parameters are deprecated in 1.7.0 and will be removed in 1.10.0. "
100
100
  "Use the metadata and spec parameters instead.",
101
101
  DeprecationWarning,
102
102
  )
@@ -15,8 +15,6 @@
15
15
  import enum
16
16
  import typing
17
17
 
18
- from deprecated import deprecated
19
-
20
18
  import mlrun.common.constants as mlrun_constants
21
19
  import mlrun_pipelines.common.models
22
20
 
@@ -239,12 +237,7 @@ class RunStates:
239
237
  }[pipeline_run_status]
240
238
 
241
239
 
242
- # TODO: remove this class in 1.11.0 - use only MLRunInternalLabels
243
- @deprecated(
244
- version="1.9.0",
245
- reason="This class is deprecated and will be removed in 1.11.0. Use MLRunInternalLabels instead.",
246
- category=FutureWarning,
247
- )
240
+ # TODO: remove this class in 1.10.0 - use only MlrunInternalLabels
248
241
  class RunLabels(enum.Enum):
249
242
  owner = mlrun_constants.MLRunInternalLabels.owner
250
243
  v3io_user = mlrun_constants.MLRunInternalLabels.v3io_user
@@ -80,7 +80,7 @@ class ArtifactIdentifier(pydantic.v1.BaseModel):
80
80
 
81
81
  @deprecated(
82
82
  version="1.7.0",
83
- reason="mlrun.common.schemas.ArtifactsFormat is deprecated and will be removed in 1.9.0. "
83
+ reason="mlrun.common.schemas.ArtifactsFormat is deprecated and will be removed in 1.10.0. "
84
84
  "Use mlrun.common.formatters.ArtifactFormat instead.",
85
85
  category=FutureWarning,
86
86
  )
@@ -22,7 +22,7 @@ import mlrun.common.types
22
22
 
23
23
  @deprecated(
24
24
  version="1.7.0",
25
- reason="mlrun.common.schemas.PipelinesFormat is deprecated and will be removed in 1.9.0. "
25
+ reason="mlrun.common.schemas.PipelinesFormat is deprecated and will be removed in 1.10.0. "
26
26
  "Use mlrun.common.formatters.PipelineFormat instead.",
27
27
  category=FutureWarning,
28
28
  )
@@ -26,7 +26,7 @@ from .object import ObjectKind, ObjectStatus
26
26
 
27
27
  @deprecated(
28
28
  version="1.7.0",
29
- reason="mlrun.common.schemas.ProjectsFormat is deprecated and will be removed in 1.9.0. "
29
+ reason="mlrun.common.schemas.ProjectsFormat is deprecated and will be removed in 1.10.0. "
30
30
  "Use mlrun.common.formatters.ProjectFormat instead.",
31
31
  category=FutureWarning,
32
32
  )
@@ -28,7 +28,7 @@ class RunIdentifier(pydantic.v1.BaseModel):
28
28
 
29
29
  @deprecated(
30
30
  version="1.7.0",
31
- reason="mlrun.common.schemas.RunsFormat is deprecated and will be removed in 1.9.0. "
31
+ reason="mlrun.common.schemas.RunsFormat is deprecated and will be removed in 1.10.0. "
32
32
  "Use mlrun.common.formatters.RunFormat instead.",
33
33
  category=FutureWarning,
34
34
  )
mlrun/config.py CHANGED
@@ -79,7 +79,7 @@ default_config = {
79
79
  # comma separated list of images that are in the specified images_registry, and therefore will be enriched with this
80
80
  # registry when used. default to mlrun/* which means any image which is of the mlrun repository (mlrun/mlrun,
81
81
  # mlrun/ml-base, etc...)
82
- "images_to_enrich_registry": "^mlrun/*,python:3.9",
82
+ "images_to_enrich_registry": "^mlrun/*,^python:3.(9|11)$",
83
83
  "kfp_url": "",
84
84
  "kfp_ttl": "14400", # KFP ttl in sec, after that completed PODs will be deleted
85
85
  "kfp_image": "mlrun/mlrun-kfp", # image to use for KFP runner
@@ -94,7 +94,7 @@ default_config = {
94
94
  "default_base_image": "mlrun/mlrun", # default base image when doing .deploy()
95
95
  # template for project default image name. Parameter {name} will be replaced with project name
96
96
  "default_project_image_name": ".mlrun-project-image-{name}",
97
- "default_project": "default", # default project name
97
+ "active_project": "", # active project name
98
98
  "default_archive": "", # default remote archive URL (for build tar.gz)
99
99
  "mpijob_crd_version": "", # mpijob crd version (e.g: "v1alpha1". must be in: mlrun.runtime.MPIJobCRDVersions)
100
100
  "ipython_widget": True,
@@ -286,7 +286,7 @@ default_config = {
286
286
  "remote": "mlrun/mlrun",
287
287
  "dask": "mlrun/ml-base",
288
288
  "mpijob": "mlrun/mlrun",
289
- "application": "python:3.9",
289
+ "application": "python",
290
290
  },
291
291
  # see enrich_function_preemption_spec for more info,
292
292
  # and mlrun.common.schemas.function.PreemptionModes for available options
@@ -482,7 +482,7 @@ default_config = {
482
482
  "project_owners_cache_ttl": "30 seconds",
483
483
  # access key to be used when the leader is iguazio and polling is done from it
484
484
  "iguazio_access_key": "",
485
- "iguazio_list_projects_default_page_size": 200,
485
+ "iguazio_list_projects_default_page_size": 500,
486
486
  "iguazio_client_job_cache_ttl": "20 minutes",
487
487
  "nuclio_project_deletion_verification_timeout": "300 seconds",
488
488
  "nuclio_project_deletion_verification_interval": "5 seconds",
@@ -555,7 +555,7 @@ def datastore_profile_read(url, project_name="", secrets: typing.Optional[dict]
555
555
  url (str): A URL with 'ds' scheme pointing to the datastore profile
556
556
  (e.g., 'ds://profile-name').
557
557
  project_name (str, optional): The project name where the profile is stored.
558
- Defaults to MLRun's default project.
558
+ Defaults to MLRun's active project.
559
559
  secrets (dict, optional): Dictionary containing secrets needed for profile retrieval.
560
560
 
561
561
  Returns:
@@ -580,7 +580,7 @@ def datastore_profile_read(url, project_name="", secrets: typing.Optional[dict]
580
580
  )
581
581
 
582
582
  profile_name = parsed_url.hostname
583
- project_name = project_name or mlrun.mlconf.default_project
583
+ project_name = project_name or mlrun.mlconf.active_project
584
584
  datastore = TemporaryClientDatastoreProfiles().get(profile_name)
585
585
  if datastore:
586
586
  return datastore
@@ -795,12 +795,12 @@ class SnowflakeSource(BaseSourceDriver):
795
795
  warehouse: Optional[str] = None,
796
796
  **kwargs,
797
797
  ):
798
- # TODO: Remove in 1.9.0
798
+ # TODO: Remove in 1.10.0
799
799
  if schema:
800
800
  warnings.warn(
801
- "schema is deprecated in 1.7.0, and will be removed in 1.9.0, please use db_schema"
801
+ "schema is deprecated in 1.7.0, and will be removed in 1.10.0, please use db_schema"
802
802
  )
803
- db_schema = db_schema or schema # TODO: Remove in 1.9.0
803
+ db_schema = db_schema or schema # TODO: Remove in 1.10.0
804
804
 
805
805
  attributes = attributes or {}
806
806
  if url:
@@ -152,19 +152,19 @@ def get_store_resource(
152
152
  )
153
153
  elif kind == StorePrefix.FeatureSet:
154
154
  project, name, tag, uid = parse_versioned_object_uri(
155
- uri, project or config.default_project
155
+ uri, project or config.active_project
156
156
  )
157
157
  return db.get_feature_set(name, project, tag, uid)
158
158
 
159
159
  elif kind == StorePrefix.FeatureVector:
160
160
  project, name, tag, uid = parse_versioned_object_uri(
161
- uri, project or config.default_project
161
+ uri, project or config.active_project
162
162
  )
163
163
  return db.get_feature_vector(name, project, tag, uid)
164
164
 
165
165
  elif StorePrefix.is_artifact(kind):
166
166
  project, key, iteration, tag, tree, uid = parse_artifact_uri(
167
- uri, project or config.default_project
167
+ uri, project or config.active_project
168
168
  )
169
169
  resource = db.read_artifact(
170
170
  key,
@@ -443,8 +443,8 @@ class BaseStoreTarget(DataTargetBase):
443
443
  self.credentials_prefix = credentials_prefix
444
444
  if credentials_prefix:
445
445
  warnings.warn(
446
- "The 'credentials_prefix' parameter is deprecated and will be removed in "
447
- "1.9.0. Please use datastore profiles instead.",
446
+ "The 'credentials_prefix' parameter is deprecated in 1.7.0 and will be removed in "
447
+ "1.10.0. Please use datastore profiles instead.",
448
448
  FutureWarning,
449
449
  )
450
450
 
@@ -1671,7 +1671,7 @@ class KafkaTarget(BaseStoreTarget):
1671
1671
  ):
1672
1672
  attrs = {}
1673
1673
 
1674
- # TODO: Remove this in 1.9.0
1674
+ # TODO: Remove this in 1.10.0
1675
1675
  if bootstrap_servers:
1676
1676
  if brokers:
1677
1677
  raise mlrun.errors.MLRunInvalidArgumentError(
@@ -1679,7 +1679,7 @@ class KafkaTarget(BaseStoreTarget):
1679
1679
  "'bootstrap_servers' parameter. Please use 'brokers' only."
1680
1680
  )
1681
1681
  warnings.warn(
1682
- "'bootstrap_servers' parameter is deprecated in 1.7.0 and will be removed in 1.9.0, "
1682
+ "'bootstrap_servers' parameter is deprecated in 1.7.0 and will be removed in 1.10.0, "
1683
1683
  "use 'brokers' instead.",
1684
1684
  FutureWarning,
1685
1685
  )
@@ -2239,7 +2239,7 @@ def _get_target_path(driver, resource, run_id_mode=False, netloc=None, scheme=""
2239
2239
  else "vectors"
2240
2240
  )
2241
2241
  name = resource.metadata.name
2242
- project = resource.metadata.project or mlrun.mlconf.default_project
2242
+ project = resource.metadata.project or mlrun.mlconf.active_project
2243
2243
 
2244
2244
  default_kind_name = kind
2245
2245
  if scheme == "ds":
mlrun/datastore/utils.py CHANGED
@@ -176,8 +176,8 @@ def get_kafka_brokers_from_dict(options: dict, pop=False) -> typing.Optional[str
176
176
  kafka_bootstrap_servers = get_or_pop("kafka_bootstrap_servers", None)
177
177
  if kafka_bootstrap_servers:
178
178
  warnings.warn(
179
- "The 'kafka_bootstrap_servers' parameter is deprecated and will be removed in "
180
- "1.9.0. Please pass the 'kafka_brokers' parameter instead.",
179
+ "The 'kafka_bootstrap_servers' parameter is deprecated in 1.7.0 and will be removed in "
180
+ "1.10.0. Please pass the 'kafka_brokers' parameter instead.",
181
181
  FutureWarning,
182
182
  )
183
183
  return kafka_bootstrap_servers
mlrun/db/base.py CHANGED
@@ -441,10 +441,10 @@ class RunDBInterface(ABC):
441
441
  ) -> dict:
442
442
  pass
443
443
 
444
- # TODO: remove in 1.9.0
444
+ # TODO: remove in 1.10.0
445
445
  @deprecated(
446
- version="1.9.0",
447
- reason="'list_features' will be removed in 1.9.0, use 'list_features_v2' instead",
446
+ version="1.7.0",
447
+ reason="'list_features' will be removed in 1.10.0, use 'list_features_v2' instead",
448
448
  category=FutureWarning,
449
449
  )
450
450
  @abstractmethod
@@ -469,10 +469,10 @@ class RunDBInterface(ABC):
469
469
  ) -> mlrun.common.schemas.FeaturesOutputV2:
470
470
  pass
471
471
 
472
- # TODO: remove in 1.9.0
472
+ # TODO: remove in 1.10.0
473
473
  @deprecated(
474
- version="1.9.0",
475
- reason="'list_entities' will be removed in 1.9.0, use 'list_entities_v2' instead",
474
+ version="1.7.0",
475
+ reason="'list_entities' will be removed in 1.10.0, use 'list_entities_v2' instead",
476
476
  category=FutureWarning,
477
477
  )
478
478
  @abstractmethod