ob-metaflow 2.12.17.1__py2.py3-none-any.whl → 2.12.18.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.

@@ -256,6 +256,7 @@ DEFAULT_RUNTIME_LIMIT = from_conf("DEFAULT_RUNTIME_LIMIT", 5 * 24 * 60 * 60)
256
256
  # Organization customizations
257
257
  ###
258
258
  UI_URL = from_conf("UI_URL")
259
+ PAGERDUTY_TEMPLATE_URL = from_conf("PAGERDUTY_TEMPLATE_URL")
259
260
 
260
261
  ###
261
262
  # Capture error logs from argo
@@ -98,7 +98,7 @@ class MetaflowEnvironment(object):
98
98
  # Boto3 does not play well with passing None or an empty string to endpoint_url
99
99
  return "{python} -c '{script}'".format(
100
100
  python=self._python(),
101
- script='import boto3, os; ep=os.getenv(\\"METAFLOW_S3_ENDPOINT_URL\\"); boto3.client(\\"s3\\", **({endpoint_url:ep} if ep else {})).download_file(\\"%s\\", \\"%s\\", \\"job.tar\\")'
101
+ script='import boto3, os; ep=os.getenv(\\"METAFLOW_S3_ENDPOINT_URL\\"); boto3.client(\\"s3\\", **({\\"endpoint_url\\":ep} if ep else {})).download_file(\\"%s\\", \\"%s\\", \\"job.tar\\")'
102
102
  % (bucket, s3_object),
103
103
  )
104
104
  elif datastore_type == "azure":
@@ -49,6 +49,7 @@ from metaflow.metaflow_config import (
49
49
  SERVICE_HEADERS,
50
50
  SERVICE_INTERNAL_URL,
51
51
  UI_URL,
52
+ PAGERDUTY_TEMPLATE_URL,
52
53
  )
53
54
  from metaflow.metaflow_config_funcs import config_values
54
55
  from metaflow.mflog import BASH_SAVE_LOGS, bash_capture_logs, export_mflog_env_vars
@@ -2387,10 +2388,18 @@ class ArgoWorkflows(object):
2387
2388
  def _pager_duty_notification_links(self):
2388
2389
  links = []
2389
2390
  if UI_URL:
2391
+ if PAGERDUTY_TEMPLATE_URL:
2392
+ pdproject = ''
2393
+ pdbranch = ''
2394
+ if getattr(current, "project_name", None):
2395
+ pdproject = current.project_name
2396
+ pdbranch = current.branch_name
2397
+ 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)
2398
+ else:
2399
+ href_val = "%s/%s/%s"% (UI_URL.rstrip("/"), self.flow.name, "argo-{{workflow.name}}")
2390
2400
  links.append(
2391
2401
  {
2392
- "href": "%s/%s/%s"
2393
- % (UI_URL.rstrip("/"), self.flow.name, "argo-{{workflow.name}}"),
2402
+ "href": href_val,
2394
2403
  "text": "Metaflow UI",
2395
2404
  }
2396
2405
  )
@@ -185,7 +185,10 @@ class CondaEnvironment(MetaflowEnvironment):
185
185
  self.logger("Virtual environment(s) bootstrapped!")
186
186
 
187
187
  def executable(self, step_name, default=None):
188
- step = next(step for step in self.flow if step.name == step_name)
188
+ step = next((step for step in self.flow if step.name == step_name), None)
189
+ if step is None:
190
+ # requesting internal steps e.g. _parameters
191
+ return super().executable(step_name, default)
189
192
  id_ = self.get_environment(step).get("id_")
190
193
  if id_:
191
194
  # bootstrap.py is responsible for ensuring the validity of this executable.
@@ -288,10 +291,13 @@ class CondaEnvironment(MetaflowEnvironment):
288
291
  # PyPI registries, the usage of environment variable `GOOGLE_APPLICATION_CREDENTIALS`
289
292
  # demands that `keyrings.google-artifactregistry-auth` has to be installed
290
293
  # and available in the underlying python environment.
291
- if os.getenv("GOOGLE_APPLICATION_CREDENTIALS"):
292
- environment["conda"]["packages"][
293
- "keyrings.google-artifactregistry-auth"
294
- ] = ">=1.1.1"
294
+
295
+ # commenting this out per https://outerboundsco.slack.com/archives/C040K733FND/p1719262399355449
296
+ # this should be a temporary workaround. Need to find a better fix
297
+ # if os.getenv("GOOGLE_APPLICATION_CREDENTIALS"):
298
+ # environment["conda"]["packages"][
299
+ # "keyrings.google-artifactregistry-auth"
300
+ # ] = ">=1.1.1"
295
301
 
296
302
  # Z combinator for a recursive lambda
297
303
  deep_sort = (lambda f: f(f))(
metaflow/version.py CHANGED
@@ -1 +1 @@
1
- metaflow_version = "2.12.17.1"
1
+ metaflow_version = "2.12.18.2"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ob-metaflow
3
- Version: 2.12.17.1
3
+ Version: 2.12.18.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.12.17.1; extra == "stubs"
15
+ Requires-Dist: metaflow-stubs==2.12.18.2; extra == "stubs"
16
16
 
17
17
  ![Metaflow_Logo_Horizontal_FullColor_Ribbon_Dark_RGB](https://user-images.githubusercontent.com/763451/89453116-96a57e00-d713-11ea-9fa6-82b29d4d6eff.png)
18
18
 
@@ -15,10 +15,10 @@ metaflow/graph.py,sha256=HFJ7V_bPSht_NHIm8BejrSqOX2fyBQpVOczRCliRw08,11975
15
15
  metaflow/includefile.py,sha256=yHczcZ_U0SrasxSNhZb3DIBzx8UZnrJCl3FzvpEQLOA,19753
16
16
  metaflow/integrations.py,sha256=LlsaoePRg03DjENnmLxZDYto3NwWc9z_PtU6nJxLldg,1480
17
17
  metaflow/lint.py,sha256=5rj1MlpluxyPTSINjtMoJ7viotyNzfjtBJSAihlAwMU,10870
18
- metaflow/metaflow_config.py,sha256=MRSTylVQNdPRKJxmbT5sIb-j2b6Rc_BZurWT1XTPotA,22957
18
+ metaflow/metaflow_config.py,sha256=MxVBlIXpLmvudB09WwuWzcYZtNmnIKdxhHuLaNG9IZA,23018
19
19
  metaflow/metaflow_config_funcs.py,sha256=5GlvoafV6SxykwfL8D12WXSfwjBN_NsyuKE_Q3gjGVE,6738
20
20
  metaflow/metaflow_current.py,sha256=5Kri7fzj-rtIJVr5xh5kPKwZ0T73_4egZybzlDR-fgc,7136
21
- metaflow/metaflow_environment.py,sha256=bZxySBGuriqLjZSt0VvuLSuE3sMAyrD7wXwdyUdXO9g,8109
21
+ metaflow/metaflow_environment.py,sha256=D7zHYqe8aLZVwJ20nx19vmsNW29Kf3PVE8hbBjVQin8,8115
22
22
  metaflow/metaflow_profile.py,sha256=jKPEW-hmAQO-htSxb9hXaeloLacAh41A35rMZH6G8pA,418
23
23
  metaflow/metaflow_version.py,sha256=mPQ6g_3XjNdi0NrxDzwlW8ZH0nMyYpwqmJ04P7TIdP0,4774
24
24
  metaflow/monitor.py,sha256=T0NMaBPvXynlJAO_avKtk8OIIRMyEuMAyF8bIp79aZU,5323
@@ -35,7 +35,7 @@ metaflow/tuple_util.py,sha256=_G5YIEhuugwJ_f6rrZoelMFak3DqAR2tt_5CapS1XTY,830
35
35
  metaflow/unbounded_foreach.py,sha256=p184WMbrMJ3xKYHwewj27ZhRUsSj_kw1jlye5gA9xJk,387
36
36
  metaflow/util.py,sha256=olAvJK3y1it_k99MhLulTaAJo7OFVt5rnrD-ulIFLCU,13616
37
37
  metaflow/vendor.py,sha256=FchtA9tH22JM-eEtJ2c9FpUdMn8sSb1VHuQS56EcdZk,5139
38
- metaflow/version.py,sha256=dEWWWq1sk1FSySrY0ErWA7QOkavqxOANSIDvn1EVAjI,31
38
+ metaflow/version.py,sha256=EaHhmy8UbChIyhlc1c--isRkZsnZjUo6-60On6Cw9jQ,31
39
39
  metaflow/_vendor/__init__.py,sha256=y_CiwUD3l4eAKvTVDZeqgVujMy31cAM1qjAB-HfI-9s,353
40
40
  metaflow/_vendor/typing_extensions.py,sha256=0nUs5p1A_UrZigrAVBoOEM6TxU37zzPDUtiij1ZwpNc,110417
41
41
  metaflow/_vendor/zipp.py,sha256=ajztOH-9I7KA_4wqDYygtHa6xUBVZgFpmZ8FE74HHHI,8425
@@ -174,7 +174,7 @@ metaflow/plugins/airflow/sensors/s3_sensor.py,sha256=iDReG-7FKnumrtQg-HY6cCUAAqN
174
174
  metaflow/plugins/argo/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
175
175
  metaflow/plugins/argo/argo_client.py,sha256=MKKhMCbWOPzf6z5zQQiyDRHHkAXcO7ipboDZDqAAvOk,15849
176
176
  metaflow/plugins/argo/argo_events.py,sha256=_C1KWztVqgi3zuH57pInaE9OzABc2NnncC-zdwOMZ-w,5909
177
- metaflow/plugins/argo/argo_workflows.py,sha256=6xUkz1LKdCLbl-O-D83Y2G5mCKYcIciKts3x1PNAzCk,170173
177
+ metaflow/plugins/argo/argo_workflows.py,sha256=BzlJ4_3Lz4MZgxrnr2xpkEts0ZB4CBRzG76WK3ony1w,170676
178
178
  metaflow/plugins/argo/argo_workflows_cli.py,sha256=X2j_F0xF8-K30ebM4dSLOTteDKXbr-jMN18oMpl5S6Y,36313
179
179
  metaflow/plugins/argo/argo_workflows_decorator.py,sha256=yprszMdbE3rBTcEA9VR0IEnPjTprUauZBc4SBb-Q7sA,7878
180
180
  metaflow/plugins/argo/argo_workflows_deployer.py,sha256=wSSZtThn_VPvE_Wu6NB1L0Q86LmBJh9g009v_lpvBPM,8125
@@ -291,7 +291,7 @@ metaflow/plugins/metadata/service.py,sha256=ihq5F7KQZlxvYwzH_-jyP2aWN_I96i2vp92j
291
291
  metaflow/plugins/pypi/__init__.py,sha256=0YFZpXvX7HCkyBFglatual7XGifdA1RwC3U4kcizyak,1037
292
292
  metaflow/plugins/pypi/bootstrap.py,sha256=Tvc4_QKIx-A8j5Aq8ccWZrrxNM8csN40rK8HmxDx-Z8,5106
293
293
  metaflow/plugins/pypi/conda_decorator.py,sha256=fTJVbEfgOUtsDXIfnfsNk46sKeA9uTuTqGey9OFs9Ig,14738
294
- metaflow/plugins/pypi/conda_environment.py,sha256=erVvMgQhg6oBv4l6Yca72FKKoB0QEcitpTserPSPc44,19328
294
+ metaflow/plugins/pypi/conda_environment.py,sha256=NSBcN4oD_RZONOUrnubLh-ur8EfS0h9PM4r7GNZczyc,19685
295
295
  metaflow/plugins/pypi/micromamba.py,sha256=67FiIZZz0Kig9EcN7bZLObsE6Z1MFyo4Dp93fd3Grcc,12178
296
296
  metaflow/plugins/pypi/pip.py,sha256=7B06mPOs5MvY33xbzPVYZlBr1iKMYaN-n8uulL9zSVg,13649
297
297
  metaflow/plugins/pypi/pypi_decorator.py,sha256=h5cAnxkWjmj4Ad4q0AkABKwhHQHYfeexy12yMaaLgXQ,6443
@@ -344,9 +344,9 @@ metaflow/tutorials/07-worldview/README.md,sha256=5vQTrFqulJ7rWN6r20dhot9lI2sVj9W
344
344
  metaflow/tutorials/07-worldview/worldview.ipynb,sha256=ztPZPI9BXxvW1QdS2Tfe7LBuVzvFvv0AToDnsDJhLdE,2237
345
345
  metaflow/tutorials/08-autopilot/README.md,sha256=GnePFp_q76jPs991lMUqfIIh5zSorIeWznyiUxzeUVE,1039
346
346
  metaflow/tutorials/08-autopilot/autopilot.ipynb,sha256=DQoJlILV7Mq9vfPBGW-QV_kNhWPjS5n6SJLqePjFYLY,3191
347
- ob_metaflow-2.12.17.1.dist-info/LICENSE,sha256=nl_Lt5v9VvJ-5lWJDT4ddKAG-VZ-2IaLmbzpgYDz2hU,11343
348
- ob_metaflow-2.12.17.1.dist-info/METADATA,sha256=6hA27-07fao9Ira7yeXB0tVxSeBGOLJC_UoXVztOVzc,5143
349
- ob_metaflow-2.12.17.1.dist-info/WHEEL,sha256=GUeE9LxUgRABPG7YM0jCNs9cBsAIx0YAkzCB88PMLgc,109
350
- ob_metaflow-2.12.17.1.dist-info/entry_points.txt,sha256=IKwTN1T3I5eJL3uo_vnkyxVffcgnRdFbKwlghZfn27k,57
351
- ob_metaflow-2.12.17.1.dist-info/top_level.txt,sha256=v1pDHoWaSaKeuc5fKTRSfsXCKSdW1zvNVmvA-i0if3o,9
352
- ob_metaflow-2.12.17.1.dist-info/RECORD,,
347
+ ob_metaflow-2.12.18.2.dist-info/LICENSE,sha256=nl_Lt5v9VvJ-5lWJDT4ddKAG-VZ-2IaLmbzpgYDz2hU,11343
348
+ ob_metaflow-2.12.18.2.dist-info/METADATA,sha256=ibU7ptqXDc__7QkAkwSPM_QN6OjnSC1QaKo7ZrbUKA4,5143
349
+ ob_metaflow-2.12.18.2.dist-info/WHEEL,sha256=WDDPHYzpiOIm6GP1C2_8y8W6q16ICddAgOHlhTje9Qc,109
350
+ ob_metaflow-2.12.18.2.dist-info/entry_points.txt,sha256=IKwTN1T3I5eJL3uo_vnkyxVffcgnRdFbKwlghZfn27k,57
351
+ ob_metaflow-2.12.18.2.dist-info/top_level.txt,sha256=v1pDHoWaSaKeuc5fKTRSfsXCKSdW1zvNVmvA-i0if3o,9
352
+ ob_metaflow-2.12.18.2.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (73.0.1)
2
+ Generator: setuptools (74.0.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py2-none-any
5
5
  Tag: py3-none-any