wandb 0.17.4__py3-none-macosx_11_0_arm64.whl → 0.17.5__py3-none-macosx_11_0_arm64.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.
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