wandb 0.17.4__py3-none-macosx_11_0_arm64.whl → 0.17.5__py3-none-macosx_11_0_arm64.whl

Sign up to get free protection for your applications and to get access to all the features.
wandb/sdk/wandb_run.py CHANGED
@@ -2100,36 +2100,56 @@ class Run:
2100
2100
  return self._finish(exit_code, quiet)
2101
2101
 
2102
2102
  def _finish(
2103
- self, exit_code: Optional[int] = None, quiet: Optional[bool] = None
2103
+ self,
2104
+ exit_code: Optional[int] = None,
2105
+ quiet: Optional[bool] = None,
2104
2106
  ) -> None:
2105
- if quiet is not None:
2106
- self._quiet = quiet
2107
+ logger.info(f"finishing run {self._get_path()}")
2107
2108
  with telemetry.context(run=self) as tel:
2108
2109
  tel.feature.finish = True
2109
- logger.info(f"finishing run {self._get_path()}")
2110
- # detach jupyter hooks / others that needs to happen before backend shutdown
2111
- for hook in self._teardown_hooks:
2112
- if hook.stage == TeardownStage.EARLY:
2113
- hook.call()
2114
2110
 
2115
- self._atexit_cleanup(exit_code=exit_code)
2111
+ if quiet is not None:
2112
+ self._quiet = quiet
2113
+
2114
+ # Pop this run (hopefully) from the run stack, to support the "reinit"
2115
+ # functionality of wandb.init().
2116
+ #
2117
+ # TODO: It's not clear how _global_run_stack could have length other
2118
+ # than 1 at this point in the code. If you're reading this, consider
2119
+ # refactoring this thing.
2116
2120
  if self._wl and len(self._wl._global_run_stack) > 0:
2117
2121
  self._wl._global_run_stack.pop()
2118
- # detach logger / others meant to be run after we've shutdown the backend
2122
+
2123
+ # Run hooks that need to happen before the last messages to the
2124
+ # internal service, like Jupyter hooks.
2119
2125
  for hook in self._teardown_hooks:
2120
- if hook.stage == TeardownStage.LATE:
2126
+ if hook.stage == TeardownStage.EARLY:
2121
2127
  hook.call()
2122
- self._teardown_hooks = []
2123
- module.unset_globals()
2124
-
2125
- # inform manager this run is finished
2126
- manager = self._wl and self._wl._get_manager()
2127
- if manager:
2128
- manager._inform_finish(run_id=self._run_id)
2129
2128
 
2129
+ # Early-stage hooks may use methods that require _is_finished
2130
+ # to be False, so we set this after running those hooks.
2130
2131
  self._is_finished = True
2131
- # end sentry session
2132
- wandb._sentry.end_session()
2132
+
2133
+ try:
2134
+ self._atexit_cleanup(exit_code=exit_code)
2135
+
2136
+ # Run hooks that should happen after the last messages to the
2137
+ # internal service, like detaching the logger.
2138
+ for hook in self._teardown_hooks:
2139
+ if hook.stage == TeardownStage.LATE:
2140
+ hook.call()
2141
+ self._teardown_hooks = []
2142
+
2143
+ # Inform the service that we're done sending messages for this run.
2144
+ #
2145
+ # TODO: Why not do this in _atexit_cleanup()?
2146
+ manager = self._wl and self._wl._get_manager()
2147
+ if manager:
2148
+ manager._inform_finish(run_id=self._run_id)
2149
+
2150
+ finally:
2151
+ module.unset_globals()
2152
+ wandb._sentry.end_session()
2133
2153
 
2134
2154
  @_run_decorator._noop
2135
2155
  @_run_decorator._attach
@@ -2345,36 +2365,49 @@ class Run:
2345
2365
  return
2346
2366
  self._atexit_cleanup_called = True
2347
2367
 
2348
- exit_code = exit_code or self._hooks.exit_code if self._hooks else 0
2368
+ exit_code = (
2369
+ exit_code #
2370
+ or (self._hooks and self._hooks.exit_code)
2371
+ or 0
2372
+ )
2373
+ self._exit_code = exit_code
2349
2374
  logger.info(f"got exitcode: {exit_code}")
2375
+
2376
+ # Delete this run's "resume" file if the run finished successfully.
2377
+ #
2378
+ # This is used by the "auto" resume mode, which resumes from the last
2379
+ # failed (or unfinished/crashed) run. If we reach this line, then this
2380
+ # run shouldn't be a candidate for "auto" resume.
2350
2381
  if exit_code == 0:
2351
- # Cleanup our resume file on a clean exit
2352
2382
  if os.path.exists(self._settings.resume_fname):
2353
2383
  os.remove(self._settings.resume_fname)
2354
2384
 
2355
- self._exit_code = exit_code
2356
- report_failure = False
2357
2385
  try:
2358
2386
  self._on_finish()
2359
- except KeyboardInterrupt as ki:
2360
- if wandb.wandb_agent._is_running():
2361
- raise ki
2362
- wandb.termerror("Control-C detected -- Run data was not synced")
2363
- if not self._settings._notebook:
2364
- os._exit(-1)
2387
+
2388
+ except KeyboardInterrupt:
2389
+ if not wandb.wandb_agent._is_running():
2390
+ wandb.termerror("Control-C detected -- Run data was not synced")
2391
+ raise
2392
+
2365
2393
  except Exception as e:
2366
- if not self._settings._notebook:
2367
- report_failure = True
2368
2394
  self._console_stop()
2369
- self._backend.cleanup()
2370
2395
  logger.error("Problem finishing run", exc_info=e)
2371
2396
  wandb.termerror("Problem finishing run")
2372
- traceback.print_exc()
2373
- else:
2374
- self._on_final()
2375
- finally:
2376
- if report_failure:
2377
- os._exit(-1)
2397
+ raise
2398
+
2399
+ Run._footer(
2400
+ sampled_history=self._sampled_history,
2401
+ final_summary=self._final_summary,
2402
+ poll_exit_response=self._poll_exit_response,
2403
+ server_info_response=self._server_info_response,
2404
+ check_version_response=self._check_version,
2405
+ internal_messages_response=self._internal_messages_response,
2406
+ reporter=self._reporter,
2407
+ quiet=self._quiet,
2408
+ settings=self._settings,
2409
+ printer=self._printer,
2410
+ )
2378
2411
 
2379
2412
  def _console_start(self) -> None:
2380
2413
  logger.info("atexit reg")
@@ -2659,20 +2692,6 @@ class Run:
2659
2692
  for module_name in import_telemetry_set:
2660
2693
  unregister_post_import_hook(module_name, run_id)
2661
2694
 
2662
- def _on_final(self) -> None:
2663
- self._footer(
2664
- sampled_history=self._sampled_history,
2665
- final_summary=self._final_summary,
2666
- poll_exit_response=self._poll_exit_response,
2667
- server_info_response=self._server_info_response,
2668
- check_version_response=self._check_version,
2669
- internal_messages_response=self._internal_messages_response,
2670
- reporter=self._reporter,
2671
- quiet=self._quiet,
2672
- settings=self._settings,
2673
- printer=self._printer,
2674
- )
2675
-
2676
2695
  @_run_decorator._noop_on_finish()
2677
2696
  @_run_decorator._attach
2678
2697
  def define_metric(
@@ -2878,7 +2897,7 @@ class Run:
2878
2897
  if artifact.is_draft() and not artifact._is_draft_save_started():
2879
2898
  artifact = self._log_artifact(artifact)
2880
2899
  if not self._settings._offline:
2881
- self._backend.interface.publish_link_artifact(
2900
+ handle = self._backend.interface.deliver_link_artifact(
2882
2901
  self,
2883
2902
  artifact,
2884
2903
  portfolio,
@@ -2890,6 +2909,13 @@ class Run:
2890
2909
  wandb.termwarn(
2891
2910
  "Artifact TTL will be disabled for source artifacts that are linked to portfolios."
2892
2911
  )
2912
+ result = handle.wait(timeout=-1)
2913
+ if result is None:
2914
+ handle.abandon()
2915
+ else:
2916
+ response = result.response.link_artifact_response
2917
+ if response.error_message:
2918
+ wandb.termerror(response.error_message)
2893
2919
  else:
2894
2920
  # TODO: implement offline mode + sync
2895
2921
  raise NotImplementedError
@@ -3836,34 +3862,33 @@ class Run:
3836
3862
  if not poll_exit_response:
3837
3863
  return
3838
3864
 
3839
- progress = poll_exit_response.pusher_stats
3840
- done = poll_exit_response.done
3865
+ stats = poll_exit_response.pusher_stats
3841
3866
 
3842
3867
  megabyte = wandb.util.POW_2_BYTES[2][1]
3843
- line = f"{progress.uploaded_bytes / megabyte :.3f} MB of {progress.total_bytes / megabyte:.3f} MB uploaded"
3844
- if progress.deduped_bytes > 0:
3845
- line += f" ({progress.deduped_bytes / megabyte:.3f} MB deduped)\r"
3846
- else:
3847
- line += "\r"
3848
-
3849
- percent_done = (
3850
- 1.0
3851
- if progress.total_bytes == 0
3852
- else progress.uploaded_bytes / progress.total_bytes
3868
+ line = (
3869
+ f"{stats.uploaded_bytes / megabyte:.3f} MB"
3870
+ f" of {stats.total_bytes / megabyte:.3f} MB uploaded"
3853
3871
  )
3872
+ if stats.deduped_bytes > 0:
3873
+ line += f" ({stats.deduped_bytes / megabyte:.3f} MB deduped)"
3874
+ line += "\r"
3854
3875
 
3855
- printer.progress_update(line, percent_done)
3856
- if done:
3876
+ if stats.total_bytes > 0:
3877
+ printer.progress_update(line, stats.uploaded_bytes / stats.total_bytes)
3878
+ else:
3879
+ printer.progress_update(line, 1.0)
3880
+
3881
+ if poll_exit_response.done:
3857
3882
  printer.progress_close()
3858
3883
 
3859
- dedupe_fraction = (
3860
- progress.deduped_bytes / float(progress.total_bytes)
3861
- if progress.total_bytes > 0
3862
- else 0
3863
- )
3864
- if dedupe_fraction > 0.01:
3884
+ if stats.total_bytes > 0:
3885
+ dedupe_fraction = stats.deduped_bytes / float(stats.total_bytes)
3886
+ else:
3887
+ dedupe_fraction = 0
3888
+
3889
+ if stats.deduped_bytes > 0.01:
3865
3890
  printer.display(
3866
- f"W&B sync reduced upload amount by {dedupe_fraction * 100:.1f}% "
3891
+ f"W&B sync reduced upload amount by {dedupe_fraction:.1%}"
3867
3892
  )
3868
3893
 
3869
3894
  @staticmethod
wandb/util.py CHANGED
@@ -1748,21 +1748,39 @@ def make_docker_image_name_safe(name: str) -> str:
1748
1748
  return trimmed if trimmed else "image"
1749
1749
 
1750
1750
 
1751
- def merge_dicts(source: Dict[str, Any], destination: Dict[str, Any]) -> Dict[str, Any]:
1752
- """Recursively merge two dictionaries."""
1751
+ def merge_dicts(
1752
+ source: Dict[str, Any],
1753
+ destination: Dict[str, Any],
1754
+ ) -> Dict[str, Any]:
1755
+ """Recursively merge two dictionaries.
1756
+
1757
+ This mutates the destination and its nested dictionaries and lists.
1758
+
1759
+ Instances of `dict` are recursively merged and instances of `list`
1760
+ are appended to the destination. If the destination type is not
1761
+ `dict` or `list`, respectively, the key is overwritten with the
1762
+ source value.
1763
+
1764
+ For all other types, the source value overwrites the destination value.
1765
+ """
1753
1766
  for key, value in source.items():
1754
1767
  if isinstance(value, dict):
1755
- # get node or create one
1756
- node = destination.setdefault(key, {})
1757
- merge_dicts(value, node)
1758
- else:
1759
- if isinstance(value, list):
1760
- if key in destination:
1761
- destination[key].extend(value)
1762
- else:
1763
- destination[key] = value
1768
+ node = destination.get(key)
1769
+ if isinstance(node, dict):
1770
+ merge_dicts(value, node)
1764
1771
  else:
1765
1772
  destination[key] = value
1773
+
1774
+ elif isinstance(value, list):
1775
+ dest_value = destination.get(key)
1776
+ if isinstance(dest_value, list):
1777
+ dest_value.extend(value)
1778
+ else:
1779
+ destination[key] = value
1780
+
1781
+ else:
1782
+ destination[key] = value
1783
+
1766
1784
  return destination
1767
1785
 
1768
1786
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: wandb
3
- Version: 0.17.4
3
+ Version: 0.17.5
4
4
  Summary: A CLI and library for interacting with the Weights & Biases API.
5
5
  Project-URL: Source, https://github.com/wandb/wandb
6
6
  Project-URL: Bug Reports, https://github.com/wandb/wandb/issues
@@ -1,15 +1,15 @@
1
1
  package_readme.md,sha256=xigFCsrzePKq72pDIEfkoVzb-NzDRsKpXXI0FMJ-6jg,4382
2
- wandb-0.17.4.dist-info/RECORD,,
3
- wandb-0.17.4.dist-info/WHEEL,sha256=B_HTF0nESsbkeA2UeB8YgKrtPrxyKFORYURx7Qxu8Xw,101
4
- wandb-0.17.4.dist-info/entry_points.txt,sha256=v4FCOZ9gW7Pc6KLsmgQqpCiKTrA1wh2XHmNf-NUP1-I,67
5
- wandb-0.17.4.dist-info/METADATA,sha256=iyb9JSebdNvRiD4LlXufW_kCcO7Quiy7c2n4IF3-wy0,10047
6
- wandb-0.17.4.dist-info/licenses/LICENSE,sha256=izOKRJpGOx1PrJiGOKR0HsNdlB5JdH2d0Z4P7a7ssTc,1081
2
+ wandb-0.17.5.dist-info/RECORD,,
3
+ wandb-0.17.5.dist-info/WHEEL,sha256=B_HTF0nESsbkeA2UeB8YgKrtPrxyKFORYURx7Qxu8Xw,101
4
+ wandb-0.17.5.dist-info/entry_points.txt,sha256=v4FCOZ9gW7Pc6KLsmgQqpCiKTrA1wh2XHmNf-NUP1-I,67
5
+ wandb-0.17.5.dist-info/METADATA,sha256=SlVUSxYN0OOfoN9dBroAUa-kzLJkncK8UsumfL_61zs,10047
6
+ wandb-0.17.5.dist-info/licenses/LICENSE,sha256=izOKRJpGOx1PrJiGOKR0HsNdlB5JdH2d0Z4P7a7ssTc,1081
7
7
  wandb/magic.py,sha256=YVSQmkrtlQ56p-VqkwjiPGNBa694UvPALxc4yp6RiLk,59
8
8
  wandb/env.py,sha256=NQohfNO3bizXktRBybwzxRwGrb9Gf0dmSFhr69E1ZRQ,13386
9
9
  wandb/_globals.py,sha256=CccwOAls5bxJArYHg12b08ZeKR8Qu9u57GtYWjBH0o0,702
10
- wandb/util.py,sha256=JK4QbqJTyeogHLjSg_nTE3HyOe9dADCHSRXOUTtSWxY,61015
10
+ wandb/util.py,sha256=NCcgpBVkmYA1ysO0XpEwRRXjb_pXjM_L4lHqUkWtXkc,61474
11
11
  wandb/wandb_run.py,sha256=CNh9S6uubFk8FphQjzkbvedyyGCN9aBEsRBKjy8tqqs,155
12
- wandb/__init__.py,sha256=G2Gtj7kdWVHyglMQ9xX7KnLIWJbPpmREFOqO2QtSt8k,7229
12
+ wandb/__init__.py,sha256=u_ZvJC4cuTAcacvtYvlvLstNOQFETHu4z9GYShCWx9M,7229
13
13
  wandb/data_types.py,sha256=SyBzrPvzfmgl9te_kH9yiNnn20L3eJvfbVnG2wRyZ3k,73149
14
14
  wandb/wandb_controller.py,sha256=Mp6szfycF_F8fFhxuDTSMpN4Vvc6D0Ix2gZBSSYOOS0,24804
15
15
  wandb/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -76,22 +76,22 @@ wandb/proto/wandb_telemetry_pb2.py,sha256=ReY9N2qSt46o7m1ou1khvYSYYImrzo5ro90g_9
76
76
  wandb/proto/v5/wandb_settings_pb2.py,sha256=uw5Cv8OaSHmteWIAKIfVOGbkc7bd2Z-z-vo_vTkq-vI,16732
77
77
  wandb/proto/v5/wandb_server_pb2.py,sha256=8uKB9qS4F3QjKSlj1aL8eEXZiBIVuTGIZWvCsbs2qEQ,6477
78
78
  wandb/proto/v5/wandb_base_pb2.py,sha256=_RqGlyLs6WbBXyh2m6xke8OQyjQeRFKDwh8Brn9PAN4,1441
79
- wandb/proto/v5/wandb_internal_pb2.py,sha256=iO_NBC2zlquTzagM5_u-aetzFO3I3EJzmGDz_3B-xqw,52297
79
+ wandb/proto/v5/wandb_internal_pb2.py,sha256=w1TmW8RD0TkR57aTt1CBC-PH_N3mbmChPDWtjFJMJoE,52818
80
80
  wandb/proto/v5/wandb_telemetry_pb2.py,sha256=ePvs13AXkxTPwW9pk4xHwkJfKqzY71WA-0tnwgH-zek,11061
81
81
  wandb/proto/v4/wandb_settings_pb2.py,sha256=qHSQGJZtPcwR0zTDs1bPWTG7oIgscTMBUQqfx5M6Hgg,16424
82
82
  wandb/proto/v4/wandb_server_pb2.py,sha256=YkapN5k621amFmIYKtV5xLww3TaB-6EeGI8Qq2_UY94,5991
83
83
  wandb/proto/v4/wandb_base_pb2.py,sha256=fF312_OnXSKQTjMW0Pwdo-yZBmFURWH-n4XJ_sEaExY,1315
84
- wandb/proto/v4/wandb_internal_pb2.py,sha256=N5SiXxbw_SGtSmkGnd19TJnf999yXa3pS_1nrCuxe1E,48286
84
+ wandb/proto/v4/wandb_internal_pb2.py,sha256=QPxeC8YqwXy7ecj4ml0aeAvW-96_EuOLdeJJFDP4fEo,48783
85
85
  wandb/proto/v4/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
86
86
  wandb/proto/v4/wandb_telemetry_pb2.py,sha256=JtnO50-AV1KuLTw6Cz-2J4GmqgF8So7a1HdCijKRqws,10815
87
87
  wandb/proto/v3/wandb_settings_pb2.py,sha256=ggnJCloXvvxvecOzTf-oIL3Ym2GosSEm5WwtCLkh0sQ,19693
88
88
  wandb/proto/v3/wandb_server_pb2.py,sha256=u7p14fy4XjKVcDnE54U1WwgC1Gpy6VWGA4MGU3aXyg4,13631
89
89
  wandb/proto/v3/wandb_base_pb2.py,sha256=0Ixr7LeEOTdIU_pewdbhRZOrFqRtgsOsWcyC_Tw4Nzw,2248
90
- wandb/proto/v3/wandb_internal_pb2.py,sha256=9doecnk53ETFmeP940ihmYmzFezJ4K__FfhBJ3gC5og,105966
90
+ wandb/proto/v3/wandb_internal_pb2.py,sha256=GQV0yRIQlUMkfHQ91BHUvK8kaf1rsgUuw-xMl18VkZM,106882
91
91
  wandb/proto/v3/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
92
92
  wandb/proto/v3/wandb_telemetry_pb2.py,sha256=TPwVdmSS6F97iycCmoHG-vI_76LGeQEQFQrGFRiZyFM,13368
93
- wandb/bin/wandb-core,sha256=S15Y6INPMdyS-U1RYLcxllwZyajUXWv2sjUYR9Ha7Pw,11101522
94
- wandb/bin/apple_gpu_stats,sha256=eiftRBwP9Ubb-KXv2TibvL0t7qwe4c1f-i1adP2JaPU,1440808
93
+ wandb/bin/wandb-core,sha256=mz4ZwNQWfgphLkMJxztBDlLRQKp-gmyxLc1JiQXLwMA,10919634
94
+ wandb/bin/apple_gpu_stats,sha256=AtOW5t49ZgwKn5ldrMDZLQLqUHXlG264ZPRiunUiAUY,1440808
95
95
  wandb/integration/magic.py,sha256=8b7GkkntZb-jJ7L0OF4M7mS1yJKtMI_o3jfsTufWMr4,17246
96
96
  wandb/integration/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
97
97
  wandb/integration/yolov8/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -190,7 +190,7 @@ wandb/mpmain/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
190
190
  wandb/mpmain/__main__.py,sha256=bLhspPeHQvNMyRNR7xi9v-02XfW1mhJY2yBWI3bYtbg,57
191
191
  wandb/sdk/wandb_config.py,sha256=ZFEJEk7YoXTIySzHRGOIyyhgvbMUqTnUFAIlu-ZzGUo,10804
192
192
  wandb/sdk/wandb_alerts.py,sha256=SwBPBiXRxknMTMGbsVoMMWqWK65UWMcKAdTWZtdwAeo,193
193
- wandb/sdk/wandb_run.py,sha256=9Z0xeufPIeewC8-STqvoc2PiVEuVZ4uukt1L8dCKOaI,160874
193
+ wandb/sdk/wandb_run.py,sha256=7TBtpL11_l6SUjdxQmmPYiPPvGBQMn_U1byX7AcqG18,161749
194
194
  wandb/sdk/wandb_sync.py,sha256=KhxDOHR7x8q54hAlsEx4ta1dAW1ZnzTUMr7VwJyCL5c,2273
195
195
  wandb/sdk/__init__.py,sha256=g8BQ6gQ_WDIH682ayRuKzD6QZXL8NW5CZKBLJOem5iU,805
196
196
  wandb/sdk/wandb_init.py,sha256=1CCmcLGo-TMTPkpm8B2yOV9zqUjKH8UOTr0LOAle62s,49368
@@ -202,7 +202,7 @@ wandb/sdk/wandb_login.py,sha256=i3e0I6_0f7F08U1ohC1Ud_AgsBvA0DQi6LChtq8r3rY,1116
202
202
  wandb/sdk/wandb_metric.py,sha256=a3GiQXr6H18m81uobYjlJaC8CL8iANzI42qxkxfZsDs,3268
203
203
  wandb/sdk/wandb_require.py,sha256=HGSkS0IEBnPEn_33jo3an27qtdx2bCxeEwQ0iri9OJk,2858
204
204
  wandb/sdk/wandb_sweep.py,sha256=GR_Px6p2jr_HvmtmgKaaawLLNMMAA3yv2pkca82ahNo,3888
205
- wandb/sdk/wandb_manager.py,sha256=K51uT2lRn2rmnflKkyxYdy4CvlD1wsjBsPI1A2GfTpg,6964
205
+ wandb/sdk/wandb_manager.py,sha256=U4lGjNhUgdiDtKwLUQ4JnE57MVO_RArkwYmvufOHPkg,7000
206
206
  wandb/sdk/wandb_setup.py,sha256=qLVyjVQuWss6ORjBkKFAtsuziR7uwWrgLwnOydd5lLU,10909
207
207
  wandb/sdk/wandb_require_helpers.py,sha256=ZmKv5aXXHDTTU6nYHMLKW4_pt9X-PlaMtbRJl77kHX8,1331
208
208
  wandb/sdk/integration_utils/data_logging.py,sha256=DDFtDaUu50aeTTgxCHHYd2f85guqqf2xfEOburRlwwQ,19533
@@ -213,10 +213,10 @@ wandb/sdk/interface/router_queue.py,sha256=7TImXbpuwgn3iUw6kcNyC_nZ3APaBrojZyz1x
213
213
  wandb/sdk/interface/message_future_poll.py,sha256=drjrcBKswYPYJJQLFlj7UDXq7_zg7KNcObFVetsbvhQ,1410
214
214
  wandb/sdk/interface/summary_record.py,sha256=-wDv_zLYueeUY8IzyF9NPYnYwF3iBpUWbrsGcHAd2YM,1677
215
215
  wandb/sdk/interface/constants.py,sha256=NJNBFr7LkshLI837D3LU3JuEURLzBwza9H-kxcy4ihw,60
216
- wandb/sdk/interface/interface.py,sha256=6dPNLYUQMGjFyqATRM1Qp06YMym4V2_v833NGXintUw,33953
216
+ wandb/sdk/interface/interface.py,sha256=3cumoNsmsAAIlF0eKi-k3AKytlNWpdEmECGeE4JMiVs,34248
217
217
  wandb/sdk/interface/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
218
218
  wandb/sdk/interface/router_sock.py,sha256=7-J3SFhnaqPohYaUyljwpbsvYPBXA-ZTENYnXxzbh9U,1060
219
- wandb/sdk/interface/interface_shared.py,sha256=LjEcbEHBpm5PXQ48RonTanZe87wKJB2SOMkoyxExN9c,20593
219
+ wandb/sdk/interface/interface_shared.py,sha256=DymRmUQvfStEdW1iWryBaOdyVYArYCV1fn5cevx4mUM,20635
220
220
  wandb/sdk/interface/interface_queue.py,sha256=eCvNpvwMe1GHJv_5M8R3ZSspmEvE02mXMstBDBEZy8A,1967
221
221
  wandb/sdk/interface/router_relay.py,sha256=wjV6qPtZ5Lqdg8PNhyUrKLsidm71YMwBRwBIirbVGo4,1043
222
222
  wandb/sdk/interface/message_future.py,sha256=5OMApIUKTXLHP98ph_jCdshuPZB_E0Uf3UGZpOQ8sik,685
@@ -226,7 +226,7 @@ wandb/sdk/artifacts/storage_policy.py,sha256=iDZmHBINhrXoeUbc7s5MKCd0r5JCc5QPN3V
226
226
  wandb/sdk/artifacts/artifact_state.py,sha256=6fxISSPsK62VeMau_5CI4a9lQXTaUJXcruzk74WUIBE,236
227
227
  wandb/sdk/artifacts/artifact_ttl.py,sha256=kNRr9JZ5P2iuo0ofoNKlSddGJkIQXRUjwgO8YUdyN4g,86
228
228
  wandb/sdk/artifacts/storage_layout.py,sha256=No2cLJEuU3Dr8rJ5Pq-e-36S6p-WKoYcCG24DKAKzro,73
229
- wandb/sdk/artifacts/artifact.py,sha256=vjBvDss_gA2DzlbsmIANbnqkVBdvWJscCzjWVgdcStc,88898
229
+ wandb/sdk/artifacts/artifact.py,sha256=kaT-ENy7_C6NXPkFd-mqn5JjaKGWKg4x5fJmJDJ5YvY,88560
230
230
  wandb/sdk/artifacts/artifact_file_cache.py,sha256=EsXD2bQyFhFYK2NICUZ3jtXf-r0hC63-6lqyU_cHcPw,9840
231
231
  wandb/sdk/artifacts/artifact_saver.py,sha256=tG3QiqB-CUrEC_2Qus1AsJHCInhgaFDqdDmZQ1ja798,9285
232
232
  wandb/sdk/artifacts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -316,22 +316,22 @@ wandb/sdk/launch/environment/azure_environment.py,sha256=2Yt-NVD-_eXR73-pp6CAneK
316
316
  wandb/sdk/launch/builder/abstract.py,sha256=s8h5rMSf021YFk0bNvAnYSXfh6Yj1f3MwrQxIFSixYc,5075
317
317
  wandb/sdk/launch/builder/build.py,sha256=1wmQ60137DoF5cMYJGBNhBQo9_onEuiNm2Hx-oM6BgQ,10785
318
318
  wandb/sdk/launch/builder/context_manager.py,sha256=p8rVZj7TDolsU4DEY0HRTgXBt_ht31Bv4GODMRxQSms,9618
319
- wandb/sdk/launch/builder/kaniko_builder.py,sha256=UDM7coPH07067AQZe-5payYauT1wetR_GWMqR4IT-wg,22807
319
+ wandb/sdk/launch/builder/kaniko_builder.py,sha256=xAxnNRK9RGb_sa5VmCbL8jsBpQqN3xqlpNlMGptXMJs,23666
320
320
  wandb/sdk/launch/builder/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
321
321
  wandb/sdk/launch/builder/docker_builder.py,sha256=0HbPxwWuCHXogmIc6o18nvBaHIx-xcWOQfHnfOJIgcI,6316
322
322
  wandb/sdk/launch/builder/noop.py,sha256=A--UUfqkcZxCpTmBKbL6JvkE_emcJRXIkAhAfVv5u7k,1900
323
323
  wandb/sdk/launch/builder/templates/_wandb_bootstrap.py,sha256=KbW2cmZm55NvOmcDL0A_lKIbeLe_FYKHJJYELKNYUKc,7226
324
324
  wandb/sdk/launch/builder/templates/dockerfile.py,sha256=X8D6n6tyyh69oNHeFiUp-d8ClEtMpHSjwk45N12CR68,2264
325
- wandb/sdk/launch/inputs/internal.py,sha256=qsmqTl-I9M62LzZeSqip05pIRoG9Vdxohu1Oquto-PA,6321
325
+ wandb/sdk/launch/inputs/internal.py,sha256=jKIaIZAgERd2sDwM8naZSfCtEnMGFlfnG5u91NC0htM,9392
326
326
  wandb/sdk/launch/inputs/files.py,sha256=BWGDmAfDPLja7zz0bUzYLaF3wH4cTPesD9LqDuJRUoU,4685
327
- wandb/sdk/launch/inputs/manage.py,sha256=LTDTlIKHvF_1F6wgVVXIo9gvIY-lMmUoclYXkUyQ6SY,3786
327
+ wandb/sdk/launch/inputs/manage.py,sha256=O0IsTWhjUftihohRfK7DkT186LjHMMcE2NSMeG8IFBY,5003
328
328
  wandb/sdk/internal/update.py,sha256=4laKC_JnnVObHZCBgNCKKrItY6yAXWeIHttqfydmGKw,3884
329
- wandb/sdk/internal/sender.py,sha256=w_hONddIpdZHchsfoq4mGE79kvCaxmo3qmSCHKF14-c,65993
329
+ wandb/sdk/internal/sender.py,sha256=e2EwAHRgxrKUyyN0ox07ZY_1YE1Q0uclRQaB-ezo7-E,66457
330
330
  wandb/sdk/internal/internal.py,sha256=AUPsOXGwag2UjHg1rQz1zGGWXhywJo85Hoc62ZQ0uCc,12722
331
331
  wandb/sdk/internal/run.py,sha256=8OhVy2vfgPC8pNFq0tJ4CkQHETOBfQsFDghw50ccSXc,682
332
332
  wandb/sdk/internal/job_builder.py,sha256=vftff8ZIrVB65nJkEZ3CW5qSrbzFHzQeVbbpHrunou8,22700
333
- wandb/sdk/internal/internal_api.py,sha256=Bud3H85aelAC9uBQu0P4yrerklQY80M956grO0mGmSA,147115
334
- wandb/sdk/internal/handler.py,sha256=Ngq613egsAbKYuVJueLguiSnT39oZeMQQyAvvMI3V0Q,33680
333
+ wandb/sdk/internal/internal_api.py,sha256=_dqVnH5JkCS1_X05j_bzam8kSEjInLsPHsylLSImPig,147139
334
+ wandb/sdk/internal/handler.py,sha256=6ClMK8iga0bHrd17410SL0LrpH1Tk43dfGBpofMzxnQ,33688
335
335
  wandb/sdk/internal/thread_local_settings.py,sha256=UqD6kfjsy6mvxIWcjhd-vJWkNRCeU1whuRe_-VGIklQ,527
336
336
  wandb/sdk/internal/sender_config.py,sha256=qEuXwOskca3sYyDIRsswlXmj9StCCS0WKQ1qrBXbIjw,6767
337
337
  wandb/sdk/internal/settings_static.py,sha256=m97hST3YWmpkmgnXbso0gfPFZ7k7Y4SJSM7NbJIZKTc,3526
@@ -394,7 +394,7 @@ wandb/sdk/lib/sparkline.py,sha256=SbeX9FkaU47BMi0-HtnpCh_cBHsUSl5n1vL7vVL9e60,13
394
394
  wandb/sdk/lib/retry.py,sha256=AgbviljRp_33kHu5XXksdtRhF4BIJKIC7cBpY30BBuw,10097
395
395
  wandb/sdk/lib/json_util.py,sha256=fAsYfaw8iMmx3KJ0wSthUSj_XpF1iAysad4XZY1kQdo,2584
396
396
  wandb/sdk/lib/gitlib.py,sha256=oNd1ARdrMJxRco7hgci53QHRBGfQcGSiRxn89x8IoTs,7829
397
- wandb/sdk/lib/tracelog.py,sha256=oOB56Ya4Eo-T72JFRxL2JRzvUny7pKkFK2j8IQw-Mvw,7540
397
+ wandb/sdk/lib/tracelog.py,sha256=uI_1Z4cTq_dDWxdC5sIh2dB0js56OmVw9e_OMOwOCCE,7572
398
398
  wandb/sdk/lib/proto_util.py,sha256=JxDldi8j6dfF_Lx9zOwqYL6LQZhYYGgKt_AfZtYHAW0,2894
399
399
  wandb/sdk/lib/ipython.py,sha256=jXjV7RDxgVppYep7ol5Q7uK7fVaWYnjR1GrWlLFLzCk,4576
400
400
  wandb/sdk/lib/_settings_toposort_generate.py,sha256=FQZPNGKnUcApOHjT_SYFC5APLxniN2aJJ8UnvdS2dV4,4843
@@ -423,7 +423,7 @@ wandb/sdk/service/service_sock.py,sha256=CGpZ3JWG9FQiUkpb-oZCBlv9lX700eYzZ0PaVPz
423
423
  wandb/sdk/service/service_base.py,sha256=S6et2dWmlHgHvXyHfAiMyU_7cfHwE8ZJp4JhqTpDffM,1288
424
424
  wandb/filesync/step_checksum.py,sha256=AIz9ALGk59OiR3NtxGj3CJKnsKSQ_1f9PmrbIzxuarE,4690
425
425
  wandb/filesync/dir_watcher.py,sha256=Zqoji2HOEYfeQHPKI2cxiURRIr4dt0sEL8BvRnVhUhQ,16342
426
- wandb/filesync/upload_job.py,sha256=ke_-04z7zwLCkp6jR-TudgMu6XwMy80RUgV3qJOu7Wg,5471
426
+ wandb/filesync/upload_job.py,sha256=76f1OhIQTsK_ePk4fP1DJSvXpaRz8FdHr2FerOGHiY4,5498
427
427
  wandb/filesync/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
428
428
  wandb/filesync/stats.py,sha256=bjVBoCU9I9ke_XbEqtUgmKJVSmFxxAs2JciBzGWPhDg,3050
429
429
  wandb/filesync/step_upload.py,sha256=l8Zh43AvDn6cTxV49Q48yNUA7F2TGqyDqZbU2vrSvEs,10373
File without changes