ob-metaflow-extensions 1.1.92__py2.py3-none-any.whl → 1.1.94__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.

@@ -123,6 +123,14 @@ class DockerEnvironment(MetaflowEnvironment):
123
123
  # Attach environment decorator as needed. This is done on a step-by-step basis
124
124
  # as we require a conda decorator for fallback steps, but prefer pypi for the baked ones.
125
125
  for step in self.flow:
126
+ # Mixing @pypi/@conda in a single step is not supported yet.
127
+ # We validate this before attaching any new ones as the OSS Conda environment requires an implicit conda decorator for pypi environments which would fail the validation.
128
+ if sum(1 for deco in step.decorators if _is_env_deco(deco)) > 1:
129
+ raise MetaflowException(
130
+ "Mixing and matching PyPI packages and Conda packages within a\n"
131
+ "step is not yet supported. Use one of @pypi or @conda only for the *%s* step."
132
+ % step.name
133
+ )
126
134
  if step.name in self.skipped_steps:
127
135
  # Conda fallback requires a conda decorator as the default for a step
128
136
  decorators._attach_decorators_to_step(step, ["conda"])
@@ -144,14 +152,6 @@ class DockerEnvironment(MetaflowEnvironment):
144
152
  echo,
145
153
  )
146
154
 
147
- # Mixing @pypi/@conda in a single step is not supported yet
148
- if sum(1 for deco in step.decorators if _is_env_deco(deco)) > 1:
149
- raise MetaflowException(
150
- "Mixing and matching PyPI packages and Conda packages within a\n"
151
- "step is not yet supported. Use one of @pypi or @conda only for the *%s* step."
152
- % step.name
153
- )
154
-
155
155
  steps_to_bake = [
156
156
  step
157
157
  for step in self.flow
@@ -15,7 +15,6 @@ from metaflow.mflog import (
15
15
  )
16
16
  import requests
17
17
  from metaflow.metaflow_config_funcs import init_config
18
- from metaflow_extensions.outerbounds.plugins.nvcf.heartbeat_store import HeartbeatStore
19
18
 
20
19
 
21
20
  class NvcfException(MetaflowException):
@@ -184,6 +183,14 @@ class Job(object):
184
183
  (flow_name, str(run_id), step_name, str(task_id), str(retry_count))
185
184
  )
186
185
 
186
+ ## import is done here to avoid the following warning:
187
+ # RuntimeWarning: 'metaflow_extensions.outerbounds.plugins.nvcf.heartbeat_store' found in sys.modules
188
+ # after import of package 'metaflow_extensions.outerbounds.plugins.nvcf', but prior to execution of
189
+ # 'metaflow_extensions.outerbounds.plugins.nvcf.heartbeat_store'; this may result in unpredictable behaviour
190
+ from metaflow_extensions.outerbounds.plugins.nvcf.heartbeat_store import (
191
+ HeartbeatStore,
192
+ )
193
+
187
194
  store = HeartbeatStore(
188
195
  main_pid=None,
189
196
  storage_backend=backend,
@@ -1,6 +1,7 @@
1
1
  import os
2
2
  import sys
3
3
 
4
+ from metaflow.exception import MetaflowException
4
5
  from metaflow.decorators import StepDecorator
5
6
  from metaflow.metadata.util import sync_local_metadata_to_datastore
6
7
  from metaflow.metaflow_config import DATASTORE_LOCAL_DIR
@@ -40,9 +41,18 @@ class NvcfDecorator(StepDecorator):
40
41
  self.step = step
41
42
  self.flow_datastore = flow_datastore
42
43
 
43
- # TODO:
44
- # 1. Ensure that @batch and @kubernetes decorators are not applied to this step.
45
- # 2. Ensure @parallel is not applied to this step.
44
+ if any([deco.name == "kubernetes" for deco in decos]):
45
+ raise MetaflowException(
46
+ "Step *{step}* is marked for execution both on Kubernetes and "
47
+ "Nvidia. Please use one or the other.".format(step=step)
48
+ )
49
+ if any([deco.name == "parallel" for deco in decos]):
50
+ raise MetaflowException(
51
+ "Step *{step}* contains a @parallel decorator "
52
+ "with the @nvidia decorator. @parallel is not supported with @nvidia.".format(
53
+ step=step
54
+ )
55
+ )
46
56
 
47
57
  # Set run time limit for the NVCF function.
48
58
  self.run_time_limit = get_run_time_limit_for_task(decos)
@@ -1,13 +1,13 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ob-metaflow-extensions
3
- Version: 1.1.92
3
+ Version: 1.1.94
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.12.20.1)
10
+ Requires-Dist: ob-metaflow (==2.12.22.1)
11
11
 
12
12
  # Outerbounds platform package
13
13
 
@@ -5,7 +5,7 @@ metaflow_extensions/outerbounds/plugins/__init__.py,sha256=WwvFcN5kserbPwhrE4hXp
5
5
  metaflow_extensions/outerbounds/plugins/auth_server.py,sha256=1v2GBqoMBxp5E7Lejz139w-jxJtPnLDvvHXP0HhEIHI,2361
6
6
  metaflow_extensions/outerbounds/plugins/perimeters.py,sha256=QXh3SFP7GQbS-RAIxUOPbhPzQ7KDFVxZkTdKqFKgXjI,2697
7
7
  metaflow_extensions/outerbounds/plugins/fast_bakery/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
8
- metaflow_extensions/outerbounds/plugins/fast_bakery/docker_environment.py,sha256=7PaCyOcEV71uHZ6mLdgbYSD-qzv_mC04JLlBwOLoQR4,13814
8
+ metaflow_extensions/outerbounds/plugins/fast_bakery/docker_environment.py,sha256=jpEBbdRLq7826LqUKIHqo3cYei2CNeVAxggw6vFmYso,13996
9
9
  metaflow_extensions/outerbounds/plugins/fast_bakery/fast_bakery.py,sha256=MAPRQsfqeEkL1LXqgwPrUJOzZ3kY3C00QjdDgQ7wdIg,5160
10
10
  metaflow_extensions/outerbounds/plugins/fast_bakery/fast_bakery_cli.py,sha256=kqFyu2bJSnc9_9aYfBpz5xK6L6luWFZK_NMuh8f1eVk,1494
11
11
  metaflow_extensions/outerbounds/plugins/fast_bakery/fast_bakery_decorator.py,sha256=EZDbyrfZ7fgcU-P9dMS_hpCxsdDeUE0K5VU3uNM4aW4,1506
@@ -15,9 +15,9 @@ metaflow_extensions/outerbounds/plugins/nim/__init__.py,sha256=GVnvSTjqYVj5oG2yh
15
15
  metaflow_extensions/outerbounds/plugins/nim/nim_manager.py,sha256=SWieODDxtIaeZwdMYtObDi57Kjyfw2DUuE6pJtU750w,9206
16
16
  metaflow_extensions/outerbounds/plugins/nvcf/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
17
17
  metaflow_extensions/outerbounds/plugins/nvcf/heartbeat_store.py,sha256=pOWwm8LFQBbtku0zNBBwCyXxLK8U-hhC4naQcmU69nE,6217
18
- metaflow_extensions/outerbounds/plugins/nvcf/nvcf.py,sha256=s9S_Ntm8Y23fgzQtN_hLMrQaSfOvKqNBUyL1K8Xo9vU,9039
18
+ metaflow_extensions/outerbounds/plugins/nvcf/nvcf.py,sha256=YShky0m7SvIoNm0VX1-_GZh2svc2zQ9oLdGj2FVRpy0,9471
19
19
  metaflow_extensions/outerbounds/plugins/nvcf/nvcf_cli.py,sha256=YZb5AvbVgUwUJVxRxQ4JqqP8e1RMJr6dZ9U4KkHE-M8,9134
20
- metaflow_extensions/outerbounds/plugins/nvcf/nvcf_decorator.py,sha256=E7h94ni8yW9BQkKSBUptPdGAaVmXpR9FlXkPWpLyPd0,6054
20
+ metaflow_extensions/outerbounds/plugins/nvcf/nvcf_decorator.py,sha256=TKWN3mG2twC40uChfWYVsNKqf3euQIM_YHLAuNf1pvA,6525
21
21
  metaflow_extensions/outerbounds/plugins/snowpark/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
22
22
  metaflow_extensions/outerbounds/plugins/snowpark/snowpark.py,sha256=0R8aFN9MpgWraqiaI6ZF82YpLdFJ1f-3z_-BPRpZfxM,10674
23
23
  metaflow_extensions/outerbounds/plugins/snowpark/snowpark_cli.py,sha256=ErsVoCQLa33byiykOQzDEeEkRKk0mgffZme43f3jxn4,8747
@@ -33,7 +33,7 @@ metaflow_extensions/outerbounds/toplevel/global_aliases_for_metaflow_package.py,
33
33
  metaflow_extensions/outerbounds/toplevel/plugins/azure/__init__.py,sha256=WUuhz2YQfI4fz7nIcipwwWq781eaoHEk7n4GAn1npDg,63
34
34
  metaflow_extensions/outerbounds/toplevel/plugins/gcp/__init__.py,sha256=BbZiaH3uILlEZ6ntBLKeNyqn3If8nIXZFq_Apd7Dhco,70
35
35
  metaflow_extensions/outerbounds/toplevel/plugins/kubernetes/__init__.py,sha256=5zG8gShSj8m7rgF4xgWBZFuY3GDP5n1T0ktjRpGJLHA,69
36
- ob_metaflow_extensions-1.1.92.dist-info/METADATA,sha256=ErKr4z77BaOS6alTco5zeVtZc2KqpSeezK9BscAoZio,520
37
- ob_metaflow_extensions-1.1.92.dist-info/WHEEL,sha256=bb2Ot9scclHKMOLDEHY6B2sicWOgugjFKaJsT7vwMQo,110
38
- ob_metaflow_extensions-1.1.92.dist-info/top_level.txt,sha256=NwG0ukwjygtanDETyp_BUdtYtqIA_lOjzFFh1TsnxvI,20
39
- ob_metaflow_extensions-1.1.92.dist-info/RECORD,,
36
+ ob_metaflow_extensions-1.1.94.dist-info/METADATA,sha256=nE8DERColBTdDM_09M9nhsXhe4owe7eUvpZLno4BZAg,520
37
+ ob_metaflow_extensions-1.1.94.dist-info/WHEEL,sha256=bb2Ot9scclHKMOLDEHY6B2sicWOgugjFKaJsT7vwMQo,110
38
+ ob_metaflow_extensions-1.1.94.dist-info/top_level.txt,sha256=NwG0ukwjygtanDETyp_BUdtYtqIA_lOjzFFh1TsnxvI,20
39
+ ob_metaflow_extensions-1.1.94.dist-info/RECORD,,