ob-metaflow 2.12.10.1rc2__py2.py3-none-any.whl → 2.12.11.0__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.

Files changed (45) hide show
  1. metaflow/client/core.py +6 -6
  2. metaflow/client/filecache.py +16 -3
  3. metaflow/cmd/develop/stub_generator.py +62 -47
  4. metaflow/datastore/content_addressed_store.py +1 -1
  5. metaflow/datastore/task_datastore.py +1 -1
  6. metaflow/decorators.py +2 -4
  7. metaflow/extension_support/__init__.py +3 -3
  8. metaflow/extension_support/plugins.py +3 -3
  9. metaflow/metaflow_config.py +35 -18
  10. metaflow/parameters.py +3 -3
  11. metaflow/plugins/airflow/airflow.py +6 -6
  12. metaflow/plugins/airflow/airflow_utils.py +5 -3
  13. metaflow/plugins/argo/argo_workflows.py +555 -192
  14. metaflow/plugins/argo/argo_workflows_cli.py +27 -4
  15. metaflow/plugins/argo/argo_workflows_decorator.py +6 -13
  16. metaflow/plugins/argo/capture_error.py +70 -0
  17. metaflow/plugins/argo/daemon.py +59 -0
  18. metaflow/plugins/aws/step_functions/step_functions.py +3 -3
  19. metaflow/plugins/cards/card_modules/basic.py +5 -3
  20. metaflow/plugins/cards/card_modules/convert_to_native_type.py +2 -2
  21. metaflow/plugins/cards/card_modules/renderer_tools.py +1 -0
  22. metaflow/plugins/cards/card_modules/test_cards.py +0 -2
  23. metaflow/plugins/datastores/gs_storage.py +3 -10
  24. metaflow/plugins/datatools/s3/s3op.py +5 -3
  25. metaflow/plugins/kubernetes/kubernetes.py +1 -0
  26. metaflow/plugins/kubernetes/kubernetes_job.py +32 -42
  27. metaflow/plugins/kubernetes/kubernetes_jobsets.py +16 -14
  28. metaflow/plugins/logs_cli.py +1 -0
  29. metaflow/plugins/pypi/conda_environment.py +1 -3
  30. metaflow/plugins/pypi/pip.py +3 -3
  31. metaflow/plugins/storage_executor.py +1 -5
  32. metaflow/plugins/tag_cli.py +3 -3
  33. metaflow/procpoll.py +1 -1
  34. metaflow/runtime.py +1 -0
  35. metaflow/tracing/__init__.py +0 -5
  36. metaflow/tracing/tracing_modules.py +1 -4
  37. metaflow/util.py +6 -6
  38. metaflow/version.py +1 -1
  39. {ob_metaflow-2.12.10.1rc2.dist-info → ob_metaflow-2.12.11.0.dist-info}/METADATA +2 -2
  40. {ob_metaflow-2.12.10.1rc2.dist-info → ob_metaflow-2.12.11.0.dist-info}/RECORD +44 -43
  41. metaflow/tracing/threadpool.py +0 -30
  42. {ob_metaflow-2.12.10.1rc2.dist-info → ob_metaflow-2.12.11.0.dist-info}/LICENSE +0 -0
  43. {ob_metaflow-2.12.10.1rc2.dist-info → ob_metaflow-2.12.11.0.dist-info}/WHEEL +0 -0
  44. {ob_metaflow-2.12.10.1rc2.dist-info → ob_metaflow-2.12.11.0.dist-info}/entry_points.txt +0 -0
  45. {ob_metaflow-2.12.10.1rc2.dist-info → ob_metaflow-2.12.11.0.dist-info}/top_level.txt +0 -0
@@ -507,9 +507,9 @@ def tag_list(
507
507
 
508
508
  if not group_by_run and not group_by_tag:
509
509
  # We list all the runs that match to print them out if needed.
510
- system_tags_by_some_grouping[
511
- ",".join(pathspecs)
512
- ] = system_tags_by_some_grouping.get("_", set())
510
+ system_tags_by_some_grouping[",".join(pathspecs)] = (
511
+ system_tags_by_some_grouping.get("_", set())
512
+ )
513
513
  all_tags_by_some_grouping[",".join(pathspecs)] = all_tags_by_some_grouping.get(
514
514
  "_", set()
515
515
  )
metaflow/procpoll.py CHANGED
@@ -31,7 +31,7 @@ class LinuxProcPoll(ProcPoll):
31
31
  self._poll.unregister(fd)
32
32
 
33
33
  def poll(self, timeout):
34
- for (fd, event) in self._poll.poll(timeout):
34
+ for fd, event in self._poll.poll(timeout):
35
35
  yield ProcPollEvent(
36
36
  fd=fd,
37
37
  can_read=bool(event & select.POLLIN),
metaflow/runtime.py CHANGED
@@ -4,6 +4,7 @@ Local backend
4
4
  Execute the flow with a native runtime
5
5
  using local / remote processes
6
6
  """
7
+
7
8
  from __future__ import print_function
8
9
  import os
9
10
  import sys
@@ -52,10 +52,6 @@ def tracing(func):
52
52
  return wrapper_func
53
53
 
54
54
 
55
- from concurrent.futures import ThreadPoolExecutor
56
- TracedThreadPoolExecutor = ThreadPoolExecutor
57
-
58
-
59
55
  if not DISABLE_TRACING and (CONSOLE_TRACE_ENABLED or OTEL_ENDPOINT or ZIPKIN_ENDPOINT):
60
56
  try:
61
57
  # Overrides No-Op implementations if a specific provider is configured.
@@ -67,7 +63,6 @@ if not DISABLE_TRACING and (CONSOLE_TRACE_ENABLED or OTEL_ENDPOINT or ZIPKIN_END
67
63
  get_trace_id,
68
64
  traced,
69
65
  tracing,
70
- TracedThreadPoolExecutor,
71
66
  )
72
67
 
73
68
  except ImportError as e:
@@ -13,8 +13,6 @@ from typing import Dict, List, Optional
13
13
  from opentelemetry import trace as trace_api, context
14
14
  from .span_exporter import get_span_exporter
15
15
 
16
- from .threadpool import TracedThreadPoolExecutor
17
-
18
16
  tracer_provider = None
19
17
 
20
18
 
@@ -23,7 +21,6 @@ def init_tracing():
23
21
  if tracer_provider is not None:
24
22
  print("Tracing already initialized", file=sys.stderr)
25
23
  return
26
- import os
27
24
 
28
25
  from .propagator import EnvPropagator
29
26
 
@@ -145,7 +142,7 @@ def traced(name, attrs={}):
145
142
  def tracing(func):
146
143
  @wraps(func)
147
144
  def wrapper_func(*args, **kwargs):
148
- tracer = trace_api.get_tracer_provider().get_tracer(func.__module__)
145
+ tracer = trace_api.get_tracer_provider().get_tracer(func.__module__.__name__)
149
146
 
150
147
  with tracer.start_as_current_span(func.__name__):
151
148
  return func(*args, **kwargs)
metaflow/util.py CHANGED
@@ -382,9 +382,9 @@ def to_camelcase(obj):
382
382
  if isinstance(obj, dict):
383
383
  res = obj.__class__()
384
384
  for k in obj:
385
- res[
386
- re.sub(r"(?!^)_([a-zA-Z])", lambda x: x.group(1).upper(), k)
387
- ] = to_camelcase(obj[k])
385
+ res[re.sub(r"(?!^)_([a-zA-Z])", lambda x: x.group(1).upper(), k)] = (
386
+ to_camelcase(obj[k])
387
+ )
388
388
  elif isinstance(obj, (list, set, tuple)):
389
389
  res = obj.__class__(to_camelcase(v) for v in obj)
390
390
  else:
@@ -401,9 +401,9 @@ def to_pascalcase(obj):
401
401
  if isinstance(obj, dict):
402
402
  res = obj.__class__()
403
403
  for k in obj:
404
- res[
405
- re.sub("([a-zA-Z])", lambda x: x.groups()[0].upper(), k, 1)
406
- ] = to_pascalcase(obj[k])
404
+ res[re.sub("([a-zA-Z])", lambda x: x.groups()[0].upper(), k, 1)] = (
405
+ to_pascalcase(obj[k])
406
+ )
407
407
  elif isinstance(obj, (list, set, tuple)):
408
408
  res = obj.__class__(to_pascalcase(v) for v in obj)
409
409
  else:
metaflow/version.py CHANGED
@@ -1 +1 @@
1
- metaflow_version = "2.12.10.1rc2"
1
+ metaflow_version = "2.12.11.0"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ob-metaflow
3
- Version: 2.12.10.1rc2
3
+ Version: 2.12.11.0
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.10.1rc2 ; extra == 'stubs'
15
+ Requires-Dist: metaflow-stubs==2.12.11.0; 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
 
@@ -6,7 +6,7 @@ metaflow/cli_args.py,sha256=lcgBGNTvfaiPxiUnejAe60Upt9swG6lRy1_3OqbU6MY,2616
6
6
  metaflow/clone_util.py,sha256=XfUX0vssu_hPlyZfhFl1AOnKkLqvt33Qp8xNrmdocGg,2057
7
7
  metaflow/cmd_with_io.py,sha256=kl53HkAIyv0ecpItv08wZYczv7u3msD1VCcciqigqf0,588
8
8
  metaflow/debug.py,sha256=HEmt_16tJtqHXQXsqD9pqOFe3CWR5GZ7VwpaYQgnRdU,1466
9
- metaflow/decorators.py,sha256=ESe0mDsyTKsfZw2Ovn83rU-GsNUCM-ZYCljGeC8ChnY,21548
9
+ metaflow/decorators.py,sha256=hbJwRlZuLbl6t7fOsTiH7Sux4Lx6zgEEpldIXoM5TQc,21540
10
10
  metaflow/event_logger.py,sha256=joTVRqZPL87nvah4ZOwtqWX8NeraM_CXKXXGVpKGD8o,780
11
11
  metaflow/events.py,sha256=ahjzkSbSnRCK9RZ-9vTfUviz_6gMvSO9DGkJ86X80-k,5300
12
12
  metaflow/exception.py,sha256=KC1LHJQzzYkWib0DeQ4l_A2r8VaudywsSqIQuq1RDZU,4954
@@ -15,7 +15,7 @@ metaflow/graph.py,sha256=ZPxyG8uwVMk5YYgX4pQEQaPZtZM5Wy-G4NtJK73IEuA,11818
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=2lCcN96hN8Vq6oalxBu9ekUWqUXmZXQOswP69Rljyj4,22568
18
+ metaflow/metaflow_config.py,sha256=rkkZI_2SKkxiLJL4drYRzSfKoWi5tgFlbISFDc187Ec,22839
19
19
  metaflow/metaflow_config_funcs.py,sha256=pCaiQ2ez9wXixJI3ehmf3QiW9lUqFrZnBZx1my_0wIg,4874
20
20
  metaflow/metaflow_current.py,sha256=5Kri7fzj-rtIJVr5xh5kPKwZ0T73_4egZybzlDR-fgc,7136
21
21
  metaflow/metaflow_environment.py,sha256=HJfhI3GrU-YbY7Etu9M-1q7EbwtEGFzCBhrUs45OLXY,7403
@@ -24,18 +24,18 @@ metaflow/metaflow_version.py,sha256=mPQ6g_3XjNdi0NrxDzwlW8ZH0nMyYpwqmJ04P7TIdP0,
24
24
  metaflow/monitor.py,sha256=T0NMaBPvXynlJAO_avKtk8OIIRMyEuMAyF8bIp79aZU,5323
25
25
  metaflow/multicore_utils.py,sha256=vdTNgczVLODifscUbbveJbuSDOl3Y9pAxhr7sqYiNf4,4760
26
26
  metaflow/package.py,sha256=sOvRpnvqVaQa6eR8lwcfb5HYCGqmpYFPm-cLgOEdl04,7377
27
- metaflow/parameters.py,sha256=e4uVGrVMZXmfn070P-zRmVeax2OjV4dfnR6iyaE-wt4,15712
28
- metaflow/procpoll.py,sha256=22ppTUyaTYVn1UUG4RNG1LnCKBwRbaTmhYiYN_7OVN8,2861
27
+ metaflow/parameters.py,sha256=l8qnhBG9C4wf_FkXWjq5sapUA6npLdR7pyB0PPQ-KF0,15712
28
+ metaflow/procpoll.py,sha256=U2tE4iK_Mwj2WDyVTx_Uglh6xZ-jixQOo4wrM9OOhxg,2859
29
29
  metaflow/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
30
30
  metaflow/pylint_wrapper.py,sha256=zzBY9YaSUZOGH-ypDKAv2B_7XcoyMZj-zCoCrmYqNRc,2865
31
- metaflow/runtime.py,sha256=6xQc9ManVWTNJ2QbEahvgdAF2R0DQ-fI2cqXGCg4qp8,68274
31
+ metaflow/runtime.py,sha256=_sOfR9jM_59DYW222nCX-7ZhkWKrAklSmMzqyL_dYjg,68275
32
32
  metaflow/tagging_util.py,sha256=ctyf0Q1gBi0RyZX6J0e9DQGNkNHblV_CITfy66axXB4,2346
33
33
  metaflow/task.py,sha256=uJHl8K4n3jNllWHSsG1vAZtDza0U2QbQcdg9GS_YPBE,28660
34
34
  metaflow/tuple_util.py,sha256=_G5YIEhuugwJ_f6rrZoelMFak3DqAR2tt_5CapS1XTY,830
35
35
  metaflow/unbounded_foreach.py,sha256=p184WMbrMJ3xKYHwewj27ZhRUsSj_kw1jlye5gA9xJk,387
36
- metaflow/util.py,sha256=m5womQ7y-jXehuMyHPfByDbZ4HwTJxzs869cPOlMR8s,13057
36
+ metaflow/util.py,sha256=e79A-UwdiJQ8nEDEwT5hOu-LU3p06iX2gD3RqnSQFlc,13061
37
37
  metaflow/vendor.py,sha256=FchtA9tH22JM-eEtJ2c9FpUdMn8sSb1VHuQS56EcdZk,5139
38
- metaflow/version.py,sha256=kGj-PcLLHyv0B6fbtr3neBGsNkLetAXjMRmb2CychSs,34
38
+ metaflow/version.py,sha256=WaOEgGnxBItC_AQTgQVidubfv4kEFiLbcD_w8SU6RbE,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
@@ -110,29 +110,29 @@ metaflow/_vendor/v3_6/importlib_metadata/_meta.py,sha256=_F48Hu_jFxkfKWz5wcYS8vO
110
110
  metaflow/_vendor/v3_6/importlib_metadata/_text.py,sha256=HCsFksZpJLeTP3NEk_ngrAeXVRRtTrtyh9eOABoRP4A,2166
111
111
  metaflow/_vendor/v3_6/importlib_metadata/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
112
112
  metaflow/client/__init__.py,sha256=1GtQB4Y_CBkzaxg32L1syNQSlfj762wmLrfrDxGi1b8,226
113
- metaflow/client/core.py,sha256=aFAAacCf3F7Iq0ZGMKr_HW2jh-CKV7p2uC1GhZumPxI,74067
114
- metaflow/client/filecache.py,sha256=QdD1sW6w4Nnza-ioz4I1fEZI843X33AFIV3eSxq-cuU,14868
113
+ metaflow/client/core.py,sha256=BG2xjB1n1boI4LAJ_ctZfy-DG7xqMp9YLHA0hTFeaps,74083
114
+ metaflow/client/filecache.py,sha256=Wy0yhhCqC1JZgebqi7z52GCwXYnkAqMZHTtxThvwBgM,15229
115
115
  metaflow/cmd/__init__.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
116
116
  metaflow/cmd/configure_cmd.py,sha256=o-DKnUf2FBo_HiMVyoyzQaGBSMtpbEPEdFTQZ0hkU-k,33396
117
117
  metaflow/cmd/main_cli.py,sha256=Yunxh0QFUPgGYMe0eeGrbmxtZGVdJPCgkd4P1x_j8B4,2950
118
118
  metaflow/cmd/tutorials_cmd.py,sha256=8FdlKkicTOhCIDKcBR5b0Oz6giDvS-EMY3o9skIrRqw,5156
119
119
  metaflow/cmd/util.py,sha256=jS_0rUjOnGGzPT65fzRLdGjrYAOOLA4jU2S0HJLV0oc,406
120
120
  metaflow/cmd/develop/__init__.py,sha256=p1Sy8yU1MEKSrH5ttOWOZvNcI1qYu6J6jghdTHwPgOw,689
121
- metaflow/cmd/develop/stub_generator.py,sha256=fmiWmr4tXBBvIZdWVEhKvZWtG4vjyIsfreh-sJQnkjc,46645
121
+ metaflow/cmd/develop/stub_generator.py,sha256=-FddHkXy6_DTnZnVACd68KAJjVLJWX04Kt9-jZS2b94,47286
122
122
  metaflow/cmd/develop/stubs.py,sha256=uKL3PfczjSDt5kA2-PiFqxWT7ShQGhGpwzXaDpiPVIE,11854
123
123
  metaflow/datastore/__init__.py,sha256=VxP6ddJt3rwiCkpiSfAhyVkUCOe1pgZZsytVEJzFmSQ,155
124
- metaflow/datastore/content_addressed_store.py,sha256=dCVFAr4PltlmXNVVYt7UaBGJWe6fWuicCgb68XHqLrA,7643
124
+ metaflow/datastore/content_addressed_store.py,sha256=6T7tNqL29kpmecyMLHF35RhoSBOb-OZcExnsB65AvnI,7641
125
125
  metaflow/datastore/datastore_set.py,sha256=R5pwnxg1DD8kBY9vElvd2eMknrvwTyiSwvQs67_z9bc,2361
126
126
  metaflow/datastore/datastore_storage.py,sha256=7V43QuiWDQ_Q4oHw9y7Z7X9lYj3GI-LV1-xB3d2Tt5k,9038
127
127
  metaflow/datastore/exceptions.py,sha256=r7Ab5FvHIzyFh6kwiptA1lO5nLqWg0xRBoeYGefvapA,373
128
128
  metaflow/datastore/flow_datastore.py,sha256=kbJcOLYnvPHgJfZ_WWkD9LJSX1PHI1K6f9oVUu08A9U,10235
129
129
  metaflow/datastore/inputs.py,sha256=i43dXr2xvgtsgKMO9allgCR18bk80GeayeQFyUTH36w,449
130
- metaflow/datastore/task_datastore.py,sha256=RWO-2p_vyJfTV9JtW2dIdt7IW7n_OD8ff43YJwetiW0,36169
131
- metaflow/extension_support/__init__.py,sha256=L_ygZSVEjt-zifwypKkn4i93bhVixIyNL3DFhIGrHxo,49430
130
+ metaflow/datastore/task_datastore.py,sha256=-aDvRUUEaWq0chiGzCCSYmsTP8T-gjs0eowvy2Xyaug,36167
131
+ metaflow/extension_support/__init__.py,sha256=FF-GdIkxiHSqdwCN5xkW5A0DQn3B8GpnphIFDBpLEr0,49432
132
132
  metaflow/extension_support/_empty_file.py,sha256=HENjnM4uAfeNygxMB_feCCWORFoSat9n_QwzSx2oXPw,109
133
133
  metaflow/extension_support/cmd.py,sha256=hk8iBUUINqvKCDxInKgWpum8ThiRZtHSJP7qBASHzl8,5711
134
134
  metaflow/extension_support/integrations.py,sha256=AWAh-AZ-vo9IxuAVEjGw3s8p_NMm2DKHYx10oC51gPU,5506
135
- metaflow/extension_support/plugins.py,sha256=dnd8o_La6CxTz-oboCnoUewaVRerWnbH4XqIGYB0-N4,10823
135
+ metaflow/extension_support/plugins.py,sha256=vz6q-6Eiy2QQ6Lo4Rv3sFTHKJZ9M3eorzD1tfS_L0SY,10831
136
136
  metaflow/metadata/__init__.py,sha256=FZNSnz26VB_m18DQG8mup6-Gfl7r1U6lRMljJBp3VAM,64
137
137
  metaflow/metadata/heartbeat.py,sha256=9XJs4SV4R4taxUSMOKmRChnJCQ5a5o0dzRZ1iICWr9Y,2423
138
138
  metaflow/metadata/metadata.py,sha256=oPm87-sQmyKWKfcFOsJOFXwo_clx9sCJ2YzdM32c6VQ,26061
@@ -148,21 +148,21 @@ metaflow/plugins/debug_logger.py,sha256=mcF5HYzJ0NQmqCMjyVUk3iAP-heroHRIiVWQC6Ha
148
148
  metaflow/plugins/debug_monitor.py,sha256=Md5X_sDOSssN9pt2D8YcaIjTK5JaQD55UAYTcF6xYF0,1099
149
149
  metaflow/plugins/environment_decorator.py,sha256=6m9j2B77d-Ja_l_9CTJ__0O6aB2a8Qt_lAZu6UjAcUA,587
150
150
  metaflow/plugins/events_decorator.py,sha256=c2GcH6Mspbey3wBkjM5lqxaNByFOzYDQdllLpXzRNv8,18283
151
- metaflow/plugins/logs_cli.py,sha256=7-LxLRy8X5s4KcoMSc183cbNIJnIcedf6oWPe13-hQs,11409
151
+ metaflow/plugins/logs_cli.py,sha256=77W5UNagU2mOKSMMvrQxQmBLRzvmjK-c8dWxd-Ygbqs,11410
152
152
  metaflow/plugins/package_cli.py,sha256=-J6D4cupHfWSZ4GEFo2yy9Je9oL3owRWm5pEJwaiqd4,1649
153
153
  metaflow/plugins/parallel_decorator.py,sha256=wXBmEnnOmWI46-Lcry_CArkujj6YOrfzAwVVw1kgpPI,8591
154
154
  metaflow/plugins/project_decorator.py,sha256=eJOe0Ea7CbUCReEhR_XQvRkhV6jyRqDxM72oZI7EMCk,5336
155
155
  metaflow/plugins/resources_decorator.py,sha256=3MMZ7uptDf99795_RcSOq4h0N3OFlKpd3ahIEsozBBs,1333
156
156
  metaflow/plugins/retry_decorator.py,sha256=tz_2Tq6GLg3vjDBZp0KKVTk3ADlCvqaWTSf7blmFdUw,1548
157
- metaflow/plugins/storage_executor.py,sha256=BUzSyv0cU5I_FN8RfXpNy6mlTw_8UKa-xm_5AUJ8aGQ,6332
158
- metaflow/plugins/tag_cli.py,sha256=O_ZI4ILwGX3xKrLewUUF-zdJjCDi3JmsTb4ow87_RuY,17610
157
+ metaflow/plugins/storage_executor.py,sha256=FqAgR0-L9MuqN8fRtTe4jjUfJL9lqt6fQkYaglAjRbk,6137
158
+ metaflow/plugins/tag_cli.py,sha256=k5nhcQx_mBQYXPyoQVIpm6CFjC44sGr3opC2KkIqli0,17612
159
159
  metaflow/plugins/test_unbounded_foreach_decorator.py,sha256=-3o_VhmZW7R9i-0RgqEradmPqx9rS6jJxcIKV6-WQMg,5948
160
160
  metaflow/plugins/timeout_decorator.py,sha256=R-X8rKeMqd-xhfJFqskWb6ZpmZt2JB14U1BZJSRriwM,3648
161
161
  metaflow/plugins/airflow/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
162
- metaflow/plugins/airflow/airflow.py,sha256=n6NUVR3HMTkX6G3H246otXlSSeLhtmcPZp9ei2SIBeg,32156
162
+ metaflow/plugins/airflow/airflow.py,sha256=V9a96L5Cb1Yg5CvcbX6WDa7J8lQh5AjIvnVQod20_7k,32160
163
163
  metaflow/plugins/airflow/airflow_cli.py,sha256=fUi6IsRMi6mvL6Twrszk7rZq7_4PmdYr9evJnBpXXPc,14440
164
164
  metaflow/plugins/airflow/airflow_decorator.py,sha256=H9-QnRP4x8tSomLmmpGeuVUI48-CxHR7tlvn_ceX1Zs,1772
165
- metaflow/plugins/airflow/airflow_utils.py,sha256=qd6lV2X4VpCO2sLsRc35JMOU4DVz_tQacrM_wWNkQug,28865
165
+ metaflow/plugins/airflow/airflow_utils.py,sha256=dvRllfQeOWfDUseFnOocIGaL3gRI_A7cEHnC1w01vfk,28905
166
166
  metaflow/plugins/airflow/dag.py,sha256=zYV3QsyqGIOxgipbiEb4dX-r6aippNbXjuT6Jt2s4xI,129
167
167
  metaflow/plugins/airflow/exception.py,sha256=JrsW0s7zrtiDVvOAqsGB75qMoRSNehPQmcud4zbcP1M,287
168
168
  metaflow/plugins/airflow/plumbing/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -174,10 +174,12 @@ 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=gzL5R2ckrYaz1TbhXgLrHXC_5NwIlriTdztKN-z5J3w,155030
178
- metaflow/plugins/argo/argo_workflows_cli.py,sha256=FnjnXPXas-ANfZ5m9s4YCHjejrkF7SbOS87J7z6339c,35036
179
- metaflow/plugins/argo/argo_workflows_decorator.py,sha256=A23cRd8IBDUFJRmtQ0U8kik4gk0lg5s8UKrSO7obSEM,8475
177
+ metaflow/plugins/argo/argo_workflows.py,sha256=HsoZvmMQVdA3scP40DxkciHM-znuOljWy-fqaCAdzII,170278
178
+ metaflow/plugins/argo/argo_workflows_cli.py,sha256=GmCjk0EEO0eACwwgoXMLA2C5PgopFD34BzLTor6r46k,35706
179
+ metaflow/plugins/argo/argo_workflows_decorator.py,sha256=yprszMdbE3rBTcEA9VR0IEnPjTprUauZBc4SBb-Q7sA,7878
180
180
  metaflow/plugins/argo/argo_workflows_deployer.py,sha256=yMIXAVoAuBLHCqQyFriV_Wc_Lp5D041Ay83R5pYNoXE,8066
181
+ metaflow/plugins/argo/capture_error.py,sha256=Ys9dscGrTpW-ZCirLBU0gD9qBM0BjxyxGlUMKcwewQc,1852
182
+ metaflow/plugins/argo/daemon.py,sha256=dJOS_UUISXBYffi3oGVKPwq4Pa4P_nGBGL15piPaPto,1776
181
183
  metaflow/plugins/argo/generate_input_paths.py,sha256=loYsI6RFX9LlFsHb7Fe-mzlTTtRdySoOu7sYDy-uXK0,881
182
184
  metaflow/plugins/argo/jobset_input_paths.py,sha256=_JhZWngA6p9Q_O2fx3pdzKI0WE-HPRHz_zFvY2pHPTQ,525
183
185
  metaflow/plugins/aws/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -196,7 +198,7 @@ metaflow/plugins/aws/step_functions/event_bridge_client.py,sha256=U9-tqKdih4KR-Z
196
198
  metaflow/plugins/aws/step_functions/production_token.py,sha256=_o4emv3rozYZoWpaj1Y6UfKhTMlYpQc7GDDDBfZ2G7s,1898
197
199
  metaflow/plugins/aws/step_functions/schedule_decorator.py,sha256=Ab1rW8O_no4HNZm4__iBmFDCDW0Z8-TgK4lnxHHA6HI,1940
198
200
  metaflow/plugins/aws/step_functions/set_batch_environment.py,sha256=ibiGWFHDjKcLfprH3OsX-g2M9lUsh6J-bp7v2cdLhD4,1294
199
- metaflow/plugins/aws/step_functions/step_functions.py,sha256=S51wz_75n5Um8qZ-ICactX3-Fnpv0qb-ORLa-prBrB8,51853
201
+ metaflow/plugins/aws/step_functions/step_functions.py,sha256=8tBs4pvdIVgNoZRm0Dzh4HK4HW3JT1OvtsB4cmUo8no,51855
200
202
  metaflow/plugins/aws/step_functions/step_functions_cli.py,sha256=4CYw5xQwPaEV_iudF4_m4SSRS5LEq5UgrzVlCB6xT_U,25763
201
203
  metaflow/plugins/aws/step_functions/step_functions_client.py,sha256=DKpNwAIWElvWjFANs5Ku3rgzjxFoqAD6k-EF8Xhkg3Q,4754
202
204
  metaflow/plugins/aws/step_functions/step_functions_decorator.py,sha256=9hw_MX36RyFp6IowuAYaJzJg9UC5KCe1FNt1PcG7_J0,3791
@@ -221,14 +223,14 @@ metaflow/plugins/cards/component_serializer.py,sha256=Row7c_8_euJcF_I1lWHdgMRj7d
221
223
  metaflow/plugins/cards/exception.py,sha256=2UqlNb-Kxpg6cuLu2sBEIPTIElwlVBsSpeCgDYKTxWg,5222
222
224
  metaflow/plugins/cards/card_modules/__init__.py,sha256=WI2IAsFiKGyqPrHtO9S9-MbyVtUTgWJNL4xjJaBErRo,3437
223
225
  metaflow/plugins/cards/card_modules/base.html,sha256=Y208ZKIZqEWWUcoBFTLTdWKAG0C8xH5lmyCRSjaN2FY,21004
224
- metaflow/plugins/cards/card_modules/basic.py,sha256=tv-Dl9qnWWOB7E1oYlvxvDNWR3EB95gnN8K1Yo8W_J8,24077
226
+ metaflow/plugins/cards/card_modules/basic.py,sha256=QHxbbeUA3iM_cJMOeVxSCqbS5Suf1pwUXlfw__Cyj1Q,24117
225
227
  metaflow/plugins/cards/card_modules/bundle.css,sha256=ms2wOKftlPM_i6bC_4BkrmqCOj8mYw9OFvRCJF9FSV4,11981
226
228
  metaflow/plugins/cards/card_modules/card.py,sha256=HspyT4d3VeXq4k3sLRLm0-2k4ScKefHu25EDuYgMtPA,4209
227
229
  metaflow/plugins/cards/card_modules/components.py,sha256=Yvq9lqR_5EFVPM0ruzYTft635_dGIbkJhgxrQlPz1eg,25321
228
- metaflow/plugins/cards/card_modules/convert_to_native_type.py,sha256=CX4Z9Xdu6ZRELOyzILCNTGOz0kNWecEUet4ddgd2JVI,15782
230
+ metaflow/plugins/cards/card_modules/convert_to_native_type.py,sha256=eGaQ8BabJ489a8AiyhXFy1pWJZl99gH0FQzwsNVxAGQ,15782
229
231
  metaflow/plugins/cards/card_modules/main.js,sha256=bcw-hDagN2g38i28pdSY0irAka3t3jhSg-dN5vpuk7M,1027705
230
- metaflow/plugins/cards/card_modules/renderer_tools.py,sha256=V3H92FvIl2DtzVsU7SQuQd5_MFwvG6GSAmpqqrqeIQM,1641
231
- metaflow/plugins/cards/card_modules/test_cards.py,sha256=RYlwj1gRgv8TqkplTVnm-4k8TpgcfVPJVsWFex9o10w,5419
232
+ metaflow/plugins/cards/card_modules/renderer_tools.py,sha256=uiTdKHWFInWgtfWArOUSQLnTwqVd4hAw49jfOfg8rGA,1642
233
+ metaflow/plugins/cards/card_modules/test_cards.py,sha256=xbHU2tlx0DVwHzFNoRUS8A0UYd5VHU_YgDFBFYS4QCo,5417
232
234
  metaflow/plugins/cards/card_modules/chevron/__init__.py,sha256=SicpH_1eT76HUTA8aMuiGLRNKTqgYD1Qfutt2NdTL0E,156
233
235
  metaflow/plugins/cards/card_modules/chevron/main.py,sha256=FKpDW4PS2dYshgkm6yIxrBnzkhquZ4gg2dmUxrBbNTQ,3222
234
236
  metaflow/plugins/cards/card_modules/chevron/metadata.py,sha256=gQDpB9KezW9Mcv-n9K2Pt1akjiPGG1zYB5YPdQ0FlNc,19
@@ -237,14 +239,14 @@ metaflow/plugins/cards/card_modules/chevron/tokenizer.py,sha256=lQU9OELUE9a5Xu4s
237
239
  metaflow/plugins/cards/card_viewer/viewer.html,sha256=qZJGzhZhQ1gugsknRP7zkAPPfUAtvemK1UKqXoGff5M,11593
238
240
  metaflow/plugins/datastores/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
239
241
  metaflow/plugins/datastores/azure_storage.py,sha256=QvIUQGOZF1oKeRJXbl3RsV1MnO3OMfLzheoo0UNWn7E,16670
240
- metaflow/plugins/datastores/gs_storage.py,sha256=qKdYuMLw2_PQRRWWEWu57MymRAsgeTe6dY5Lmprh_lw,9885
242
+ metaflow/plugins/datastores/gs_storage.py,sha256=ED1xfXNDiPkqma5PEui8HCv0b4ImHK_rlUMQJD9UNes,9622
241
243
  metaflow/plugins/datastores/local_storage.py,sha256=igrBDphhyu7EFIUj3BWcO7beiZbNnJLq--lF45UYSyI,4750
242
244
  metaflow/plugins/datastores/s3_storage.py,sha256=CZdNqaKtxDXQbEg2YHyphph3hWcLIE50puenm0WGVpk,5473
243
245
  metaflow/plugins/datatools/__init__.py,sha256=ge4L16OBQLy2J_MMvoHg3lMfdm-MluQgRWoyZ5GCRnk,1267
244
246
  metaflow/plugins/datatools/local.py,sha256=67hx3O_vInERlL0aJV0Sd-jUTd_2DOw4sJ4-IyEKNKM,4213
245
247
  metaflow/plugins/datatools/s3/__init__.py,sha256=14tr9fPjN3ULW5IOfKHeG7Uhjmgm7LMtQHfz1SFv-h8,248
246
248
  metaflow/plugins/datatools/s3/s3.py,sha256=FWhLAO9ZgvYeLxnjjCDAMsIOMLYcdO88mPOhQr3_Naw,66140
247
- metaflow/plugins/datatools/s3/s3op.py,sha256=ZQFSxlaQUt-Ko_kIXMbHOKJc8q4FPXogS3xI6xsDR7Y,43390
249
+ metaflow/plugins/datatools/s3/s3op.py,sha256=h7l-OLQz4RLpyzsB-k903BYCDF9CM2_O9jLl-FQyMis,43454
248
250
  metaflow/plugins/datatools/s3/s3tail.py,sha256=boQjQGQMI-bvTqcMP2y7uSlSYLcvWOy7J3ZUaF78NAA,2597
249
251
  metaflow/plugins/datatools/s3/s3util.py,sha256=FgRgaVmEq7-i2dV7q8XK5w5PfFt-xJjZa8WrK8IJfdI,3769
250
252
  metaflow/plugins/env_escape/__init__.py,sha256=Q2Sgnzi-x-BfGxIb8IC_dHjlEqw4zRnN3Yi-bCRsDc4,8854
@@ -277,21 +279,21 @@ metaflow/plugins/gcp/gs_tail.py,sha256=Jl_wvnzU7dub07A-DOAuP5FeccNIrPM-CeL1xKFs1
277
279
  metaflow/plugins/gcp/gs_utils.py,sha256=ZmIGFse1qYyvAVrwga23PQUzF6dXEDLLsZ2F-YRmvow,2030
278
280
  metaflow/plugins/gcp/includefile_support.py,sha256=vIDeR-MiJuUh-2S2pV7Z7FBkhIWwtHXaRrj76MWGRiY,3869
279
281
  metaflow/plugins/kubernetes/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
280
- metaflow/plugins/kubernetes/kubernetes.py,sha256=0UjKZy5_5KOGYC-k0DZqpv-ca_tZBkwRYBLx7SH_Mbs,29964
282
+ metaflow/plugins/kubernetes/kubernetes.py,sha256=cYtDuJEqd0TOKy5vK1UybNLxROhHBJdOtYBYJrWhSMo,30035
281
283
  metaflow/plugins/kubernetes/kubernetes_cli.py,sha256=qBDdr1Lvtt-RO9pB-9_HTOPdzAmDvvJ0aiQ1OoCcrMU,10892
282
284
  metaflow/plugins/kubernetes/kubernetes_client.py,sha256=GKg-gT3qhXMRQV-sG1YyoOf3Z32NXr_wwEN2ytMVSEg,2471
283
285
  metaflow/plugins/kubernetes/kubernetes_decorator.py,sha256=Xu1PB9hrodnDcPIVHMC9HrTvOQzsEr4nR80zoIlXTME,25463
284
- metaflow/plugins/kubernetes/kubernetes_job.py,sha256=VcRhUrAlPQMwJ02xGHUh-E4dh1EWP-6RjwjgIiZHDf8,32190
285
- metaflow/plugins/kubernetes/kubernetes_jobsets.py,sha256=Cr5M7m0lKShv6o8xjRJap8hSRgf51fz4RR0THlCSM08,40780
286
+ metaflow/plugins/kubernetes/kubernetes_job.py,sha256=Cfkee8LbXC17jSXWoeNdomQRvF_8YSeXNg1gvxm6E_M,31806
287
+ metaflow/plugins/kubernetes/kubernetes_jobsets.py,sha256=OBmLtX-ZUDQdCCfftUmRMernfmTNMwdTxPoCAp_NmwE,40957
286
288
  metaflow/plugins/metadata/__init__.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
287
289
  metaflow/plugins/metadata/local.py,sha256=YhLJC5zjVJrvQFIyQ92ZBByiUmhCC762RUX7ITX12O8,22428
288
290
  metaflow/plugins/metadata/service.py,sha256=ihq5F7KQZlxvYwzH_-jyP2aWN_I96i2vp92j_d697s8,20204
289
291
  metaflow/plugins/pypi/__init__.py,sha256=0YFZpXvX7HCkyBFglatual7XGifdA1RwC3U4kcizyak,1037
290
292
  metaflow/plugins/pypi/bootstrap.py,sha256=Tvc4_QKIx-A8j5Aq8ccWZrrxNM8csN40rK8HmxDx-Z8,5106
291
293
  metaflow/plugins/pypi/conda_decorator.py,sha256=phrUvVC5QrfNwPqIByrXsnpRDg1SNVsfpl1wbAVrykI,14679
292
- metaflow/plugins/pypi/conda_environment.py,sha256=wvAaOOfBeR1LPvbKJmHzXHs7fblMoaVC-0uxCd2B-cM,19548
294
+ metaflow/plugins/pypi/conda_environment.py,sha256=nH-1Cww6r2joSbSB8i4x3b82VdSRd2smrxvX1npstVk,19516
293
295
  metaflow/plugins/pypi/micromamba.py,sha256=67FiIZZz0Kig9EcN7bZLObsE6Z1MFyo4Dp93fd3Grcc,12178
294
- metaflow/plugins/pypi/pip.py,sha256=uYPEHYV1_PtY4QA3NqUcVSPBAlRucGeY9tuyz7sB7aY,13641
296
+ metaflow/plugins/pypi/pip.py,sha256=7B06mPOs5MvY33xbzPVYZlBr1iKMYaN-n8uulL9zSVg,13649
295
297
  metaflow/plugins/pypi/pypi_decorator.py,sha256=Plmm4fhLECW-sj1QSFI84Gva7qqqwlJsqJ8laCRKIzw,6073
296
298
  metaflow/plugins/pypi/pypi_environment.py,sha256=FYMg8kF3lXqcLfRYWD83a9zpVjcoo_TARqMGZ763rRk,230
297
299
  metaflow/plugins/pypi/utils.py,sha256=ds1Mnv_DaxGnLAYp7ozg_K6oyguGyNhvHfE-75Ia1YA,2836
@@ -315,11 +317,10 @@ metaflow/system/__init__.py,sha256=SB9Py7Acecqi76MY9MonSHXFuDD1yIJEGJtEQH8cNq4,1
315
317
  metaflow/system/system_logger.py,sha256=31noRo2qFdFyVtlyvIV2coUw4x6YdJGCdhctNBbBUso,3299
316
318
  metaflow/system/system_monitor.py,sha256=NracI4ITbUZWziGsAvE1910ODZhXGVYro7jD-rLWe48,3578
317
319
  metaflow/system/system_utils.py,sha256=E5C66_oeAxEE4-2okKlA-X6rgeYndPFP7KmWKHvvFZ8,657
318
- metaflow/tracing/__init__.py,sha256=aOoU4o0fIHARKY25QUeqrRpJMtXS9r2NcSvakPu047k,1687
320
+ metaflow/tracing/__init__.py,sha256=xYTOT5BS5jbwhjk6hskxqNSU9st2LYtfeLN2Hknm3EI,1551
319
321
  metaflow/tracing/propagator.py,sha256=AdPeAqoeRauH82pTw01hLFNPRAzm29nlwM7C2iqKFFk,2502
320
322
  metaflow/tracing/span_exporter.py,sha256=eFVW40Fakct26KWycA-HEyl9yDqZRSJoLr3BOx8qopM,1697
321
- metaflow/tracing/threadpool.py,sha256=ldoSO9baoNPJpfr9msclNlQeeRfJIysGQ48YqLniM1k,1082
322
- metaflow/tracing/tracing_modules.py,sha256=fhuflMFkMLCZnGw3uccn22DMp87EE5oblogjQnbeZyg,4932
323
+ metaflow/tracing/tracing_modules.py,sha256=_-3xwEq2-qRY2o2QMtZI6Xl8G5OHv_SAJUNaan0EYt8,4877
323
324
  metaflow/tutorials/00-helloworld/README.md,sha256=ML9k-2mRZOAFV3RDzwAWSIjnWzG03-3n9ov59UAvN5k,386
324
325
  metaflow/tutorials/00-helloworld/helloworld.py,sha256=ji0v7TFjVVR0VTs-shQOswh1Zd0YP5rZxud_LEmsjHU,857
325
326
  metaflow/tutorials/01-playlist/README.md,sha256=b9jgxen-vaVNIyH2UZPys4vvbxBylSoqDzCQ-aL3ves,838
@@ -343,9 +344,9 @@ metaflow/tutorials/07-worldview/README.md,sha256=5vQTrFqulJ7rWN6r20dhot9lI2sVj9W
343
344
  metaflow/tutorials/07-worldview/worldview.ipynb,sha256=ztPZPI9BXxvW1QdS2Tfe7LBuVzvFvv0AToDnsDJhLdE,2237
344
345
  metaflow/tutorials/08-autopilot/README.md,sha256=GnePFp_q76jPs991lMUqfIIh5zSorIeWznyiUxzeUVE,1039
345
346
  metaflow/tutorials/08-autopilot/autopilot.ipynb,sha256=DQoJlILV7Mq9vfPBGW-QV_kNhWPjS5n6SJLqePjFYLY,3191
346
- ob_metaflow-2.12.10.1rc2.dist-info/LICENSE,sha256=nl_Lt5v9VvJ-5lWJDT4ddKAG-VZ-2IaLmbzpgYDz2hU,11343
347
- ob_metaflow-2.12.10.1rc2.dist-info/METADATA,sha256=ZDGv_s5Zo4rCdA5Ds0EJjYYxOVYoCBhwEnPwh-YApJ4,5151
348
- ob_metaflow-2.12.10.1rc2.dist-info/WHEEL,sha256=XRxW4r1PNiVhMpP4bT9oWtu3HyndxpJ84SkubFgzp_Y,109
349
- ob_metaflow-2.12.10.1rc2.dist-info/entry_points.txt,sha256=IKwTN1T3I5eJL3uo_vnkyxVffcgnRdFbKwlghZfn27k,57
350
- ob_metaflow-2.12.10.1rc2.dist-info/top_level.txt,sha256=v1pDHoWaSaKeuc5fKTRSfsXCKSdW1zvNVmvA-i0if3o,9
351
- ob_metaflow-2.12.10.1rc2.dist-info/RECORD,,
347
+ ob_metaflow-2.12.11.0.dist-info/LICENSE,sha256=nl_Lt5v9VvJ-5lWJDT4ddKAG-VZ-2IaLmbzpgYDz2hU,11343
348
+ ob_metaflow-2.12.11.0.dist-info/METADATA,sha256=ZmWFFUoRB5Wyxz0sk0upToSLBCdRHmW0QDaE6tJY0bo,5143
349
+ ob_metaflow-2.12.11.0.dist-info/WHEEL,sha256=XRxW4r1PNiVhMpP4bT9oWtu3HyndxpJ84SkubFgzp_Y,109
350
+ ob_metaflow-2.12.11.0.dist-info/entry_points.txt,sha256=IKwTN1T3I5eJL3uo_vnkyxVffcgnRdFbKwlghZfn27k,57
351
+ ob_metaflow-2.12.11.0.dist-info/top_level.txt,sha256=v1pDHoWaSaKeuc5fKTRSfsXCKSdW1zvNVmvA-i0if3o,9
352
+ ob_metaflow-2.12.11.0.dist-info/RECORD,,
@@ -1,30 +0,0 @@
1
- from concurrent.futures import ThreadPoolExecutor
2
- from opentelemetry import context as otel_context
3
- from opentelemetry.sdk.trace import Tracer
4
- from opentelemetry import trace as trace_api
5
- from typing import Callable
6
-
7
-
8
- class TracedThreadPoolExecutor(ThreadPoolExecutor):
9
- """Implementation of :class:`ThreadPoolExecutor` that will pass context into sub tasks."""
10
-
11
- def __init__(self, name: str, *args, **kwargs):
12
- tracer = trace_api.get_tracer(name)
13
- self.tracer = tracer
14
- super().__init__(*args, **kwargs)
15
-
16
- def with_otel_context(self, context: otel_context.Context, fn: Callable):
17
- otel_context.attach(context)
18
- return fn()
19
-
20
- def submit(self, fn, *args, **kwargs):
21
- """Submit a new task to the thread pool."""
22
-
23
- # get the current otel context
24
- context = otel_context.get_current()
25
- if context:
26
- return super().submit(
27
- lambda: self.with_otel_context(context, lambda: fn(*args, **kwargs)),
28
- )
29
- else:
30
- return super().submit(lambda: fn(*args, **kwargs))