ob-metaflow-extensions 1.4.21__py2.py3-none-any.whl → 1.4.23__py2.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 ob-metaflow-extensions might be problematic. Click here for more details.

@@ -97,6 +97,7 @@ class TypedCoreConfig:
97
97
  branch: Optional[str] = None,
98
98
  models: Optional[list] = None,
99
99
  data: Optional[list] = None,
100
+ generate_static_url: Optional[bool] = None,
100
101
  **kwargs
101
102
  ) -> None:
102
103
  self._kwargs = {
@@ -122,6 +123,7 @@ class TypedCoreConfig:
122
123
  "branch": branch,
123
124
  "models": models,
124
125
  "data": data,
126
+ "generate_static_url": generate_static_url,
125
127
  }
126
128
  # Add any additional kwargs
127
129
  self._kwargs.update(kwargs)
@@ -966,6 +966,17 @@ How to read this schema:
966
966
  is_experimental=True,
967
967
  example=[{"asset_id": "data-789", "asset_instance_id": "instance-101"}],
968
968
  )
969
+ generate_static_url = ConfigField(
970
+ cli_meta=CLIOption(
971
+ name="generate_static_url",
972
+ cli_option_str="--generate-static-url",
973
+ help="Generate a static URL for the app based on its name.",
974
+ is_flag=True,
975
+ ),
976
+ field_type=bool,
977
+ default=False,
978
+ help="Generate a static URL for the app based on its name.",
979
+ )
969
980
  # ------- /Experimental -------------
970
981
 
971
982
  def to_dict(self):
@@ -328,3 +328,9 @@ properties:
328
328
  asset_instance_id: instance-101
329
329
  experimental: true
330
330
  mutation_behavior: union
331
+ generate_static_url:
332
+ description: Generate a static URL for the app based on its name.
333
+ type: boolean
334
+ default: false
335
+ mutation_behavior: union
336
+ cli_option: --generate-static-url
@@ -21,6 +21,10 @@ def capsule_input_overrides(app_config: "AppConfig", capsule_input: dict):
21
21
  if persistence is not None and persistence != "none":
22
22
  capsule_input["persistence"] = persistence
23
23
 
24
+ capsule_input["generateStaticUrl"] = app_config.get_state(
25
+ "generate_static_url", False
26
+ )
27
+
24
28
  model_asset_conf = app_config.get_state("models", None)
25
29
  data_asset_conf = app_config.get_state("data", None)
26
30
  code_info = _code_info(app_config)
@@ -27,9 +27,12 @@ class SnowparkClient(object):
27
27
  except (NameError, ImportError, ModuleNotFoundError):
28
28
  raise SnowflakeException(
29
29
  "Could not import module 'snowflake'.\n\nInstall Snowflake "
30
- "Python package (https://pypi.org/project/snowflake/) first.\n"
31
- "You can install the module by executing - "
32
- "%s -m pip install snowflake\n"
30
+ "Python packages first:\n"
31
+ " snowflake==1.8.0\n"
32
+ " snowflake-connector-python==3.18.0\n"
33
+ " snowflake-snowpark-python==1.40.0\n\n"
34
+ "You can install them by executing:\n"
35
+ "%s -m pip install snowflake==1.8.0 snowflake-connector-python==3.18.0 snowflake-snowpark-python==1.40.0\n"
33
36
  "or equivalent through your favorite Python package manager."
34
37
  % sys.executable
35
38
  )
@@ -42,10 +42,13 @@ class Snowflake(object):
42
42
  return session
43
43
  except (NameError, ImportError, ModuleNotFoundError):
44
44
  raise SnowflakeException(
45
- "Could not import module 'snowflake'.\n\nInstall Snowflake "
46
- "Python package (https://pypi.org/project/snowflake/) first.\n"
47
- "You can install the module by using the @pypi decorator - "
48
- "Eg: @pypi(packages={'snowflake': '0.11.0'})\n"
45
+ "Could not import module 'snowflake'.\n\n"
46
+ "Install required Snowflake packages using the @pypi decorator:\n"
47
+ "@pypi(packages={\n"
48
+ " 'snowflake': '1.8.0',\n"
49
+ " 'snowflake-connector-python': '3.18.0',\n"
50
+ " 'snowflake-snowpark-python': '1.40.0'\n"
51
+ "})\n"
49
52
  )
50
53
 
51
54
 
@@ -143,9 +146,12 @@ class SnowparkDecorator(StepDecorator):
143
146
  except (NameError, ImportError, ModuleNotFoundError):
144
147
  raise SnowflakeException(
145
148
  "Could not import module 'snowflake'.\n\nInstall Snowflake "
146
- "Python package (https://pypi.org/project/snowflake/) first.\n"
147
- "You can install the module by executing - "
148
- "%s -m pip install snowflake\n"
149
+ "Python packages first:\n"
150
+ " snowflake==1.8.0\n"
151
+ " snowflake-connector-python==3.18.0\n"
152
+ " snowflake-snowpark-python==1.40.0\n\n"
153
+ "You can install them by executing:\n"
154
+ "%s -m pip install snowflake==1.8.0 snowflake-connector-python==3.18.0 snowflake-snowpark-python==1.40.0\n"
149
155
  "or equivalent through your favorite Python package manager."
150
156
  % sys.executable
151
157
  )
@@ -199,11 +199,17 @@ class RunningJob(object):
199
199
 
200
200
  @property
201
201
  def status(self):
202
- return self.status_obj()[0].get("status")
202
+ status_list = self.status_obj()
203
+ if not status_list:
204
+ return "UNKNOWN"
205
+ return status_list[0].get("status", "UNKNOWN")
203
206
 
204
207
  @property
205
208
  def message(self):
206
- return self.status_obj()[0].get("message")
209
+ status_list = self.status_obj()
210
+ if not status_list:
211
+ return None
212
+ return status_list[0].get("message")
207
213
 
208
214
  @property
209
215
  def is_waiting(self):
@@ -1,13 +1,13 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ob-metaflow-extensions
3
- Version: 1.4.21
3
+ Version: 1.4.23
4
4
  Summary: Outerbounds Platform Extensions for Metaflow
5
5
  Author: Outerbounds, Inc.
6
6
  License: Commercial
7
7
  Description-Content-Type: text/markdown
8
8
  Requires-Dist: boto3
9
9
  Requires-Dist: kubernetes
10
- Requires-Dist: ob-metaflow (==2.18.10.1)
10
+ Requires-Dist: ob-metaflow (==2.18.11.1)
11
11
 
12
12
  # Outerbounds platform package
13
13
 
@@ -18,7 +18,7 @@ metaflow_extensions/outerbounds/plugins/apps/core/app_config.py,sha256=PHt-HdNfT
18
18
  metaflow_extensions/outerbounds/plugins/apps/core/artifacts.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
19
19
  metaflow_extensions/outerbounds/plugins/apps/core/capsule.py,sha256=sIlnmBZYf38S2fsN9dbMrWmXozlpdCqUjhJWIFNRlSA,37022
20
20
  metaflow_extensions/outerbounds/plugins/apps/core/click_importer.py,sha256=kgoPQmK_-8PSSTc3QMSaynCLQ5VWTkKFOC69FPURyXA,998
21
- metaflow_extensions/outerbounds/plugins/apps/core/config_schema.yaml,sha256=zLZiDpg1OvZQyZmx2Y4j38B6f206eamOS2zH0dZmCcg,9955
21
+ metaflow_extensions/outerbounds/plugins/apps/core/config_schema.yaml,sha256=fI8zUlcQ305ncmqAXE9rrhpbpjzNtCXN1t3S5Gaq0XM,10152
22
22
  metaflow_extensions/outerbounds/plugins/apps/core/dependencies.py,sha256=JlWT9f27yzZeJPlqTQk134WDfQgOdyxC5iaw3pLlhqY,4006
23
23
  metaflow_extensions/outerbounds/plugins/apps/core/deployer.py,sha256=dNKlDu6n8SufEd5NKmsErl1RYhQXuEe_DgtA0mk7awg,9472
24
24
  metaflow_extensions/outerbounds/plugins/apps/core/perimeters.py,sha256=ETlqTkHDvVaWusrbNncFf7pcGJarj0r-5qodC4gZWQM,3068
@@ -35,10 +35,10 @@ metaflow_extensions/outerbounds/plugins/apps/core/config/__init__.py,sha256=ZgC9
35
35
  metaflow_extensions/outerbounds/plugins/apps/core/config/cli_generator.py,sha256=0R0-wy7RxAMR9doVRvuluRYxAYgyjZXlTIkOeYGyz7M,5350
36
36
  metaflow_extensions/outerbounds/plugins/apps/core/config/config_utils.py,sha256=bozzUR8rbfOnb5M532RZxB5QNvVgEC1gnVjfCvQ82Yk,34053
37
37
  metaflow_extensions/outerbounds/plugins/apps/core/config/schema_export.py,sha256=vfmoSXGRocXryOQOGHbh-zIboEP3ty0BVucOza6uzXU,9614
38
- metaflow_extensions/outerbounds/plugins/apps/core/config/typed_configs.py,sha256=vMpIto5UQDxdjEPCJh0zEMnJiHV-e7FozUR_p9QA69s,4625
38
+ metaflow_extensions/outerbounds/plugins/apps/core/config/typed_configs.py,sha256=9FWdp_F_jBsoxxQf40sRcNgvba8RBYkn2Q5HjXHg_6Y,4733
39
39
  metaflow_extensions/outerbounds/plugins/apps/core/config/typed_init_generator.py,sha256=KiJ1eiwtBR5eWdBzWqvO6KlqJ2qzjJvl3w4c1uJ3g0Y,13419
40
- metaflow_extensions/outerbounds/plugins/apps/core/config/unified_config.py,sha256=TbuiKrJenpop0AK3V-URwzWYv6kl-KT0W8kQtiFj7x0,38539
41
- metaflow_extensions/outerbounds/plugins/apps/core/experimental/__init__.py,sha256=bYB5ECKg-4T3X7KgmTupg0keoeFd96Yck-XI74C7qGI,2936
40
+ metaflow_extensions/outerbounds/plugins/apps/core/config/unified_config.py,sha256=jTfIoRUJ0TaTWvBIfwuUFdnPrCYZTWHqHHr_C2T0ivQ,38931
41
+ metaflow_extensions/outerbounds/plugins/apps/core/experimental/__init__.py,sha256=_OT0RsbQdYerT-fjG_vcu85ava6sHbCsGBpLcGcrlX8,3043
42
42
  metaflow_extensions/outerbounds/plugins/aws/__init__.py,sha256=VBGdjNKeFLXGZuqh4jVk8cFtO1AWof73a6k_cnbAOYA,145
43
43
  metaflow_extensions/outerbounds/plugins/aws/assume_role.py,sha256=mBewNlnSYsR2rFXFkX-DUH6ku01h2yOcMcLHoCL7eyI,161
44
44
  metaflow_extensions/outerbounds/plugins/aws/assume_role_decorator.py,sha256=MrExIdwnQ4ZVKbrWqEQAIuZO4lWEy1rE0ihGUx7GMJA,2976
@@ -102,10 +102,10 @@ metaflow_extensions/outerbounds/plugins/snowflake/snowflake.py,sha256=zoWSHM4CJS
102
102
  metaflow_extensions/outerbounds/plugins/snowpark/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
103
103
  metaflow_extensions/outerbounds/plugins/snowpark/snowpark.py,sha256=0R8aFN9MpgWraqiaI6ZF82YpLdFJ1f-3z_-BPRpZfxM,10674
104
104
  metaflow_extensions/outerbounds/plugins/snowpark/snowpark_cli.py,sha256=ezJ2Jr8JJ48SvTH0ET7pRUGaBuq3XTSfNxJVgXhZsnY,8756
105
- metaflow_extensions/outerbounds/plugins/snowpark/snowpark_client.py,sha256=JEW0EUxj_mNZXo9OFkJFmWfg-P7_CEgvNbgsMTCBTAE,4273
106
- metaflow_extensions/outerbounds/plugins/snowpark/snowpark_decorator.py,sha256=a7LqSKULVh8IrR1StrVPbemHOLojR0nEqh-mMX-M1i4,9904
105
+ metaflow_extensions/outerbounds/plugins/snowpark/snowpark_client.py,sha256=JWA0n3imeMP3HoDw9_9Ge9UPMAwY_TnPKaETHDN8qjA,4460
106
+ metaflow_extensions/outerbounds/plugins/snowpark/snowpark_decorator.py,sha256=SMND-1BJoqMkYFfFa3B_OT6Xu6HH07degq3qXWOrJ2w,10167
107
107
  metaflow_extensions/outerbounds/plugins/snowpark/snowpark_exceptions.py,sha256=FTfYlJu-sn9DkPOs2R1V1ChWb1vZthOgeq0BZdT1ucY,296
108
- metaflow_extensions/outerbounds/plugins/snowpark/snowpark_job.py,sha256=aQphxX6jqYgfa83w387pEWl0keuLm38V53I8P8UL2ck,6887
108
+ metaflow_extensions/outerbounds/plugins/snowpark/snowpark_job.py,sha256=k0OLbsExQOcLbU3_qBd-p2-HCgzcWqXUHxj6L5b6FOk,7075
109
109
  metaflow_extensions/outerbounds/plugins/snowpark/snowpark_service_spec.py,sha256=AI_kcm1hZV3JRxJkookcH6twiGnAYjk9Dx-MeoYz60Y,8511
110
110
  metaflow_extensions/outerbounds/plugins/tensorboard/__init__.py,sha256=9lUM4Cqi5RjrHBRfG6AQMRz8-R96eZC8Ih0KD2lv22Y,1858
111
111
  metaflow_extensions/outerbounds/plugins/torchtune/__init__.py,sha256=Psj2ybj_E1qp5KK2inon9e4ZecaRxnPtW3ngcirbO2g,6094
@@ -128,7 +128,7 @@ metaflow_extensions/outerbounds/toplevel/plugins/optuna/__init__.py,sha256=6D1wL
128
128
  metaflow_extensions/outerbounds/toplevel/plugins/snowflake/__init__.py,sha256=LptpH-ziXHrednMYUjIaosS1SXD3sOtF_9_eRqd8SJw,50
129
129
  metaflow_extensions/outerbounds/toplevel/plugins/torchtune/__init__.py,sha256=uTVkdSk3xZ7hEKYfdlyVteWj5KeDwaM1hU9WT-_YKfI,50
130
130
  metaflow_extensions/outerbounds/toplevel/plugins/vllm/__init__.py,sha256=ekcgD3KVydf-a0xMI60P4uy6ePkSEoFHiGnDq1JM940,45
131
- ob_metaflow_extensions-1.4.21.dist-info/METADATA,sha256=BUZ4wa-Au2jUxPmwAzgAN2CwKWGDsMnGvrJRjxFJTCI,520
132
- ob_metaflow_extensions-1.4.21.dist-info/WHEEL,sha256=bb2Ot9scclHKMOLDEHY6B2sicWOgugjFKaJsT7vwMQo,110
133
- ob_metaflow_extensions-1.4.21.dist-info/top_level.txt,sha256=NwG0ukwjygtanDETyp_BUdtYtqIA_lOjzFFh1TsnxvI,20
134
- ob_metaflow_extensions-1.4.21.dist-info/RECORD,,
131
+ ob_metaflow_extensions-1.4.23.dist-info/METADATA,sha256=6xxH8DwtdPxbXIEMOm4AuH1Qrcow0tkbKlFvJvWjmDs,520
132
+ ob_metaflow_extensions-1.4.23.dist-info/WHEEL,sha256=bb2Ot9scclHKMOLDEHY6B2sicWOgugjFKaJsT7vwMQo,110
133
+ ob_metaflow_extensions-1.4.23.dist-info/top_level.txt,sha256=NwG0ukwjygtanDETyp_BUdtYtqIA_lOjzFFh1TsnxvI,20
134
+ ob_metaflow_extensions-1.4.23.dist-info/RECORD,,