wandb 0.17.4__py3-none-win32.whl → 0.17.5__py3-none-win32.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.1
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,5 +1,5 @@
1
1
  package_readme.md,sha256=7MrccgnqmTcd7_bEs_vUZ_OpN-nfniSlgAzeJkzNw7g,4477
2
- wandb/__init__.py,sha256=7kzWwvhOCQkFQeX088LfTtWlipoK_-xu-d0q-BmNETA,7484
2
+ wandb/__init__.py,sha256=8aeTlxKaEHaEfKIpjlXTeU1sZRlaRpV9H3f72gBwz1Q,7484
3
3
  wandb/__main__.py,sha256=uHY6OxHT6RtTH34zC8_UC1GsCTkndgbdsHXv-t7dOMI,67
4
4
  wandb/_globals.py,sha256=NwgYSB2tl2Z5t1Tn1xpLtfkcmPy_dF01u-xxgnCbzoc,721
5
5
  wandb/data_types.py,sha256=kClN3cbqn7cHK34VB0IrsL4aeQzJlH6JByTfXaU9jao,75220
@@ -8,7 +8,7 @@ wandb/jupyter.py,sha256=k35p4hRr_lwMyyVO1ahDuB6EO9GmU4Lt8GGCWnMtDP0,17454
8
8
  wandb/magic.py,sha256=grKCI_AKHF4vYtTXS-Ts7FeK3sdFB8t2JRqmFwjR-F0,62
9
9
  wandb/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
10
10
  wandb/trigger.py,sha256=d9TizmMPsvr0k9_3SBK2nq-Mb95bTzf9DZ1aE_F0ASo,644
11
- wandb/util.py,sha256=p4zNxORIs5g6rWtMRoa_4WKdMTTHD2GYlZ0cAVNOmrw,62942
11
+ wandb/util.py,sha256=EjXi4XTOeogINglkBDOQiAJI8Got_cGcfg_RO6H4Pc8,63419
12
12
  wandb/viz.py,sha256=o5K7rLL1we5qw9XIxfzk1nyNmf-Y6bKS0UKpWpQAUGw,3578
13
13
  wandb/wandb_agent.py,sha256=BJOMNNmpkS7snPh9sPaWMMdKnfKmg5YK64kmHjUaIeA,21617
14
14
  wandb/wandb_controller.py,sha256=mIwttTH5-b0O_kxlcpZRxI17L5PbB1KkKWFDwgbi0Xg,25525
@@ -49,7 +49,7 @@ wandb/apis/reports/v1/__init__.py,sha256=dat5IoxIT4Ds0gJYh7kd_u01Lk2ArqgPtsF9PuV
49
49
  wandb/apis/reports/v2/__init__.py,sha256=z6cC7mTR35UPLYFwjnDZxodFoOO7KcFWOwePJqwH2iI,270
50
50
  wandb/apis/workspaces/__init__.py,sha256=l7rmQGzeR4XpAKiq5idMMPulve07fgDIMdl8MIQypFk,272
51
51
  wandb/beta/workflows.py,sha256=ENy_lmIyn3k_FHdD2ZO8HBaXdeoLrsPVbEfL_KYW8Ps,10527
52
- wandb/bin/wandb-core,sha256=rPo1b7_3wd2JIWWJ-MPrNHMCjd71iKv9dP52wxBPfkA,11951104
52
+ wandb/bin/wandb-core,sha256=9dcMkhm0IJaMRMNaZBOsdjeo81-iGzTqiuI6p6cO-dE,11761152
53
53
  wandb/cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
54
54
  wandb/cli/cli.py,sha256=gV2qVdx-wLS4uuEz9WomgNtEYP5Tc68ZxoGwHqC-tYI,100738
55
55
  wandb/docker/__init__.py,sha256=Wkv5q5xCf9MAzLjGzg_QpuatP6pURCoKsiWpTj7G1jM,10894
@@ -65,7 +65,7 @@ wandb/filesync/stats.py,sha256=RZJQD1rzV38HRAgUsFSN-aIKlOhg3w7_k2-MVGeo9Sk,3150
65
65
  wandb/filesync/step_checksum.py,sha256=V5jeeSkArxid081Zl4Z7G0bZ_4rbUJ3oYDAKQwHqdM0,4832
66
66
  wandb/filesync/step_prepare.py,sha256=QN3pcEkJdUMsEL3gpKsZqTa9D8obnWx8aLQVZ806Vws,5679
67
67
  wandb/filesync/step_upload.py,sha256=es123hTuRW9CDFFk8dNbd5_LM25IPzNirZZziHgn9yg,10663
68
- wandb/filesync/upload_job.py,sha256=jeUzY4IGqAHIz7dm0TR6STCi54aRdInVbJbgC2FVkdU,5613
68
+ wandb/filesync/upload_job.py,sha256=pqqHoMt-yYktz3s7QLGTz1xXYIQiWWTClI6A7yJQCbI,5640
69
69
  wandb/integration/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
70
70
  wandb/integration/magic.py,sha256=r97_Zv-rSoHf6c0cz3BBINyz9LjgyWqzahth3rKtWUA,17802
71
71
  wandb/integration/catboost/__init__.py,sha256=VZfvmNwDlzCJEdFdtFn8qkBOF7-7iHcO_IMzhJJgvko,132
@@ -159,18 +159,18 @@ wandb/proto/wandb_settings_pb2.py,sha256=Aq7nH9PsYXcPKFOPi0Oh2CAaCUpDoPfedycOleI
159
159
  wandb/proto/wandb_telemetry_pb2.py,sha256=bNLhk5I9SDqNvzxi_anYorfvZjv8nG4cMZQvDS0BT9Q,332
160
160
  wandb/proto/v3/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
161
161
  wandb/proto/v3/wandb_base_pb2.py,sha256=TfmnqqxmajAojyOq2NgCBbyybb0DZQViQCw1H0WzXo4,2302
162
- wandb/proto/v3/wandb_internal_pb2.py,sha256=CBP6tPiz4xY9elOsCmOme0mzPiSWoQh86xI08Cuzrh0,107552
162
+ wandb/proto/v3/wandb_internal_pb2.py,sha256=e5A0s12vNcn7s1yj_ap63yuJSqjlhX_mVtkMdASYYS0,108479
163
163
  wandb/proto/v3/wandb_server_pb2.py,sha256=_UR_gBIiHMYiG4CjU2zTKD16Qrd0dXqslA_7VeqXpb8,13838
164
164
  wandb/proto/v3/wandb_settings_pb2.py,sha256=Z_0qzHRllCoU0XA9xLZNvCsmAj_RgneO3QhtdX4l-u8,19804
165
165
  wandb/proto/v3/wandb_telemetry_pb2.py,sha256=cHAORColUwhRDgrUEzJruTqeal1KURVUgFteE_irNAI,13473
166
166
  wandb/proto/v4/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
167
167
  wandb/proto/v4/wandb_base_pb2.py,sha256=C-hDafnFQQtkzyq4MkgwenHl4CJqJ6z7itKjLnFis54,1344
168
- wandb/proto/v4/wandb_internal_pb2.py,sha256=aWUv4tUnI2x6H-6aX-5dT9IMS6cxXhJdQObrMPn0Swo,48640
168
+ wandb/proto/v4/wandb_internal_pb2.py,sha256=-UUwyQyrFJ3ysBEJV13qSGmlhl3DDm5ipLn03mfaknE,49140
169
169
  wandb/proto/v4/wandb_server_pb2.py,sha256=0m6kJn4oG2RAdi1WFR9g6baiZfeB25F3snCIFhl90k8,6053
170
170
  wandb/proto/v4/wandb_settings_pb2.py,sha256=GI0xqS2DinrAKQm4qRblSft6_XMbYy1qKKALz2lCts0,16468
171
171
  wandb/proto/v4/wandb_telemetry_pb2.py,sha256=19GVAVDbiEuc_0Jtch1eF81JSlYXMslcFc3Rm_fp8us,10855
172
172
  wandb/proto/v5/wandb_base_pb2.py,sha256=JegTdMe2YWCrglu-GpI2lVqFxRHoP8hQc2n8bPpv1zE,1471
173
- wandb/proto/v5/wandb_internal_pb2.py,sha256=OHfpJRkJ4Ls_rg4Upqo-3A0lREyJQdm-QgiOi9Rb-hE,52652
173
+ wandb/proto/v5/wandb_internal_pb2.py,sha256=Uag8pygbTwzWZ1aR6frZ6JafrKNrQ_gPIYJmGxbb8a8,53176
174
174
  wandb/proto/v5/wandb_server_pb2.py,sha256=icyGXLmqZLS6gDQsdYO_G75pXVII_JweUNIa_HOaWnA,6540
175
175
  wandb/proto/v5/wandb_settings_pb2.py,sha256=scE47j8a8xawW2JXz3kULrc9XPYhNOPbk9zWsRoCfFA,16777
176
176
  wandb/proto/v5/wandb_telemetry_pb2.py,sha256=5fBL1ngzpWdQfvDIC1G_ErP3f3K7CCW5PS0BfcSAC3Q,11102
@@ -180,11 +180,11 @@ wandb/sdk/wandb_config.py,sha256=w1TaryDssJKF0_r1ps41HTLbMHN1O-bE3A7exd1cLq8,111
180
180
  wandb/sdk/wandb_helper.py,sha256=kc5Ib648to7cEGEwAuJus07rsHudL1Ux7FWPPSRnKy8,1878
181
181
  wandb/sdk/wandb_init.py,sha256=U68L1JeCSQu9X7aoBODpORMVBI3msOa2XVzr08URf1o,50564
182
182
  wandb/sdk/wandb_login.py,sha256=3jL5BufOtcRplOKt2n9gAik0SuH3tt8bQ3G1HTyGs28,11511
183
- wandb/sdk/wandb_manager.py,sha256=t0UdBu5mMZyWmIRMKlrqNxdkG-dilv2DrO7l_STdBnc,7195
183
+ wandb/sdk/wandb_manager.py,sha256=5D5waEeym_R_Ho2GuXaCfZZCOK7O2L4Oc4yvIdgaxbA,7235
184
184
  wandb/sdk/wandb_metric.py,sha256=oI6NQJJ_tyZ3YcnO0Xg5avDVr3Dh6tpTvHuPEMda30A,3378
185
185
  wandb/sdk/wandb_require.py,sha256=ecGIPaRLUemYuCPNpeJKqZtpG_gieMfpQEd9mfqiB44,2950
186
186
  wandb/sdk/wandb_require_helpers.py,sha256=4PUXmVw86_XaKj3rn20s5DAjBMO8L0m26KqnTLaQJNc,1375
187
- wandb/sdk/wandb_run.py,sha256=V33oAR06blTQyhIAauGPKWqvPP--AWl-Kpcxshv4SNw,165136
187
+ wandb/sdk/wandb_run.py,sha256=5fq9uBPumKANT8qyqG1XBX64qHtleHxsfFRsS-_64kY,166036
188
188
  wandb/sdk/wandb_settings.py,sha256=uf-UvTWN2Y2wXPH-G5LgBYk85JyMnzLXQr4nXJJYjz0,76693
189
189
  wandb/sdk/wandb_setup.py,sha256=U1nmZSXQ7LlZsajlkh6qD5MAJtyLnRQqt-wFNTcgKiM,11243
190
190
  wandb/sdk/wandb_summary.py,sha256=eEV3hvHhbc1XQus0MUqFmvhXCzd3SPjvVVVg_fVZ1QM,4686
@@ -192,7 +192,7 @@ wandb/sdk/wandb_sweep.py,sha256=5cSa-T1HooltrUwWQiKEUnU655ss1QPkylax-Q_vu7Q,4004
192
192
  wandb/sdk/wandb_sync.py,sha256=Y_eZ_xW3q9oRAlFUo7s9n2V55z6SP-rd5xr5g6HDKR0,2348
193
193
  wandb/sdk/wandb_watch.py,sha256=--65AwGFLLj1sSUvI4cZunjvhdxXnFTktpzaxEFtdJk,4026
194
194
  wandb/sdk/artifacts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
195
- wandb/sdk/artifacts/artifact.py,sha256=f2PmJUqrbJa6k16-7i1cSsoenJtUe_lsvkjUyP2_FwQ,91270
195
+ wandb/sdk/artifacts/artifact.py,sha256=0waaRJhKrKop_V6XEJ2ptzsU1RxIDMKqwpGDFc_i1Zk,90919
196
196
  wandb/sdk/artifacts/artifact_download_logger.py,sha256=ENR9uoGFakQzorsVHpHLdzuVElvI7L-RgPONHT1FJw4,1544
197
197
  wandb/sdk/artifacts/artifact_file_cache.py,sha256=rjIKi5oBrev_NVgI60oydvWGl95KsBmYGYeax1XsKFY,10091
198
198
  wandb/sdk/artifacts/artifact_instance_cache.py,sha256=6k5VvyWyRfMCJsBDST3IBs91uctfIZdxZ74DJg-Pa00,488
@@ -249,10 +249,10 @@ wandb/sdk/integration_utils/auto_logging.py,sha256=veVzow8oICc0MzGj2_HkyAVPAbW6r
249
249
  wandb/sdk/integration_utils/data_logging.py,sha256=DtSEZB-TzxQKhjm9IXNxDeOAUZyDXGYrfRvVh2Cju54,20008
250
250
  wandb/sdk/interface/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
251
251
  wandb/sdk/interface/constants.py,sha256=GKZ2hATTBCt7yU8kloafZR34yLChiI36O_VtxZZbQyg,64
252
- wandb/sdk/interface/interface.py,sha256=VMr11kpx6cc63HKJFQlttWaTYHk483PlS4Yk1UJKHSM,34915
252
+ wandb/sdk/interface/interface.py,sha256=zf8qkm7g9pQptC6vd1GjJvZl3Br4w2kKSBCwp8Bkj4E,35217
253
253
  wandb/sdk/interface/interface_queue.py,sha256=QxHmramXIHs4rQEzIk3qzF9ui5BPEAcXSGPt8TZjaEE,2026
254
254
  wandb/sdk/interface/interface_relay.py,sha256=R28bIhebZux7PwFeJmO8wOOkm_uCjmQ2T5lKKy3sL-Y,1567
255
- wandb/sdk/interface/interface_shared.py,sha256=NZBQjyre1nlnlHtbvxNnWhGVA2NXAwfaVOpEMawckrw,21143
255
+ wandb/sdk/interface/interface_shared.py,sha256=soKp6vxj63eb83qse0tUWSQ31j-J6QnaAvnVBj4o54Q,21187
256
256
  wandb/sdk/interface/interface_sock.py,sha256=aurQAyibPjE19ZWi2lCCDsLjo4v3Pi5f59rL1VZ9J0w,2045
257
257
  wandb/sdk/interface/message_future.py,sha256=SlMF8psfA1AW3iVuB_PVLo41bC4U-AAvek1Zlh31mdE,712
258
258
  wandb/sdk/interface/message_future_poll.py,sha256=8a7GcNtCyohHUnxoJ5sx6RRQa2Vu_hjiBqeQ-UQ0RTc,1460
@@ -267,16 +267,16 @@ wandb/sdk/internal/datastore.py,sha256=BPDqVbpOMMbu50haTrKXJ_F-_GFTRp79wD1TgOeIR
267
267
  wandb/sdk/internal/file_pusher.py,sha256=p2a19_6mP0QJYtY1IwHXvahsx6Oj2lTRSmv6mhEibjM,6284
268
268
  wandb/sdk/internal/file_stream.py,sha256=-euEOevpl32WiFyruJv3zgeIqAMKd2Owe9GUM5UI2ec,26619
269
269
  wandb/sdk/internal/flow_control.py,sha256=RL1lKVRwxV9vDwIMBz9L07p25eZgDi5XSDanHfbNzF8,8847
270
- wandb/sdk/internal/handler.py,sha256=HRcHGiPcNIL4-5Ty0_-tZy396QXHQEyISe1npuxlz5I,34589
270
+ wandb/sdk/internal/handler.py,sha256=ll0JUeIGFmwvS1Q6YN4MWPRB84lVagjciEvDLPGqcMo,34597
271
271
  wandb/sdk/internal/internal.py,sha256=b-oc7U7P7xKiL8s-HqTPScDJpYvilyCOEnnBIt9-Clo,13139
272
- wandb/sdk/internal/internal_api.py,sha256=x9p-n7tWXBSxv0-8yM28V4oJW21p2SPuZvfReHJJBws,151392
272
+ wandb/sdk/internal/internal_api.py,sha256=5k7sHeYEdhFJde3Ilx_j6N3T5ATrBCCju054MQN90Sk,151416
273
273
  wandb/sdk/internal/internal_util.py,sha256=LtusH3QYE12A4vH-7-gHXX0O7TfJ2haESf0_MYdYe50,2754
274
274
  wandb/sdk/internal/job_builder.py,sha256=9iMyyEmUfe3-WE-bVpR5X5ci-67kYX1VwG1n2SK7ukA,23326
275
275
  wandb/sdk/internal/profiler.py,sha256=QM5R8-0oWE7WhllhpPEAEwCyB6Uk62HATz8e2F5qIUk,2426
276
276
  wandb/sdk/internal/progress.py,sha256=Tfz1DJNlIj80-Ghb2b7TzHBftgXkfPWwwHlO2NK8UyA,2529
277
277
  wandb/sdk/internal/run.py,sha256=rkEwqdaYPUh_oB-gdCnQ1JIpSHTMoOVadV9CJEgy-kA,707
278
278
  wandb/sdk/internal/sample.py,sha256=QE80NZeW-UsUZBlnf9hG_2KNIZWmLzEpZStYTuL4fOI,2512
279
- wandb/sdk/internal/sender.py,sha256=Xb7nJovZ5rjbVBd9r6CfMboz1-8oMhOtmWs3iWQaj00,67698
279
+ wandb/sdk/internal/sender.py,sha256=fMMH2r_WLaMoJRQP3lIiaHvbTySGZKSDJy3YNZDwLyU,68169
280
280
  wandb/sdk/internal/sender_config.py,sha256=LZaQY4_bzb9003D2j6aynGqv-Mr2GwUGcNmnQrhJOJw,6964
281
281
  wandb/sdk/internal/settings_static.py,sha256=tUieif_B36dCFqJKwfcr4bLF0KVgFhGN6q-vg3orRzw,3616
282
282
  wandb/sdk/internal/tb_watcher.py,sha256=_lOVLuxKBB8EFXdDpwBB6pcS5nC6B3Q2B5jKqsJ8fYU,19206
@@ -322,7 +322,7 @@ wandb/sdk/launch/builder/abstract.py,sha256=CNEtAIn0obqJyVNyyLqgjTzF8A4MR4aWlLUd
322
322
  wandb/sdk/launch/builder/build.py,sha256=qmcdf6r0oK5_6CpbOzQSZSv2cTVq15N9mZWyhe7d12A,11080
323
323
  wandb/sdk/launch/builder/context_manager.py,sha256=pri9aPNLZm8MQIJVekmSIc604PdXOlTKbbyS867i22M,9853
324
324
  wandb/sdk/launch/builder/docker_builder.py,sha256=a3Ijnqr8eW3G0Eoqq053CpsED7evoncjk-PfQ7IqsWw,6493
325
- wandb/sdk/launch/builder/kaniko_builder.py,sha256=XbQkYLB9jLC6bOn3U_hFa0Q0WxbJT53i-NtYpiLuelE,23373
325
+ wandb/sdk/launch/builder/kaniko_builder.py,sha256=ERzVYUOQkIryjs9esWsArzMmLeYYCdoEXFkd-Zq3bhg,24253
326
326
  wandb/sdk/launch/builder/noop.py,sha256=Mr_3IKCmfwX45xztku4uVzeGZh2fbuwylNbNBS3Pjmk,1958
327
327
  wandb/sdk/launch/builder/templates/_wandb_bootstrap.py,sha256=_UKbEWu8PBEXEELSYxlBPFWtNQUUMrJgzwXIatV1jA0,7413
328
328
  wandb/sdk/launch/builder/templates/dockerfile.py,sha256=b-wKn1YguEjxmNAHeRBD0pwur1w_ixtkre2znyZHxS0,2356
@@ -332,8 +332,8 @@ wandb/sdk/launch/environment/azure_environment.py,sha256=75Wamar_QS4lr0RSjdsrENR
332
332
  wandb/sdk/launch/environment/gcp_environment.py,sha256=68PDJaYlT_YXXqbFseXg_AlTR7CDF4R3Qonp6AXfs2g,13069
333
333
  wandb/sdk/launch/environment/local_environment.py,sha256=UeG3fL5w4kbN9SCOvKlJaQwYYne0sB2dymwwcCxbi_s,2324
334
334
  wandb/sdk/launch/inputs/files.py,sha256=wLBb6riNplCtUY_p0uVwyCYH8La7H6naUpB5RVGiMUU,4833
335
- wandb/sdk/launch/inputs/internal.py,sha256=F4UjKYhdpWTktdlY69QwDGbKG8CCI0-pVyxHTt67dOA,6545
336
- wandb/sdk/launch/inputs/manage.py,sha256=eM8B8vh43-yP9N3nFLZionztGODL1apDv54QB798KiU,3881
335
+ wandb/sdk/launch/inputs/internal.py,sha256=Nl0snraGpu-PpVXlQitOPcaVOgdDNPKKiXxgOo_kBos,9693
336
+ wandb/sdk/launch/inputs/manage.py,sha256=OeU9nx_NnpCG2qxXsQgZRQiZBDGiW6046j0RUD9lYI8,5116
337
337
  wandb/sdk/launch/registry/abstract.py,sha256=rpPQlTfOTA6wWTU1DdtbnM9myJxQAwXrg4SQPbo9ORY,1194
338
338
  wandb/sdk/launch/registry/anon.py,sha256=tpo6zCREdt3-uUCc47cpX5e97y2QIfRq9lUrh_9zWNg,972
339
339
  wandb/sdk/launch/registry/azure_container_registry.py,sha256=dc9MomABu6RWA4VVaRFItyJuY1WamKZO7qxsSYyT4Ns,4694
@@ -394,7 +394,7 @@ wandb/sdk/lib/sparkline.py,sha256=x5XSsLn0bV8hLuy54K4TToRcEZtRHUugK8VDiHFo93o,14
394
394
  wandb/sdk/lib/telemetry.py,sha256=1_QPck47Zj0b5dA37lIfpev1tHaHJHoNaiXKjyvdPoA,2852
395
395
  wandb/sdk/lib/timed_input.py,sha256=XF03SXTQj0AysHiIV-LKtbwxtSUx0E7xts7zDPs9kJQ,3362
396
396
  wandb/sdk/lib/timer.py,sha256=Ar1t8f3OFAA4PB2fB2MT9D41y3g2Or56wSAYezvdXqo,459
397
- wandb/sdk/lib/tracelog.py,sha256=_Ng37iwpAxEevt8UAEkUl9cLUim790CskU6k3CNc-A0,7795
397
+ wandb/sdk/lib/tracelog.py,sha256=IvK-t8cQ4AIMZ0hXBqDkJZdX-fBNSwZ422zsRw_nT5M,7827
398
398
  wandb/sdk/lib/wburls.py,sha256=m2CWuFtFPD9R4SzEEsKN-iSwCKiKr6dhOi8_WYrvzHY,1481
399
399
  wandb/sdk/service/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
400
400
  wandb/sdk/service/_startup_debug.py,sha256=piYn6Jg-uR5W-EkablqikEpenyYPQuoQynrPq-iccdo,610
@@ -813,8 +813,8 @@ wandb/vendor/watchdog_0_9_0/wandb_watchdog/utils/importlib2.py,sha256=kX0rdVmTDL
813
813
  wandb/vendor/watchdog_0_9_0/wandb_watchdog/utils/platform.py,sha256=7fpTDfxSYvSRtHvyog-plRdLR5A6k1QVY_AL0gVhhPM,1563
814
814
  wandb/vendor/watchdog_0_9_0/wandb_watchdog/utils/unicode_paths.py,sha256=xzyQmuba2gns1s3Qemu9SXaKV5zeTL3TP9--xOi541g,2254
815
815
  wandb/vendor/watchdog_0_9_0/wandb_watchdog/utils/win32stat.py,sha256=R48kuuEIi7XzCJBJ6Xo7v6DJIbOP5EwcsWaPf5Axn_g,3951
816
- wandb-0.17.4.dist-info/METADATA,sha256=pj2Xkm34_t4x4J8nBDjJbRNnRJOzJwQwAJMUQeSuTZM,10047
817
- wandb-0.17.4.dist-info/WHEEL,sha256=2DRd_I5Nluwhn03SIbdmN0V_7r9FqkBQixEKn2cGyEA,89
818
- wandb-0.17.4.dist-info/entry_points.txt,sha256=v4FCOZ9gW7Pc6KLsmgQqpCiKTrA1wh2XHmNf-NUP1-I,67
819
- wandb-0.17.4.dist-info/licenses/LICENSE,sha256=rJ7p1acqNi17WFOAJ9WqsImXZtKZDA3i_gzdDVGRuFQ,1102
820
- wandb-0.17.4.dist-info/RECORD,,
816
+ wandb-0.17.5.dist-info/METADATA,sha256=bIFHpDndbwGaGh4sip_nuhnf8TeECcLhriJ_tlVDSmc,10047
817
+ wandb-0.17.5.dist-info/WHEEL,sha256=2DRd_I5Nluwhn03SIbdmN0V_7r9FqkBQixEKn2cGyEA,89
818
+ wandb-0.17.5.dist-info/entry_points.txt,sha256=v4FCOZ9gW7Pc6KLsmgQqpCiKTrA1wh2XHmNf-NUP1-I,67
819
+ wandb-0.17.5.dist-info/licenses/LICENSE,sha256=rJ7p1acqNi17WFOAJ9WqsImXZtKZDA3i_gzdDVGRuFQ,1102
820
+ wandb-0.17.5.dist-info/RECORD,,
File without changes