mlrun 1.7.0rc45__py3-none-any.whl → 1.7.0rc46__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.

@@ -18,3 +18,4 @@ from .function import FunctionFormat # noqa
18
18
  from .pipeline import PipelineFormat # noqa
19
19
  from .project import ProjectFormat # noqa
20
20
  from .run import RunFormat # noqa
21
+ from .feature_set import FeatureSetFormat # noqa
@@ -0,0 +1,33 @@
1
+ # Copyright 2024 Iguazio
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+ #
15
+
16
+ import typing
17
+
18
+ import mlrun.common.types
19
+
20
+ from .base import ObjectFormat
21
+
22
+
23
+ class FeatureSetFormat(ObjectFormat, mlrun.common.types.StrEnum):
24
+ minimal = "minimal"
25
+
26
+ @staticmethod
27
+ def format_method(_format: str) -> typing.Optional[typing.Callable]:
28
+ return {
29
+ FeatureSetFormat.full: None,
30
+ FeatureSetFormat.minimal: FeatureSetFormat.filter_obj_method(
31
+ ["kind", "metadata", "spec", "status.state"]
32
+ ),
33
+ }[_format]
@@ -175,6 +175,7 @@ from .project import (
175
175
  ProjectOwner,
176
176
  ProjectsOutput,
177
177
  ProjectSpec,
178
+ ProjectSpecOut,
178
179
  ProjectState,
179
180
  ProjectStatus,
180
181
  ProjectSummariesOutput,
@@ -34,6 +34,7 @@ from .constants import (
34
34
  ProjectSecretKeys,
35
35
  ResultData,
36
36
  ResultKindApp,
37
+ ResultStatusApp,
37
38
  SchedulingKeys,
38
39
  SpecialApps,
39
40
  TDEngineSuperTables,
mlrun/datastore/s3.py CHANGED
@@ -36,6 +36,7 @@ class S3Store(DataStore):
36
36
 
37
37
  access_key_id = self._get_secret_or_env("AWS_ACCESS_KEY_ID")
38
38
  secret_key = self._get_secret_or_env("AWS_SECRET_ACCESS_KEY")
39
+ token_file = self._get_secret_or_env("AWS_CONTAINER_AUTHORIZATION_TOKEN_FILE")
39
40
  endpoint_url = self._get_secret_or_env("S3_ENDPOINT_URL")
40
41
  force_non_anonymous = self._get_secret_or_env("S3_NON_ANONYMOUS")
41
42
  profile_name = self._get_secret_or_env("AWS_PROFILE")
@@ -94,14 +95,15 @@ class S3Store(DataStore):
94
95
  self.s3 = boto3.resource(
95
96
  "s3", region_name=region, endpoint_url=endpoint_url
96
97
  )
97
- # If not using credentials, boto will still attempt to sign the requests, and will fail any operations
98
- # due to no credentials found. These commands disable signing and allow anonymous mode (same as
99
- # anon in the storage_options when working with fsspec).
100
- from botocore.handlers import disable_signing
101
-
102
- self.s3.meta.client.meta.events.register(
103
- "choose-signer.s3.*", disable_signing
104
- )
98
+ if not token_file:
99
+ # If not using credentials, boto will still attempt to sign the requests, and will fail any operations
100
+ # due to no credentials found. These commands disable signing and allow anonymous mode (same as
101
+ # anon in the storage_options when working with fsspec).
102
+ from botocore.handlers import disable_signing
103
+
104
+ self.s3.meta.client.meta.events.register(
105
+ "choose-signer.s3.*", disable_signing
106
+ )
105
107
 
106
108
  def get_spark_options(self):
107
109
  res = {}
@@ -139,6 +141,7 @@ class S3Store(DataStore):
139
141
  endpoint_url = self._get_secret_or_env("S3_ENDPOINT_URL")
140
142
  access_key_id = self._get_secret_or_env("AWS_ACCESS_KEY_ID")
141
143
  secret = self._get_secret_or_env("AWS_SECRET_ACCESS_KEY")
144
+ token_file = self._get_secret_or_env("AWS_CONTAINER_AUTHORIZATION_TOKEN_FILE")
142
145
 
143
146
  if self._temp_credentials:
144
147
  access_key_id = self._temp_credentials["AccessKeyId"]
@@ -148,7 +151,7 @@ class S3Store(DataStore):
148
151
  token = None
149
152
 
150
153
  storage_options = dict(
151
- anon=not (force_non_anonymous or (access_key_id and secret)),
154
+ anon=not (force_non_anonymous or (access_key_id and secret) or token_file),
152
155
  key=access_key_id,
153
156
  secret=secret,
154
157
  token=token,
mlrun/db/base.py CHANGED
@@ -395,6 +395,9 @@ class RunDBInterface(ABC):
395
395
  partition_order: Union[
396
396
  mlrun.common.schemas.OrderType, str
397
397
  ] = mlrun.common.schemas.OrderType.desc,
398
+ format_: Union[
399
+ str, mlrun.common.formatters.FeatureSetFormat
400
+ ] = mlrun.common.formatters.FeatureSetFormat.full,
398
401
  ) -> list[dict]:
399
402
  pass
400
403
 
mlrun/db/httpdb.py CHANGED
@@ -2235,6 +2235,9 @@ class HTTPRunDB(RunDBInterface):
2235
2235
  partition_order: Union[
2236
2236
  mlrun.common.schemas.OrderType, str
2237
2237
  ] = mlrun.common.schemas.OrderType.desc,
2238
+ format_: Union[
2239
+ str, mlrun.common.formatters.FeatureSetFormat
2240
+ ] = mlrun.common.formatters.FeatureSetFormat.full,
2238
2241
  ) -> list[FeatureSet]:
2239
2242
  """Retrieve a list of feature-sets matching the criteria provided.
2240
2243
 
@@ -2252,6 +2255,9 @@ class HTTPRunDB(RunDBInterface):
2252
2255
  :param partition_sort_by: What field to sort the results by, within each partition defined by `partition_by`.
2253
2256
  Currently the only allowed value are `created` and `updated`.
2254
2257
  :param partition_order: Order of sorting within partitions - `asc` or `desc`. Default is `desc`.
2258
+ :param format_: Format of the results. Possible values are:
2259
+ - ``minimal`` - Return minimal feature set objects, not including stats and preview for each feature set.
2260
+ - ``full`` - Return full feature set objects.
2255
2261
  :returns: List of matching :py:class:`~mlrun.feature_store.FeatureSet` objects.
2256
2262
  """
2257
2263
 
@@ -2264,6 +2270,7 @@ class HTTPRunDB(RunDBInterface):
2264
2270
  "entity": entities or [],
2265
2271
  "feature": features or [],
2266
2272
  "label": labels or [],
2273
+ "format": format_,
2267
2274
  }
2268
2275
  if partition_by:
2269
2276
  params.update(
mlrun/db/nopdb.py CHANGED
@@ -326,6 +326,9 @@ class NopDB(RunDBInterface):
326
326
  partition_order: Union[
327
327
  mlrun.common.schemas.OrderType, str
328
328
  ] = mlrun.common.schemas.OrderType.desc,
329
+ format_: Union[
330
+ str, mlrun.common.formatters.FeatureSetFormat
331
+ ] = mlrun.common.formatters.FeatureSetFormat.full,
329
332
  ) -> list[dict]:
330
333
  pass
331
334
 
@@ -29,8 +29,8 @@ class _ModelMonitoringApplicationDataRes(ABC):
29
29
  def __post_init__(self):
30
30
  pat = re.compile(r"[a-zA-Z_][a-zA-Z0-9_]*")
31
31
  if not re.fullmatch(pat, self.name):
32
- raise mlrun.errors.MLRunInvalidArgumentError(
33
- "Attribute name must be of the format [a-zA-Z_][a-zA-Z0-9_]*"
32
+ raise mlrun.errors.MLRunValueError(
33
+ "Attribute name must comply with the regex `[a-zA-Z_][a-zA-Z0-9_]*`"
34
34
  )
35
35
 
36
36
  @abstractmethod
@@ -94,20 +94,20 @@ class TDEngineSchema:
94
94
  tags = ", ".join(f"{col} {val}" for col, val in self.tags.items())
95
95
  return f"CREATE STABLE if NOT EXISTS {self.database}.{self.super_table} ({columns}) TAGS ({tags});"
96
96
 
97
- def _create_subtable_query(
97
+ def _create_subtable_sql(
98
98
  self,
99
99
  subtable: str,
100
100
  values: dict[str, Union[str, int, float, datetime.datetime]],
101
101
  ) -> str:
102
102
  try:
103
- values = ", ".join(f"'{values[val]}'" for val in self.tags)
103
+ tags = ", ".join(f"'{values[val]}'" for val in self.tags)
104
104
  except KeyError:
105
105
  raise mlrun.errors.MLRunInvalidArgumentError(
106
106
  f"values must contain all tags: {self.tags.keys()}"
107
107
  )
108
- return f"CREATE TABLE if NOT EXISTS {self.database}.{subtable} USING {self.super_table} TAGS ({values});"
108
+ return f"CREATE TABLE if NOT EXISTS {self.database}.{subtable} USING {self.super_table} TAGS ({tags});"
109
109
 
110
- def _insert_subtable_query(
110
+ def _insert_subtable_stmt(
111
111
  self,
112
112
  connection: taosws.Connection,
113
113
  subtable: str,
@@ -116,7 +116,7 @@ class TDEngineSchema:
116
116
  stmt = connection.statement()
117
117
  question_marks = ", ".join("?" * len(self.columns))
118
118
  stmt.prepare(f"INSERT INTO ? VALUES ({question_marks});")
119
- stmt.set_tbname_tags(subtable, [])
119
+ stmt.set_tbname(subtable)
120
120
 
121
121
  bind_params = []
122
122
 
@@ -97,7 +97,7 @@ class TDEngineConnector(TSDBConnector):
97
97
  self,
98
98
  event: dict,
99
99
  kind: mm_schemas.WriterEventKind = mm_schemas.WriterEventKind.RESULT,
100
- ):
100
+ ) -> None:
101
101
  """
102
102
  Write a single result or metric to TSDB.
103
103
  """
@@ -113,7 +113,7 @@ class TDEngineConnector(TSDBConnector):
113
113
  # Write a new result
114
114
  table = self.tables[mm_schemas.TDEngineSuperTables.APP_RESULTS]
115
115
  table_name = (
116
- f"{table_name}_" f"{event[mm_schemas.ResultData.RESULT_NAME]}"
116
+ f"{table_name}_{event[mm_schemas.ResultData.RESULT_NAME]}"
117
117
  ).replace("-", "_")
118
118
  event.pop(mm_schemas.ResultData.CURRENT_STATS, None)
119
119
 
@@ -121,9 +121,13 @@ class TDEngineConnector(TSDBConnector):
121
121
  # Write a new metric
122
122
  table = self.tables[mm_schemas.TDEngineSuperTables.METRICS]
123
123
  table_name = (
124
- f"{table_name}_" f"{event[mm_schemas.MetricData.METRIC_NAME]}"
124
+ f"{table_name}_{event[mm_schemas.MetricData.METRIC_NAME]}"
125
125
  ).replace("-", "_")
126
126
 
127
+ # Escape the table name for case-sensitivity (ML-7908)
128
+ # https://github.com/taosdata/taos-connector-python/issues/260
129
+ table_name = f"`{table_name}`"
130
+
127
131
  # Convert the datetime strings to datetime objects
128
132
  event[mm_schemas.WriterEvent.END_INFER_TIME] = self._convert_to_datetime(
129
133
  val=event[mm_schemas.WriterEvent.END_INFER_TIME]
@@ -132,15 +136,11 @@ class TDEngineConnector(TSDBConnector):
132
136
  val=event[mm_schemas.WriterEvent.START_INFER_TIME]
133
137
  )
134
138
 
135
- create_table_query = table._create_subtable_query(
136
- subtable=table_name, values=event
137
- )
138
- self.connection.execute(create_table_query)
139
+ create_table_sql = table._create_subtable_sql(subtable=table_name, values=event)
140
+ self.connection.execute(create_table_sql)
139
141
 
140
- insert_statement = table._insert_subtable_query(
141
- self.connection,
142
- subtable=table_name,
143
- values=event,
142
+ insert_statement = table._insert_subtable_stmt(
143
+ self.connection, subtable=table_name, values=event
144
144
  )
145
145
  insert_statement.add_batch()
146
146
  insert_statement.execute()
@@ -280,6 +280,7 @@ class TDEngineConnector(TSDBConnector):
280
280
  timestamp_column=timestamp_column,
281
281
  database=self.database,
282
282
  )
283
+ logger.debug("Querying TDEngine", query=full_query)
283
284
  try:
284
285
  query_result = self.connection.query(full_query)
285
286
  except taosws.QueryError as e:
@@ -336,7 +337,7 @@ class TDEngineConnector(TSDBConnector):
336
337
 
337
338
  metrics_condition = " OR ".join(
338
339
  [
339
- f"({mm_schemas.WriterEvent.APPLICATION_NAME} = '{metric.app}' AND {name} = '{metric.name}')"
340
+ f"({mm_schemas.WriterEvent.APPLICATION_NAME}='{metric.app}' AND {name}='{metric.name}')"
340
341
  for metric in metrics
341
342
  ]
342
343
  )
mlrun/projects/project.py CHANGED
@@ -1552,7 +1552,7 @@ class MlrunProject(ModelObj):
1552
1552
  url = path.normpath(path.join(self.spec.get_code_path(), url))
1553
1553
 
1554
1554
  if (not in_context or check_path_in_context) and not path.isfile(url):
1555
- raise mlrun.errors.MLRunNotFoundError(f"{url} not found")
1555
+ raise FileNotFoundError(f"{url} not found")
1556
1556
 
1557
1557
  return url, in_context
1558
1558
 
@@ -2900,6 +2900,16 @@ class MlrunProject(ModelObj):
2900
2900
  continue
2901
2901
 
2902
2902
  raise mlrun.errors.MLRunMissingDependencyError(message) from exc
2903
+
2904
+ except Exception as exc:
2905
+ if silent:
2906
+ logger.warn(
2907
+ "Failed to instantiate function",
2908
+ name=name,
2909
+ error=mlrun.utils.err_to_str(exc),
2910
+ )
2911
+ continue
2912
+ raise exc
2903
2913
  else:
2904
2914
  message = f"Function {name} must be an object or dict."
2905
2915
  if silent:
@@ -525,12 +525,8 @@ class RemoteRuntime(KubeResource):
525
525
  extra_attributes["ackWindowSize"] = ack_window_size
526
526
 
527
527
  access_key = kwargs.pop("access_key", None)
528
- if access_key:
529
- logger.warning(
530
- "The access_key parameter is deprecated and will be ignored, "
531
- "use the V3IO_ACCESS_KEY environment variable instead"
532
- )
533
- access_key = self._resolve_v3io_access_key()
528
+ if not access_key:
529
+ access_key = self._resolve_v3io_access_key()
534
530
 
535
531
  self.add_trigger(
536
532
  name,
@@ -1,4 +1,4 @@
1
1
  {
2
- "git_commit": "39ed61397fb9111cb466b6106ece9009a1476f14",
3
- "version": "1.7.0-rc45"
2
+ "git_commit": "2fcec45a11625a8ea4cea29091e594a3adcb76f5",
3
+ "version": "1.7.0-rc46"
4
4
  }
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: mlrun
3
- Version: 1.7.0rc45
3
+ Version: 1.7.0rc46
4
4
  Summary: Tracking and config of machine learning runs
5
5
  Home-page: https://github.com/mlrun/mlrun
6
6
  Author: Yaron Haviv
@@ -84,7 +84,7 @@ Requires-Dist: redis ~=4.3 ; extra == 'all'
84
84
  Requires-Dist: s3fs <2024.7,>=2023.9.2 ; extra == 'all'
85
85
  Requires-Dist: snowflake-connector-python ~=3.7 ; extra == 'all'
86
86
  Requires-Dist: sqlalchemy ~=1.4 ; extra == 'all'
87
- Requires-Dist: taos-ws-py ~=0.3.2 ; extra == 'all'
87
+ Requires-Dist: taos-ws-py ~=0.3.3 ; extra == 'all'
88
88
  Provides-Extra: api
89
89
  Requires-Dist: uvicorn ~=0.27.1 ; extra == 'api'
90
90
  Requires-Dist: dask-kubernetes ~=0.11.0 ; extra == 'api'
@@ -137,7 +137,7 @@ Requires-Dist: redis ~=4.3 ; extra == 'complete'
137
137
  Requires-Dist: s3fs <2024.7,>=2023.9.2 ; extra == 'complete'
138
138
  Requires-Dist: snowflake-connector-python ~=3.7 ; extra == 'complete'
139
139
  Requires-Dist: sqlalchemy ~=1.4 ; extra == 'complete'
140
- Requires-Dist: taos-ws-py ~=0.3.2 ; extra == 'complete'
140
+ Requires-Dist: taos-ws-py ~=0.3.3 ; extra == 'complete'
141
141
  Provides-Extra: complete-api
142
142
  Requires-Dist: adlfs ==2023.9.0 ; extra == 'complete-api'
143
143
  Requires-Dist: aiobotocore <2.16,>=2.5.0 ; extra == 'complete-api'
@@ -174,7 +174,7 @@ Requires-Dist: redis ~=4.3 ; extra == 'complete-api'
174
174
  Requires-Dist: s3fs <2024.7,>=2023.9.2 ; extra == 'complete-api'
175
175
  Requires-Dist: snowflake-connector-python ~=3.7 ; extra == 'complete-api'
176
176
  Requires-Dist: sqlalchemy ~=1.4 ; extra == 'complete-api'
177
- Requires-Dist: taos-ws-py ~=0.3.2 ; extra == 'complete-api'
177
+ Requires-Dist: taos-ws-py ~=0.3.3 ; extra == 'complete-api'
178
178
  Requires-Dist: timelength ~=1.1 ; extra == 'complete-api'
179
179
  Requires-Dist: uvicorn ~=0.27.1 ; extra == 'complete-api'
180
180
  Requires-Dist: memray ~=1.12 ; (sys_platform != "win32") and extra == 'complete-api'
@@ -209,7 +209,7 @@ Requires-Dist: snowflake-connector-python ~=3.7 ; extra == 'snowflake'
209
209
  Provides-Extra: sqlalchemy
210
210
  Requires-Dist: sqlalchemy ~=1.4 ; extra == 'sqlalchemy'
211
211
  Provides-Extra: tdengine
212
- Requires-Dist: taos-ws-py ~=0.3.2 ; extra == 'tdengine'
212
+ Requires-Dist: taos-ws-py ~=0.3.3 ; extra == 'tdengine'
213
213
 
214
214
  <a id="top"></a>
215
215
  [![Build Status](https://github.com/mlrun/mlrun/actions/workflows/build.yaml/badge.svg?branch=development)](https://github.com/mlrun/mlrun/actions/workflows/build.yaml?query=branch%3Adevelopment)
@@ -26,9 +26,10 @@ mlrun/common/secrets.py,sha256=vc8WV82EZsCB5ENjUkObFOzZP59aZ1w8F82PTnqwBnc,5181
26
26
  mlrun/common/types.py,sha256=APVFvumnHpCG-yXlt6OSioMfkyT-DADPiW3dGG3dUFQ,1057
27
27
  mlrun/common/db/__init__.py,sha256=xY3wHC4TEJgez7qtnn1pQvHosi8-5UJOCtyGBS7FcGE,571
28
28
  mlrun/common/db/sql_session.py,sha256=J6b-0xrnFb-8n_xdksPXeA8kArSMfAiSDN4n7iOhtus,2708
29
- mlrun/common/formatters/__init__.py,sha256=91yPb5xoLK7fTIOC5C7ndJMvyEBlQY6f0CjenLYbsZw,785
29
+ mlrun/common/formatters/__init__.py,sha256=topwMC5auQYTDBq8dwa31-5e8bWvHcLYmUqyXysXVWQ,835
30
30
  mlrun/common/formatters/artifact.py,sha256=t4LmoWCFjPJ_YzzQCC2aMJwOeeLi84le979m6OTRyoM,1401
31
31
  mlrun/common/formatters/base.py,sha256=LHwWWnQJCmvlnOCCmG8YtJ_xzs0xBI8PujYDL5Ky9H4,4101
32
+ mlrun/common/formatters/feature_set.py,sha256=lH5RL9Mo6weRexHrruUnmL1qqv_mZocBOQcyVOtXoIk,1056
32
33
  mlrun/common/formatters/function.py,sha256=fGa5m5aI_XvQdvrUr73dmUwrEJrE_8wM4_P4q8RgBTg,1477
33
34
  mlrun/common/formatters/pipeline.py,sha256=hGUV_3wcTEMa-JouspbjgJ1JGKa2Wc5cXSaH2XhOdMc,1763
34
35
  mlrun/common/formatters/project.py,sha256=rdGf7fq_CfwFwd8iKWl8sW-tqTJilK3gJtV5oLdaY-M,1756
@@ -36,7 +37,7 @@ mlrun/common/formatters/run.py,sha256=eEBy1NEwGT9b98TWS2OetEbDnDrnHBIBVMrlXsxveo
36
37
  mlrun/common/model_monitoring/__init__.py,sha256=x0EMEvxVjHsm858J1t6IEA9dtKTdFpJ9sKhss10ld8A,721
37
38
  mlrun/common/model_monitoring/helpers.py,sha256=1CpxIDQPumFnpUB1eqcvCpLlyPFVeW2sL6prM-N5A1A,4405
38
39
  mlrun/common/runtimes/constants.py,sha256=Rl0Sd8n_L7Imo-uF1LL9CJ5Szi0W1gUm36yrF8PXfSc,10989
39
- mlrun/common/schemas/__init__.py,sha256=xCRh98GdHfB6Tzb7_lrOhgoO9UnkUfTcsjStLZll8tc,5247
40
+ mlrun/common/schemas/__init__.py,sha256=QZMyVHjIoa88JmyVy45JGkNGz5K39XX7A72TUnXrLNA,5267
40
41
  mlrun/common/schemas/alert.py,sha256=qWYCISNYMdkgAARVQNxshVr9d-s8LGscfLKpczkTBms,6749
41
42
  mlrun/common/schemas/api_gateway.py,sha256=9ilorgLOiWxFZbv89-dbPNfVdaChlGOIdC4SLTxQwNI,7118
42
43
  mlrun/common/schemas/artifact.py,sha256=V3ngobnzI1v2eoOroWBEedjAZu0ntCSIQ-LzsOK1Z9k,3570
@@ -67,7 +68,7 @@ mlrun/common/schemas/schedule.py,sha256=nD9kxH2KjXkbGZPNfzVNlNSxbyFZmZUlwtT04_z2
67
68
  mlrun/common/schemas/secret.py,sha256=51tCN1F8DFTq4y_XdHIMDy3I1TnMEBX8kO8BHKavYF4,1484
68
69
  mlrun/common/schemas/tag.py,sha256=OAn9Qt6z8ibqw8uU8WQSvuwY8irUv45Dhx2Ko5FzUss,884
69
70
  mlrun/common/schemas/workflow.py,sha256=WxmlwtwrzwL4lfHYjQTOp03uv6PWYMpZ4cNBMOA6N6E,1897
70
- mlrun/common/schemas/model_monitoring/__init__.py,sha256=uCnHhhVZkWbbtsawIjOa3ub9ShDJK2md-s2fbx46crg,1792
71
+ mlrun/common/schemas/model_monitoring/__init__.py,sha256=3uijQoEigSeEklKjhDZnfWk1EOgMP0EuKHlRGxGA95A,1813
71
72
  mlrun/common/schemas/model_monitoring/constants.py,sha256=YaKwvMHhJVIwFJDsLg2Iu6zCv2YgxdiiJ1owvb5IGGk,9568
72
73
  mlrun/common/schemas/model_monitoring/grafana.py,sha256=SG13MFUUz_tk6-mWeSx17qcdEW4ekicxqNtnMSwRTCY,1559
73
74
  mlrun/common/schemas/model_monitoring/model_endpoints.py,sha256=FdKbO8Lb_SDrEXtEHn19GEiAWUWLd_fS6bk0ytanhmo,13762
@@ -88,7 +89,7 @@ mlrun/datastore/google_cloud_storage.py,sha256=Lkr3jud2REXAf-ohI3Or7bbTKbb_MCKOW
88
89
  mlrun/datastore/hdfs.py,sha256=TfL1zUWVRxEHF9kswZtOzrMdDmhSfiSVIAjz7fxWyVw,1876
89
90
  mlrun/datastore/inmem.py,sha256=d2dIvHlOQylhc-i4B5Kk9e9ayXnF7DICc5yUlHcNwqs,2873
90
91
  mlrun/datastore/redis.py,sha256=vTjqtn8l6AvVXqjN0DroumnYFxlMhzVnqsW96p15c-0,5630
91
- mlrun/datastore/s3.py,sha256=I7C-2jU59U1XPTAAMe63MjClzLCQq6BfY3nQ_6vV3vk,8747
92
+ mlrun/datastore/s3.py,sha256=CBBgZlZDX_PyvQBbJRjY4gSaLpGWMygt_fG8n-xY28c,8994
92
93
  mlrun/datastore/snowflake_utils.py,sha256=Wohvnlmq8j1d98RCaknll-iWdZZpSlCrKhUOEy0_-CA,1483
93
94
  mlrun/datastore/sources.py,sha256=op90ksx95wqaBtoiORpHnqEgw4iGEDPsJ3_lI8ftS-E,48801
94
95
  mlrun/datastore/spark_udf.py,sha256=NnnB3DZxZb-rqpRy7b-NC7QWXuuqFn3XkBDc86tU4mQ,1498
@@ -102,10 +103,10 @@ mlrun/datastore/wasbfs/__init__.py,sha256=s5Ul-0kAhYqFjKDR2X0O2vDGDbLQQduElb32Ev
102
103
  mlrun/datastore/wasbfs/fs.py,sha256=MnSj7Q4OKA2L55ihCmUnj2t3GA3B77oLMdAw-yxvN9w,6151
103
104
  mlrun/db/__init__.py,sha256=WqJ4x8lqJ7ZoKbhEyFqkYADd9P6E3citckx9e9ZLcIU,1163
104
105
  mlrun/db/auth_utils.py,sha256=hpg8D2r82oN0BWabuWN04BTNZ7jYMAF242YSUpK7LFM,5211
105
- mlrun/db/base.py,sha256=VztBik6tUYFKGRVXIsXZE7HrALx0hO_sgpCcE2O0cLU,24156
106
+ mlrun/db/base.py,sha256=lUfJrCWbuRUErIrUUXAKI2sSlrwfB-dHDz-Ck_cnZHU,24297
106
107
  mlrun/db/factory.py,sha256=ibIrE5QkIIyzDU1FXKrfbc31cZiRLYKDZb8dqCpQwyU,2397
107
- mlrun/db/httpdb.py,sha256=VzfHIdqKLd9KFF7RV0qx2f6znyz413bNQNL8zRZ29Yw,184207
108
- mlrun/db/nopdb.py,sha256=Juj4Wq9r6IRBdsktFL7TT7T3ueuEouKOHlLAvRvp9n0,21479
108
+ mlrun/db/httpdb.py,sha256=5-xdym1Ls6iaR_5DD4Iv805fQAKH0Zx-4oc4n9Z6p8Y,184623
109
+ mlrun/db/nopdb.py,sha256=1oCZR2EmQQDkwXUgmyI3SB76zvOwA6Ml3Lk_xvuwHfc,21620
109
110
  mlrun/feature_store/__init__.py,sha256=FhHRc8NdqL_HWpCs7A8dKruxJS5wEm55Gs3dcgBiRUg,1522
110
111
  mlrun/feature_store/api.py,sha256=SWBbFD4KU2U4TUaAbD2hRLSquFWxX46mZGCToI0GfFQ,49994
111
112
  mlrun/feature_store/common.py,sha256=mSlfEj_LIbtM-pNiIWUGIdX0Z0y5ZoH5nKow7KMc5VQ,12673
@@ -227,7 +228,7 @@ mlrun/model_monitoring/applications/base.py,sha256=snr3xYdqv6Po19yS0Z1VktyoLrbl8
227
228
  mlrun/model_monitoring/applications/context.py,sha256=jTZaRdPZBc2m8-rcC3gKFkSsaQByWn6ZCQuqCOOWdWo,12747
228
229
  mlrun/model_monitoring/applications/evidently_base.py,sha256=6hzfO6s0jEVHj4R_pujcn_p6LvdkKUDb9S4B6j2XEUY,8024
229
230
  mlrun/model_monitoring/applications/histogram_data_drift.py,sha256=OOPojE-KIP9rAPZ6va6uJOjqJOb3c8K_VAmITXZd918,13341
230
- mlrun/model_monitoring/applications/results.py,sha256=d1Ffsz8rCymus8U3Ei7IUhL3Iie-AEGPsuFlhdQAGg0,3593
231
+ mlrun/model_monitoring/applications/results.py,sha256=B0YuLig4rgBzBs3OAh01yLavhtNgj8Oz1RD8UfEkENU,3590
231
232
  mlrun/model_monitoring/db/__init__.py,sha256=6Ic-X3Fh9XLPYMytmevGNSs-Hii1rAjLLoFTSPwTguw,736
232
233
  mlrun/model_monitoring/db/stores/__init__.py,sha256=m6Z6rPQyaufq5oXF3HVUYGDN34biAX1JE1F6OxLN9B8,4752
233
234
  mlrun/model_monitoring/db/stores/base/__init__.py,sha256=JufJETW3BXzPhFwbRa8dMf7BFGGZKceIWIMgr5x9n9c,599
@@ -244,9 +245,9 @@ mlrun/model_monitoring/db/tsdb/__init__.py,sha256=Zqh_27I2YAEHk9nl0Z6lUxP7VEfrgr
244
245
  mlrun/model_monitoring/db/tsdb/base.py,sha256=X89X763sDrShfRXE1N-p8k97E8NBs7O1QJFiO-CffLM,18583
245
246
  mlrun/model_monitoring/db/tsdb/helpers.py,sha256=0oUXc4aUkYtP2SGP6jTb3uPPKImIUsVsrb9otX9a7O4,1189
246
247
  mlrun/model_monitoring/db/tsdb/tdengine/__init__.py,sha256=vgBdsKaXUURKqIf3M0y4sRatmSVA4CQiJs7J5dcVBkQ,620
247
- mlrun/model_monitoring/db/tsdb/tdengine/schemas.py,sha256=1I47m4gbplXYiYgV_RP3mKF7WbfG6cyFJPABXHDMrfs,10524
248
+ mlrun/model_monitoring/db/tsdb/tdengine/schemas.py,sha256=SujUl_Bu_dvZD_tn7yxYstp_uuVTkE5Uc8aYKdqs90w,10508
248
249
  mlrun/model_monitoring/db/tsdb/tdengine/stream_graph_steps.py,sha256=Hb0vcCBP-o0ET78mU4P32fnhUL65QZv-pMuv2lnCby4,1586
249
- mlrun/model_monitoring/db/tsdb/tdengine/tdengine_connector.py,sha256=CaBTBi-skQzM9kvLjYWNc_I3yrAtvsaN3dAOefanh04,18489
250
+ mlrun/model_monitoring/db/tsdb/tdengine/tdengine_connector.py,sha256=H3Jl8TNZA17yrsHtJdsxNezYPg6J3JlwV8BjDupX9Ho,18665
250
251
  mlrun/model_monitoring/db/tsdb/v3io/__init__.py,sha256=aL3bfmQsUQ-sbvKGdNihFj8gLCK3mSys0qDcXtYOwgc,616
251
252
  mlrun/model_monitoring/db/tsdb/v3io/stream_graph_steps.py,sha256=mbmhN4f_F58ptVjhwoMF6ifZSdnZWhK7x8eNsWS39IA,6217
252
253
  mlrun/model_monitoring/db/tsdb/v3io/v3io_connector.py,sha256=1H-IBXPNJPRAaxDMGWpUU25QqfR87LpZbJ03vaJkICs,32858
@@ -274,7 +275,7 @@ mlrun/platforms/iguazio.py,sha256=1h5BpdAEQJBg2vIt7ySjUADU0ip5OkaMYr0_VREi9ys,13
274
275
  mlrun/projects/__init__.py,sha256=Lv5rfxyXJrw6WGOWJKhBz66M6t3_zsNMCfUD6waPwx4,1153
275
276
  mlrun/projects/operations.py,sha256=UEpiW4bDscth4pwWcLWF1xz-IU7bnZfckPR7sXp3O-g,19441
276
277
  mlrun/projects/pipelines.py,sha256=tFqmE_diKiGURwZPCHVPZmwEKza_gyfpr7F8bLS3plA,40173
277
- mlrun/projects/project.py,sha256=e6rvQFjFFeQoyHScn-N8tJqDp_2RHhNlBE_8R_kH4Ho,190255
278
+ mlrun/projects/project.py,sha256=rw0QQ2XtBUevW3cv8baCGDGsqISxsHYYziPcOABLOpg,190604
278
279
  mlrun/runtimes/__init__.py,sha256=egLM94cDMUyQ1GVABdFGXUQcDhU70lP3k7qSnM_UnHY,9008
279
280
  mlrun/runtimes/base.py,sha256=JXWmTIcm3b0klGUOHDlyFNa3bUgsNzQIgWhUQpSZoE0,37692
280
281
  mlrun/runtimes/daskjob.py,sha256=Ka_xqim8LkCYjp-M_WgteJy6ZN_3qfmLLHvXs7N6pa4,19411
@@ -295,7 +296,7 @@ mlrun/runtimes/mpijob/abstract.py,sha256=kDWo-IY1FKLZhI30j38Xx9HMhlUvHezfd1DT2Sh
295
296
  mlrun/runtimes/mpijob/v1.py,sha256=1XQZC7AIMGX_AQCbApcwpH8I7y39-v0v2O35MvxjXoo,3213
296
297
  mlrun/runtimes/nuclio/__init__.py,sha256=gx1kizzKv8pGT5TNloN1js1hdbxqDw3rM90sLVYVffY,794
297
298
  mlrun/runtimes/nuclio/api_gateway.py,sha256=2sHtkVHSS3L1DuV2KNWatJJRxvoGSBOjB6tnqv6SA5w,26730
298
- mlrun/runtimes/nuclio/function.py,sha256=OgPqTFFpfP-QtwKXq5b114jnKpxAN_okzQ_OWCZv_xI,52290
299
+ mlrun/runtimes/nuclio/function.py,sha256=TQt6RyxK_iyzNJr2r57BRtVXuy2GMrhdeFOlFjb2AZg,52106
299
300
  mlrun/runtimes/nuclio/nuclio.py,sha256=sLK8KdGO1LbftlL3HqPZlFOFTAAuxJACZCVl1c0Ha6E,2942
300
301
  mlrun/runtimes/nuclio/serving.py,sha256=X0fYJnidH0S5xrupoTC74OhZz7Tym34iw6hFSzahMCk,29720
301
302
  mlrun/runtimes/nuclio/application/__init__.py,sha256=rRs5vasy_G9IyoTpYIjYDafGoL6ifFBKgBtsXn31Atw,614
@@ -342,11 +343,11 @@ mlrun/utils/notifications/notification/ipython.py,sha256=ZtVL30B_Ha0VGoo4LxO-voT
342
343
  mlrun/utils/notifications/notification/slack.py,sha256=wqpFGr5BTvFO5KuUSzFfxsgmyU1Ohq7fbrGeNe9TXOk,7006
343
344
  mlrun/utils/notifications/notification/webhook.py,sha256=cb9w1Mc8ENfJBdgan7iiVHK9eVls4-R3tUxmXM-P-8I,4746
344
345
  mlrun/utils/version/__init__.py,sha256=7kkrB7hEZ3cLXoWj1kPoDwo4MaswsI2JVOBpbKgPAgc,614
345
- mlrun/utils/version/version.json,sha256=2SNY7ygI-aD63JsgGzknLUNHzNvkj2GDLMmmUEeTEPU,89
346
+ mlrun/utils/version/version.json,sha256=3ANNtWXY4UEFE6BhIv4ABsKlhsIrlpcWJJSvuIvg-Iw,89
346
347
  mlrun/utils/version/version.py,sha256=eEW0tqIAkU9Xifxv8Z9_qsYnNhn3YH7NRAfM-pPLt1g,1878
347
- mlrun-1.7.0rc45.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
348
- mlrun-1.7.0rc45.dist-info/METADATA,sha256=Uwx_ZH45pJOp1i9093x75g4sp9cKL4azSR8oTeoxf-U,19943
349
- mlrun-1.7.0rc45.dist-info/WHEEL,sha256=GV9aMThwP_4oNCtvEC2ec3qUYutgWeAzklro_0m4WJQ,91
350
- mlrun-1.7.0rc45.dist-info/entry_points.txt,sha256=1Owd16eAclD5pfRCoJpYC2ZJSyGNTtUr0nCELMioMmU,46
351
- mlrun-1.7.0rc45.dist-info/top_level.txt,sha256=NObLzw3maSF9wVrgSeYBv-fgnHkAJ1kEkh12DLdd5KM,6
352
- mlrun-1.7.0rc45.dist-info/RECORD,,
348
+ mlrun-1.7.0rc46.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
349
+ mlrun-1.7.0rc46.dist-info/METADATA,sha256=nd09TI_C22BOpwpkzrcZJiCi8F6k8lzfqwDIgeTnDB0,19943
350
+ mlrun-1.7.0rc46.dist-info/WHEEL,sha256=GV9aMThwP_4oNCtvEC2ec3qUYutgWeAzklro_0m4WJQ,91
351
+ mlrun-1.7.0rc46.dist-info/entry_points.txt,sha256=1Owd16eAclD5pfRCoJpYC2ZJSyGNTtUr0nCELMioMmU,46
352
+ mlrun-1.7.0rc46.dist-info/top_level.txt,sha256=NObLzw3maSF9wVrgSeYBv-fgnHkAJ1kEkh12DLdd5KM,6
353
+ mlrun-1.7.0rc46.dist-info/RECORD,,