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

@@ -1909,9 +1909,7 @@ class ArgoWorkflows(object):
1909
1909
 
1910
1910
  additional_obp_configs = {
1911
1911
  "OBP_PERIMETER": initial_configs["OBP_PERIMETER"],
1912
- "OBP_INTEGRATIONS_URL": initial_configs[
1913
- "OBP_INTEGRATIONS_URL"
1914
- ],
1912
+ "OBP_INTEGRATIONS_URL": initial_configs["OBP_INTEGRATIONS_URL"],
1915
1913
  }
1916
1914
 
1917
1915
  # Tmpfs variables
@@ -1999,6 +1997,8 @@ class ArgoWorkflows(object):
1999
1997
  for k, v in env.items():
2000
1998
  jobset.environment_variable(k, v)
2001
1999
 
2000
+ for k, v in additional_obp_configs.items():
2001
+ jobset.environment_variable(k, v)
2002
2002
  # Set labels. Do not allow user-specified task labels to override internal ones.
2003
2003
  #
2004
2004
  # Explicitly add the task-id-hint label. This is important because this label
@@ -2520,14 +2520,24 @@ class ArgoWorkflows(object):
2520
2520
  links = []
2521
2521
  if UI_URL:
2522
2522
  if PAGERDUTY_TEMPLATE_URL:
2523
- pdproject = ''
2524
- pdbranch = ''
2523
+ pdproject = ""
2524
+ pdbranch = ""
2525
2525
  if getattr(current, "project_name", None):
2526
2526
  pdproject = current.project_name
2527
2527
  pdbranch = current.branch_name
2528
- href_val = PAGERDUTY_TEMPLATE_URL.format(pd_flow=self.flow.name, pd_namespace=KUBERNETES_NAMESPACE,pd_template=self.name,pd_project=pdproject, pd_branch=pdbranch)
2528
+ href_val = PAGERDUTY_TEMPLATE_URL.format(
2529
+ pd_flow=self.flow.name,
2530
+ pd_namespace=KUBERNETES_NAMESPACE,
2531
+ pd_template=self.name,
2532
+ pd_project=pdproject,
2533
+ pd_branch=pdbranch,
2534
+ )
2529
2535
  else:
2530
- href_val = "%s/%s/%s"% (UI_URL.rstrip("/"), self.flow.name, "argo-{{workflow.name}}")
2536
+ href_val = "%s/%s/%s" % (
2537
+ UI_URL.rstrip("/"),
2538
+ self.flow.name,
2539
+ "argo-{{workflow.name}}",
2540
+ )
2531
2541
  links.append(
2532
2542
  {
2533
2543
  "href": href_val,
@@ -10,6 +10,7 @@ from metaflow.exception import MetaflowException
10
10
  from metaflow.util import which
11
11
 
12
12
  from .utils import MICROMAMBA_MIRROR_URL, MICROMAMBA_URL, conda_platform
13
+ from threading import Lock
13
14
 
14
15
 
15
16
  class MicromambaException(MetaflowException):
@@ -54,22 +55,33 @@ class Micromamba(object):
54
55
  or which(os.path.join(self._path_to_hidden_micromamba, "bin/micromamba"))
55
56
  )
56
57
 
58
+ # We keep a mutex as environments are resolved in parallel,
59
+ # which causes a race condition in case micromamba needs to be installed first.
60
+ self.install_mutex = Lock()
61
+
57
62
  @property
58
- def bin(self):
63
+ def bin(self) -> str:
59
64
  "Defer installing Micromamba until when the binary path is actually requested"
60
65
  if self._bin is not None:
61
66
  return self._bin
62
- # Install Micromamba on the fly.
63
- # TODO: Make this optional at some point.
64
- _install_micromamba(self._path_to_hidden_micromamba)
65
- self._bin = which(
66
- os.path.join(self._path_to_hidden_micromamba, "bin/micromamba")
67
- )
67
+ with self.install_mutex:
68
+ # another check as micromamba might have been installed when the mutex is released.
69
+ if self._bin is not None:
70
+ return self._bin
71
+
72
+ # Install Micromamba on the fly.
73
+ # TODO: Make this optional at some point.
74
+ _install_micromamba(self._path_to_hidden_micromamba)
75
+ self._bin = which(
76
+ os.path.join(self._path_to_hidden_micromamba, "bin/micromamba")
77
+ )
78
+
79
+ if self._bin is None:
80
+ msg = "No installation for *Micromamba* found.\n"
81
+ msg += "Visit https://mamba.readthedocs.io/en/latest/micromamba-installation.html for installation instructions."
82
+ raise MetaflowException(msg)
68
83
 
69
- if self._bin is None:
70
- msg = "No installation for *Micromamba* found.\n"
71
- msg += "Visit https://mamba.readthedocs.io/en/latest/micromamba-installation.html for installation instructions."
72
- raise MetaflowException(msg)
84
+ return self._bin
73
85
 
74
86
  def solve(self, id_, packages, python, platform):
75
87
  # Performance enhancements
metaflow/version.py CHANGED
@@ -1 +1 @@
1
- metaflow_version = "2.13.8.1"
1
+ metaflow_version = "2.13.9.2"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: ob-metaflow
3
- Version: 2.13.8.1
3
+ Version: 2.13.9.2
4
4
  Summary: Metaflow: More Data Science, Less Engineering
5
5
  Author: Netflix, Outerbounds & the Metaflow Community
6
6
  Author-email: help@outerbounds.co
@@ -12,7 +12,7 @@ Requires-Dist: boto3
12
12
  Requires-Dist: pylint
13
13
  Requires-Dist: kubernetes
14
14
  Provides-Extra: stubs
15
- Requires-Dist: metaflow-stubs==2.13.8.1; extra == "stubs"
15
+ Requires-Dist: metaflow-stubs==2.13.9.2; extra == "stubs"
16
16
  Dynamic: author
17
17
  Dynamic: author-email
18
18
  Dynamic: description
@@ -36,7 +36,7 @@ metaflow/tuple_util.py,sha256=_G5YIEhuugwJ_f6rrZoelMFak3DqAR2tt_5CapS1XTY,830
36
36
  metaflow/unbounded_foreach.py,sha256=p184WMbrMJ3xKYHwewj27ZhRUsSj_kw1jlye5gA9xJk,387
37
37
  metaflow/util.py,sha256=hKjHl6NYJkKBSU2tzdVbddfOX1zWK73T4GCO42A0XB4,14666
38
38
  metaflow/vendor.py,sha256=FchtA9tH22JM-eEtJ2c9FpUdMn8sSb1VHuQS56EcdZk,5139
39
- metaflow/version.py,sha256=0njmGBcLAssfxHtQv7nyMsSuteUlRK9mk1VxHg0oD18,30
39
+ metaflow/version.py,sha256=EM98gjK3sbjdiLWeB5F4irk--q-xczkgBeMfJHSDDxA,30
40
40
  metaflow/_vendor/__init__.py,sha256=y_CiwUD3l4eAKvTVDZeqgVujMy31cAM1qjAB-HfI-9s,353
41
41
  metaflow/_vendor/typing_extensions.py,sha256=0nUs5p1A_UrZigrAVBoOEM6TxU37zzPDUtiij1ZwpNc,110417
42
42
  metaflow/_vendor/zipp.py,sha256=ajztOH-9I7KA_4wqDYygtHa6xUBVZgFpmZ8FE74HHHI,8425
@@ -181,7 +181,7 @@ metaflow/plugins/airflow/sensors/s3_sensor.py,sha256=iDReG-7FKnumrtQg-HY6cCUAAqN
181
181
  metaflow/plugins/argo/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
182
182
  metaflow/plugins/argo/argo_client.py,sha256=PS_cYGnPw9h4X7TP_plObDH3clMw4reOsBLkkGPTd0Y,16282
183
183
  metaflow/plugins/argo/argo_events.py,sha256=_C1KWztVqgi3zuH57pInaE9OzABc2NnncC-zdwOMZ-w,5909
184
- metaflow/plugins/argo/argo_workflows.py,sha256=Qiv30NsIUCYYsU6L9iPm6deHs9zfuIjG77lHOmwNGPY,177976
184
+ metaflow/plugins/argo/argo_workflows.py,sha256=w8OsiHWZI66hClgW17HJySbZw2w4mA4vIdS8qGy35lo,178253
185
185
  metaflow/plugins/argo/argo_workflows_cli.py,sha256=11_8l4IrtkwviKsijInTZPt7YK5TZzClREnw_Cf4D5o,36706
186
186
  metaflow/plugins/argo/argo_workflows_decorator.py,sha256=ogCSBmwsC2C3eusydrgjuAJd4qK18f1sI4jJwA4Fd-o,7800
187
187
  metaflow/plugins/argo/argo_workflows_deployer.py,sha256=6kHxEnYXJwzNCM9swI8-0AckxtPWqwhZLerYkX8fxUM,4444
@@ -303,7 +303,7 @@ metaflow/plugins/pypi/__init__.py,sha256=0YFZpXvX7HCkyBFglatual7XGifdA1RwC3U4kci
303
303
  metaflow/plugins/pypi/bootstrap.py,sha256=oRfJkAp99R338nYX2wq4FrV0Ax5h4QqqifNmAXrM3CY,14892
304
304
  metaflow/plugins/pypi/conda_decorator.py,sha256=piFcE4uGmWhhbGlxMK0GHd7BGEyqy6r9BFy8Mjoi80Q,15937
305
305
  metaflow/plugins/pypi/conda_environment.py,sha256=LYjbPNbV29SnspVtS-mHmpW4mt6I-aP3qDbXZSXaH4I,22322
306
- metaflow/plugins/pypi/micromamba.py,sha256=Rzjg3e_H4bj2zp3liobZmQwSoeRqh7tSDsbqWKcoEBg,16008
306
+ metaflow/plugins/pypi/micromamba.py,sha256=LLJ2dGGOEyld07W8iI6dtE01h2Y1PQnBhU-dMBssZ3c,16502
307
307
  metaflow/plugins/pypi/pip.py,sha256=H0cIy8odpZ-JTn4SwF0b74tuC3uRU7X8TdAQJ2kODG8,13971
308
308
  metaflow/plugins/pypi/pypi_decorator.py,sha256=ybNgo-T5Z_0W2KNuED0pdjyI0qygZ4a1MXAzKqdHt_E,7250
309
309
  metaflow/plugins/pypi/pypi_environment.py,sha256=FYMg8kF3lXqcLfRYWD83a9zpVjcoo_TARqMGZ763rRk,230
@@ -360,9 +360,9 @@ metaflow/user_configs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3h
360
360
  metaflow/user_configs/config_decorators.py,sha256=Tj0H88UT8Q6pylXxHXgiA6cqnNlw4d3mR7M8J9g3ZUg,20139
361
361
  metaflow/user_configs/config_options.py,sha256=t6c9KNVGz9GNK55YAow74Lof4sDZqCbeeZSzldUBFmA,21072
362
362
  metaflow/user_configs/config_parameters.py,sha256=oeJGVKu1ao_YQX6Lg6P2FEv5k5-_F4sARLlVpTW9ezM,15502
363
- ob_metaflow-2.13.8.1.dist-info/LICENSE,sha256=nl_Lt5v9VvJ-5lWJDT4ddKAG-VZ-2IaLmbzpgYDz2hU,11343
364
- ob_metaflow-2.13.8.1.dist-info/METADATA,sha256=L-5cOFfZfW1zatln4jNGDI4Yy3w2qQ_CznjMwzSXeCQ,5316
365
- ob_metaflow-2.13.8.1.dist-info/WHEEL,sha256=9Hm2OB-j1QcCUq9Jguht7ayGIIZBRTdOXD1qg9cCgPM,109
366
- ob_metaflow-2.13.8.1.dist-info/entry_points.txt,sha256=IKwTN1T3I5eJL3uo_vnkyxVffcgnRdFbKwlghZfn27k,57
367
- ob_metaflow-2.13.8.1.dist-info/top_level.txt,sha256=v1pDHoWaSaKeuc5fKTRSfsXCKSdW1zvNVmvA-i0if3o,9
368
- ob_metaflow-2.13.8.1.dist-info/RECORD,,
363
+ ob_metaflow-2.13.9.2.dist-info/LICENSE,sha256=nl_Lt5v9VvJ-5lWJDT4ddKAG-VZ-2IaLmbzpgYDz2hU,11343
364
+ ob_metaflow-2.13.9.2.dist-info/METADATA,sha256=O1HoaLHkYKq74L2cKEonQsNmwBwlOQj5Ozu52SPh2Ks,5316
365
+ ob_metaflow-2.13.9.2.dist-info/WHEEL,sha256=9Hm2OB-j1QcCUq9Jguht7ayGIIZBRTdOXD1qg9cCgPM,109
366
+ ob_metaflow-2.13.9.2.dist-info/entry_points.txt,sha256=IKwTN1T3I5eJL3uo_vnkyxVffcgnRdFbKwlghZfn27k,57
367
+ ob_metaflow-2.13.9.2.dist-info/top_level.txt,sha256=v1pDHoWaSaKeuc5fKTRSfsXCKSdW1zvNVmvA-i0if3o,9
368
+ ob_metaflow-2.13.9.2.dist-info/RECORD,,