wandb 0.19.4rc1__py3-none-macosx_11_0_arm64.whl → 0.19.6rc4__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.
Files changed (47) hide show
  1. wandb/__init__.py +1 -1
  2. wandb/__init__.pyi +1 -8
  3. wandb/_iterutils.py +46 -0
  4. wandb/apis/internal.py +4 -0
  5. wandb/apis/normalize.py +13 -5
  6. wandb/bin/gpu_stats +0 -0
  7. wandb/bin/wandb-core +0 -0
  8. wandb/cli/cli.py +9 -2
  9. wandb/proto/v3/wandb_internal_pb2.py +36 -36
  10. wandb/proto/v3/wandb_settings_pb2.py +2 -2
  11. wandb/proto/v4/wandb_internal_pb2.py +36 -36
  12. wandb/proto/v4/wandb_settings_pb2.py +2 -2
  13. wandb/proto/v5/wandb_internal_pb2.py +36 -36
  14. wandb/proto/v5/wandb_settings_pb2.py +2 -2
  15. wandb/sdk/artifacts/artifact.py +120 -8
  16. wandb/sdk/artifacts/storage_handlers/local_file_handler.py +12 -5
  17. wandb/sdk/artifacts/storage_handlers/wb_local_artifact_handler.py +1 -1
  18. wandb/sdk/backend/backend.py +7 -11
  19. wandb/sdk/data_types/base_types/wb_value.py +10 -10
  20. wandb/sdk/data_types/helper_types/bounding_boxes_2d.py +2 -2
  21. wandb/sdk/data_types/helper_types/image_mask.py +2 -2
  22. wandb/sdk/data_types/image.py +0 -3
  23. wandb/sdk/data_types/saved_model.py +1 -1
  24. wandb/sdk/data_types/utils.py +2 -6
  25. wandb/sdk/interface/interface.py +26 -12
  26. wandb/sdk/interface/interface_sock.py +7 -11
  27. wandb/sdk/internal/internal_api.py +9 -1
  28. wandb/sdk/internal/sender.py +2 -2
  29. wandb/sdk/internal/system/assets/cpu.py +1 -1
  30. wandb/sdk/lib/apikey.py +7 -19
  31. wandb/sdk/lib/mailbox.py +0 -14
  32. wandb/sdk/lib/retry.py +6 -3
  33. wandb/sdk/lib/run_moment.py +19 -7
  34. wandb/sdk/lib/server.py +20 -0
  35. wandb/sdk/lib/service_connection.py +2 -2
  36. wandb/sdk/wandb_init.py +71 -46
  37. wandb/sdk/wandb_login.py +86 -110
  38. wandb/sdk/wandb_metadata.py +60 -31
  39. wandb/sdk/wandb_run.py +32 -45
  40. wandb/sdk/wandb_settings.py +465 -143
  41. wandb/sdk/wandb_setup.py +10 -22
  42. wandb/util.py +44 -12
  43. {wandb-0.19.4rc1.dist-info → wandb-0.19.6rc4.dist-info}/METADATA +1 -1
  44. {wandb-0.19.4rc1.dist-info → wandb-0.19.6rc4.dist-info}/RECORD +47 -46
  45. {wandb-0.19.4rc1.dist-info → wandb-0.19.6rc4.dist-info}/WHEEL +0 -0
  46. {wandb-0.19.4rc1.dist-info → wandb-0.19.6rc4.dist-info}/entry_points.txt +0 -0
  47. {wandb-0.19.4rc1.dist-info → wandb-0.19.6rc4.dist-info}/licenses/LICENSE +0 -0
wandb/sdk/wandb_setup.py CHANGED
@@ -177,42 +177,30 @@ class _WandbSetup:
177
177
  def _get_entity(self) -> str | None:
178
178
  if self._settings and self._settings._offline:
179
179
  return None
180
- if self._server is None:
181
- self._load_viewer()
182
- assert self._server is not None
183
- entity = self._server._viewer.get("entity")
180
+ entity = self.viewer.get("entity")
184
181
  return entity
185
182
 
186
183
  def _get_username(self) -> str | None:
187
184
  if self._settings and self._settings._offline:
188
185
  return None
189
- if self._server is None:
190
- self._load_viewer()
191
- assert self._server is not None
192
- return self._server._viewer.get("username")
186
+ return self.viewer.get("username")
193
187
 
194
188
  def _get_teams(self) -> list[str]:
195
189
  if self._settings and self._settings._offline:
196
190
  return []
197
- if self._server is None:
198
- self._load_viewer()
199
- assert self._server is not None
200
- teams = self._server._viewer.get("teams")
191
+ teams = self.viewer.get("teams")
201
192
  if teams:
202
193
  teams = [team["node"]["name"] for team in teams["edges"]]
203
194
  return teams or []
204
195
 
205
- def _load_viewer(self) -> None:
206
- if self._settings and self._settings._offline:
207
- return
208
- s = server.Server(settings=self._settings)
209
- s.query_with_timeout()
210
- self._server = s
211
-
212
- def _load_user_settings(self) -> dict[str, Any] | None:
196
+ @property
197
+ def viewer(self) -> dict[str, Any]:
213
198
  if self._server is None:
214
- self._load_viewer()
199
+ self._server = server.Server(settings=self._settings)
215
200
 
201
+ return self._server.viewer
202
+
203
+ def _load_user_settings(self) -> dict[str, Any] | None:
216
204
  # offline?
217
205
  if self._server is None:
218
206
  return None
@@ -222,7 +210,7 @@ class _WandbSetup:
222
210
  if "code_saving_enabled" in flags:
223
211
  user_settings["save_code"] = flags["code_saving_enabled"]
224
212
 
225
- email = self._server._viewer.get("email", None)
213
+ email = self.viewer.get("email", None)
226
214
  if email:
227
215
  user_settings["email"] = email
228
216
 
wandb/util.py CHANGED
@@ -854,20 +854,52 @@ def no_retry_4xx(e: Exception) -> bool:
854
854
 
855
855
 
856
856
  def parse_backend_error_messages(response: requests.Response) -> List[str]:
857
- errors: List[str] = []
857
+ """Returns error messages stored in a backend response.
858
+
859
+ If the response is not in an expected format, an empty list is returned.
860
+
861
+ Args:
862
+ response: A response to an HTTP request to the W&B server.
863
+ """
858
864
  try:
859
865
  data = response.json()
860
- except ValueError:
861
- return errors
866
+ except requests.JSONDecodeError:
867
+ return []
868
+
869
+ if not isinstance(data, dict):
870
+ return []
862
871
 
863
- if "errors" in data and isinstance(data["errors"], list):
864
- for error in data["errors"]:
865
- # Our tests and potentially some api endpoints return a string error?
866
- if isinstance(error, str):
867
- error = {"message": error}
868
- if "message" in error:
869
- errors.append(error["message"])
870
- return errors
872
+ # Backend error values are returned in one of two ways:
873
+ # - A string containing the error message
874
+ # - A JSON object with a "message" field that is a string
875
+ def get_message(err: Any) -> Optional[str]:
876
+ if isinstance(error, str):
877
+ return error
878
+ elif (
879
+ isinstance(error, dict)
880
+ and (message := error.get("message"))
881
+ and isinstance(message, str)
882
+ ):
883
+ return message
884
+ else:
885
+ return None
886
+
887
+ # The response can contain an "error" field with a single error
888
+ # or an "errors" field with a list of errors.
889
+ if error := data.get("error"):
890
+ message = get_message(error)
891
+ return [message] if message else []
892
+
893
+ elif (errors := data.get("errors")) and isinstance(errors, list):
894
+ messages: List[str] = []
895
+ for error in errors:
896
+ message = get_message(error)
897
+ if message:
898
+ messages.append(message)
899
+ return messages
900
+
901
+ else:
902
+ return []
871
903
 
872
904
 
873
905
  def no_retry_auth(e: Any) -> bool:
@@ -1266,7 +1298,7 @@ def prompt_choices(
1266
1298
  ) -> str:
1267
1299
  """Allow a user to choose from a list of options."""
1268
1300
  for i, choice in enumerate(choices):
1269
- wandb.termlog(f"({i+1}) {choice}")
1301
+ wandb.termlog(f"({i + 1}) {choice}")
1270
1302
 
1271
1303
  idx = -1
1272
1304
  while idx < 0 or idx > len(choices) - 1:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: wandb
3
- Version: 0.19.4rc1
3
+ Version: 0.19.6rc4
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,16 @@
1
1
  package_readme.md,sha256=U9047nyMDICgctm1HLm4HfXwFnFKsEn2m77hsYPUZ1I,4298
2
- wandb-0.19.4rc1.dist-info/RECORD,,
3
- wandb-0.19.4rc1.dist-info/WHEEL,sha256=B_HTF0nESsbkeA2UeB8YgKrtPrxyKFORYURx7Qxu8Xw,101
4
- wandb-0.19.4rc1.dist-info/entry_points.txt,sha256=v4FCOZ9gW7Pc6KLsmgQqpCiKTrA1wh2XHmNf-NUP1-I,67
5
- wandb-0.19.4rc1.dist-info/METADATA,sha256=65fpP8edcTSem5od14zJT5b6hP6kjhd5gId96p23QXk,10285
6
- wandb-0.19.4rc1.dist-info/licenses/LICENSE,sha256=izOKRJpGOx1PrJiGOKR0HsNdlB5JdH2d0Z4P7a7ssTc,1081
2
+ wandb-0.19.6rc4.dist-info/RECORD,,
3
+ wandb-0.19.6rc4.dist-info/WHEEL,sha256=B_HTF0nESsbkeA2UeB8YgKrtPrxyKFORYURx7Qxu8Xw,101
4
+ wandb-0.19.6rc4.dist-info/entry_points.txt,sha256=v4FCOZ9gW7Pc6KLsmgQqpCiKTrA1wh2XHmNf-NUP1-I,67
5
+ wandb-0.19.6rc4.dist-info/METADATA,sha256=AgyaK7K_qLQ3C-FNzzP2cgKJ8pNsIax5PS3JaHY4aJE,10285
6
+ wandb-0.19.6rc4.dist-info/licenses/LICENSE,sha256=izOKRJpGOx1PrJiGOKR0HsNdlB5JdH2d0Z4P7a7ssTc,1081
7
7
  wandb/env.py,sha256=ImVRezUi1wpXf2ogJ4IY9YNaELqon3k3S6-vCMNNzwQ,13505
8
- wandb/__init__.pyi,sha256=nZ_mrCwelWNIQBbhGrJ1cKX8z_IfihKjoMc3ByY0loM,47027
8
+ wandb/__init__.pyi,sha256=Rd4ARb64AK401vM56lDpn7qwfgKR7bsiFo7fRTSAv2A,46671
9
9
  wandb/_globals.py,sha256=CccwOAls5bxJArYHg12b08ZeKR8Qu9u57GtYWjBH0o0,702
10
- wandb/util.py,sha256=aYGSh8sOj5P0O6IMmp9lekBuUcwHX6fKdGB85Zt_uW0,62525
10
+ wandb/util.py,sha256=CoQPRhzGtCYp4QYPTyBy4AHTU5oqSL8QlZnUTDuIaGk,63445
11
11
  wandb/wandb_run.py,sha256=CNh9S6uubFk8FphQjzkbvedyyGCN9aBEsRBKjy8tqqs,155
12
- wandb/__init__.py,sha256=amlCK5n_1hyN1-MkgQ3CWpMhvrRq-X8B9Q4iZemjWzY,6991
12
+ wandb/_iterutils.py,sha256=bOhOrOENEDzOMtyQqHysivzHri9axcVlCfXt4Ai1ot8,1545
13
+ wandb/__init__.py,sha256=z9qa4RemyCngKb-KmUVUAG8XeG7s0lKgwOaEWkO3BoI,6991
13
14
  wandb/data_types.py,sha256=tjxcQ8padGuGxST192PyEDX_nhU__izHcAK-kaSyevI,2276
14
15
  wandb/wandb_controller.py,sha256=SksJdgwn14PpnUoIaBjJ9Ki4Nksl9BpQGGn42hT0xZg,24936
15
16
  wandb/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -23,8 +24,8 @@ wandb/docker/auth.py,sha256=Tr-BMoiMJjX8TsdUquVBBLyfxEJWR4WQZGyz6vBaJk0,15009
23
24
  wandb/docker/wandb-entrypoint.sh,sha256=P4eTMG7wYsgTfJIws_HT7QFlYBI70ZLnNlDGTZdmYVE,989
24
25
  wandb/docker/__init__.py,sha256=zaXUYlTQLBJo8YlxbL3kh0NBHqtXFHNg4-_TNV_WDBs,10594
25
26
  wandb/docker/www_authenticate.py,sha256=eQd0ap8LpZkS9ImRn2gdgl7gnHeKprdqjClrZOaCsQo,2805
26
- wandb/apis/internal.py,sha256=fL4sPpXqupAml1s_x_fQXzWallbxgNHIUKrTYwzWXVg,7461
27
- wandb/apis/normalize.py,sha256=LAM71nDl6xD2gXrpLv5e1mJsJDJZ_0y89zH7ygVYt10,2396
27
+ wandb/apis/internal.py,sha256=Whl1x29iH_DdIu47vUVvDSyOavEVaovdmlqXmu4-yOw,7622
28
+ wandb/apis/normalize.py,sha256=mamR8PquPZU7YAVNP1k_Q941l7FRwEoQhJhTH3SgSJQ,2676
28
29
  wandb/apis/__init__.py,sha256=uPZKqlX8Y9YcHoERJshWRGS3ukMOIVWi4sDnkO5_CYY,1338
29
30
  wandb/apis/paginator.py,sha256=18qGrzVzjamd-8AlrwvhUq11Bk31qCjxWWVcYzijGa8,2118
30
31
  wandb/apis/attrs.py,sha256=MRle0pRB8QGV31MRjVfqE7l8XJOA04FFKCtOOuDt0xE,1445
@@ -75,25 +76,25 @@ wandb/proto/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
75
76
  wandb/proto/wandb_generate_proto.py,sha256=KO1hlAUBGHQRNKsddhcSXvh5a6rmFM3kshKTWftbWwY,1278
76
77
  wandb/proto/wandb_deprecated.py,sha256=CGD8fZII6QOjVPJZ2zCGG8Cx95A5KZVYHYwFPz1Cz6k,1978
77
78
  wandb/proto/wandb_telemetry_pb2.py,sha256=ReY9N2qSt46o7m1ou1khvYSYYImrzo5ro90g_9m8QsM,322
78
- wandb/proto/v5/wandb_settings_pb2.py,sha256=uOkoefVta5Gk81jrzLbtwME3hnSBEbnnGKk0uszlcao,17773
79
+ wandb/proto/v5/wandb_settings_pb2.py,sha256=KKbLjQkNwX-9QHxgQHgSts8lwg3w7Eo999ytTsiYjc4,17853
79
80
  wandb/proto/v5/wandb_server_pb2.py,sha256=piGeVPCrHNCMMc9yIYKQtFRNSvfvB2fQKs8ANwApJu8,7463
80
81
  wandb/proto/v5/wandb_base_pb2.py,sha256=u7VVWdExJ4WDkYNMV-xvWvyQ-NTIbAqToTKtgEqt_Lg,1572
81
- wandb/proto/v5/wandb_internal_pb2.py,sha256=g5g6uVgFI7A3e1g2ucbTlUvzPeqLD0UIQOMzpZNtV18,56776
82
+ wandb/proto/v5/wandb_internal_pb2.py,sha256=JNGSa8ynettM2C6xFzo_q2A5Ej2olXtfryzKZcWuUKs,56810
82
83
  wandb/proto/v5/wandb_telemetry_pb2.py,sha256=tYmNIX5Mtw2AybnuX8n9KbwdxT2w4GKPvvokFfKfP8M,11522
83
- wandb/proto/v4/wandb_settings_pb2.py,sha256=viqW95K4Pd2yngqpNbZGQMPVEyxRIhsmkYRU2k9lgn8,17417
84
+ wandb/proto/v4/wandb_settings_pb2.py,sha256=O0U7x3aM6ih8Riiyv8CTIS4fUsMi3wSe8UkpL373myQ,17497
84
85
  wandb/proto/v4/wandb_server_pb2.py,sha256=MjXs9_8Gy8PKlIZuNZILp0fh2GDXctwKDL5BZhXydsA,6905
85
86
  wandb/proto/v4/wandb_base_pb2.py,sha256=El5lnZMRpkc1W4SlZgeKoDPqWiJau0BG8QfigMMt6bM,1422
86
- wandb/proto/v4/wandb_internal_pb2.py,sha256=ajx8u7q0FGcQn2GVQ_KoVn_puo3Gc84zDvHldCV6rLo,52477
87
+ wandb/proto/v4/wandb_internal_pb2.py,sha256=aFpVLemWazsb3XeV7z4qi9vOBc98FkoazbA6Lx6my7o,52511
87
88
  wandb/proto/v4/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
88
89
  wandb/proto/v4/wandb_telemetry_pb2.py,sha256=sd9xk2SdYw3SBOYw77GT5pFa0YHl9v-P17-854RMMxg,11252
89
- wandb/proto/v3/wandb_settings_pb2.py,sha256=TY-zqOizYCiCYKUiBr9dWTesFzNXm-t7RgDH9yqdURM,21042
90
+ wandb/proto/v3/wandb_settings_pb2.py,sha256=oaZH14fElK1x3Ze2i5A2VzU7YcagWF64MfkYA6Mj3yI,21122
90
91
  wandb/proto/v3/wandb_server_pb2.py,sha256=v_A6xNDUCKToBeUTgr1b6sqo51-PdqBEgLLKu8oloSU,15442
91
92
  wandb/proto/v3/wandb_base_pb2.py,sha256=_nsr_HW4Fdz62-KiXGo6Dw0_9bwdXz07auZkkH2QfSI,2355
92
- wandb/proto/v3/wandb_internal_pb2.py,sha256=04llmv8f_dNUGDyDMYSb8nrpWjemYP-WjlWv6j8rg2U,114564
93
+ wandb/proto/v3/wandb_internal_pb2.py,sha256=-zsy_FpMea-pu-e8iGOSyoXt_aOWaJZ-wkb-oLk5u4E,114598
93
94
  wandb/proto/v3/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
94
95
  wandb/proto/v3/wandb_telemetry_pb2.py,sha256=tQQJ7s3fbFYJc60JLnrkdf8yxCqKK0zJMdJaXxA3phM,13805
95
- wandb/bin/wandb-core,sha256=zQuUgCZaqsj7BnIvWOFpaRkoGLIYtEqDcz6GDfSTuYg,45467090
96
- wandb/bin/gpu_stats,sha256=tNY1jk810PMgZb0jCvW4THq41AylAf4LwGwKh1H3IP4,9718840
96
+ wandb/bin/wandb-core,sha256=HfQsX4Zlt-V78vEh6LOmuOo-2v--d4f5qyMgxPCaR4g,47309922
97
+ wandb/bin/gpu_stats,sha256=yad1MzqpoqGUmiUcr6o5MB7w08xcC9XFharEw0BIXTw,9441344
97
98
  wandb/integration/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
98
99
  wandb/integration/yolov8/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
99
100
  wandb/integration/yolov8/yolov8.py,sha256=srryantZqO65pj1x52MiKD5m2SzdQc4nIsj4o1GPK8o,11371
@@ -187,25 +188,25 @@ wandb/old/summary.py,sha256=eqpzQB5CfzTKZta6tB-nVUh0ZmiLwISqjSAt4yvwocE,13952
187
188
  wandb/old/settings.py,sha256=IrS10skC9gCTb8NgTWeRFgsTYL1bw36e-rG_xECk-yo,6374
188
189
  wandb/cli/beta.py,sha256=Um35Q9CeoQPS80g0wryo2WtSaD7VA0XqF_YCQNDNiSY,5438
189
190
  wandb/cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
190
- wandb/cli/cli.py,sha256=9UKKfjKwI_oRWK13UqQA3Ep1qH3HDCBXmKlOwcK0k_U,92726
191
+ wandb/cli/cli.py,sha256=LOeIp_FQ9PgknW2bquEEI7nnlJEKv2GP2ggloxGNlwA,92777
191
192
  wandb/mpmain/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
192
193
  wandb/mpmain/__main__.py,sha256=bLhspPeHQvNMyRNR7xi9v-02XfW1mhJY2yBWI3bYtbg,57
193
- wandb/sdk/wandb_metadata.py,sha256=nT6TUF4Yh-ka3VQGyKd3y9MTEHJUgRVT4ICyfJkbHFo,20111
194
+ wandb/sdk/wandb_metadata.py,sha256=wNvnpkY8WUWctVffZGbu1SZUkKP1plAJr65nNKNjk4s,20331
194
195
  wandb/sdk/wandb_config.py,sha256=b7kxQVnIh5HCBZXb2pOGZ4c02xCVlW4IQiAu3N-8Opg,10856
195
196
  wandb/sdk/wandb_alerts.py,sha256=SwBPBiXRxknMTMGbsVoMMWqWK65UWMcKAdTWZtdwAeo,193
196
- wandb/sdk/wandb_run.py,sha256=Jk-KLMtrjX698iUCT2gjivutfR01ud9DjnuSiuVYop8,155193
197
+ wandb/sdk/wandb_run.py,sha256=m3zHyYUDcDBr5wGGei74GCPV85ZvFKPtiNRhfgsDMTo,154325
197
198
  wandb/sdk/wandb_sync.py,sha256=GmIjtydDNiUT3FHkrFcIZzSlqiRerXA8kY3q72ZbL1k,2275
198
199
  wandb/sdk/__init__.py,sha256=N-GTAC0AzbZF2J8RzB33DTmYk9u-jubllCwvhWrPgsE,813
199
- wandb/sdk/wandb_init.py,sha256=XqlUH5OpIdyatgTKHMIsDM3xUSwVbgl_zFzezB8xOg8,58443
200
+ wandb/sdk/wandb_init.py,sha256=ZlbLSBpfgqNtpv7hsAc3LScs-pw6k9QQEPRiBF7515A,59687
200
201
  wandb/sdk/wandb_helper.py,sha256=IbJ7opO8UkfwCDekSjRYIrGBblUxnTPBfp1EdesfF4U,1824
201
- wandb/sdk/wandb_settings.py,sha256=gXZydMDYH8OLcAoK78mA4naRqBA2aKlsIGKn3i4OC0s,47290
202
+ wandb/sdk/wandb_settings.py,sha256=MdniU_qPcjeAVBATwUcxYKQUnpGlQwsJLf6H8vzTpPQ,55514
202
203
  wandb/sdk/wandb_summary.py,sha256=yQdOVIPrZaZanhBQ7yuSfPLX0x6dxwkN_KAn4SgjSZU,4536
203
204
  wandb/sdk/wandb_watch.py,sha256=F7S9CLbw9PddUp1qBjPRKsOiVFU8LPaq6A9taV3TJKI,4840
204
- wandb/sdk/wandb_login.py,sha256=DP7nDUGx2UmqGRBrvTmcpvzRBVeRD0qEENtmu4sjDAQ,10966
205
+ wandb/sdk/wandb_login.py,sha256=qYDpk2e8DVFecZfEV-KaRVqSLeuVGHnHBp5413nqT_M,10863
205
206
  wandb/sdk/wandb_metric.py,sha256=a3GiQXr6H18m81uobYjlJaC8CL8iANzI42qxkxfZsDs,3268
206
207
  wandb/sdk/wandb_require.py,sha256=Y0ib8h27__t7hXos1F2srfsQzVfzH4BB6wq8E1aRbRA,2950
207
208
  wandb/sdk/wandb_sweep.py,sha256=Sg_JqxVzmjUBvii41azpdr-c6RPwHOBnSha8k7jrRhk,4028
208
- wandb/sdk/wandb_setup.py,sha256=7j3UBiqm8x7f4JsFPX5jR19wNRSRvf77TIyncd0HpJg,13014
209
+ wandb/sdk/wandb_setup.py,sha256=IadkZxlkOiMRTS24NstInMHmoSb7q0KeIn1WtjPNajM,12569
209
210
  wandb/sdk/wandb_require_helpers.py,sha256=ZmKv5aXXHDTTU6nYHMLKW4_pt9X-PlaMtbRJl77kHX8,1331
210
211
  wandb/sdk/integration_utils/data_logging.py,sha256=DDFtDaUu50aeTTgxCHHYd2f85guqqf2xfEOburRlwwQ,19533
211
212
  wandb/sdk/integration_utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -215,7 +216,7 @@ wandb/sdk/interface/router_queue.py,sha256=4RDXvCcm1OQ7R7eSrZQi7qpaXyd_DzSStYs6C
215
216
  wandb/sdk/interface/message_future_poll.py,sha256=drjrcBKswYPYJJQLFlj7UDXq7_zg7KNcObFVetsbvhQ,1410
216
217
  wandb/sdk/interface/summary_record.py,sha256=-wDv_zLYueeUY8IzyF9NPYnYwF3iBpUWbrsGcHAd2YM,1677
217
218
  wandb/sdk/interface/constants.py,sha256=NJNBFr7LkshLI837D3LU3JuEURLzBwza9H-kxcy4ihw,60
218
- wandb/sdk/interface/interface.py,sha256=coqmzkIQr8s_hzryIhID__5JHw-waMkE65ICv1KcFMQ,36439
219
+ wandb/sdk/interface/interface.py,sha256=xPY5MHwMf1go_pDnDYs1bkQdpSbIF43mm5N-85U1m-Y,36576
219
220
  wandb/sdk/interface/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
220
221
  wandb/sdk/interface/router_sock.py,sha256=7-J3SFhnaqPohYaUyljwpbsvYPBXA-ZTENYnXxzbh9U,1060
221
222
  wandb/sdk/interface/interface_shared.py,sha256=F6kkd8Aaq_nZALIprMgul0xDkSB8uG0HXJ0-94uEZNw,21276
@@ -223,12 +224,12 @@ wandb/sdk/interface/interface_queue.py,sha256=7lbQz6VYamqYlNpkC-Ckrn5az_Yc9Crbnm
223
224
  wandb/sdk/interface/router_relay.py,sha256=uf0KA_WJ25xMwLsH_3RU_ZhRPNS5qujo1aFU2d_rfzs,953
224
225
  wandb/sdk/interface/message_future.py,sha256=5OMApIUKTXLHP98ph_jCdshuPZB_E0Uf3UGZpOQ8sik,685
225
226
  wandb/sdk/interface/router.py,sha256=uTgmF0TaQnYq8Frgs7pncUBucA6B7XXCmKcRoYEZV10,3419
226
- wandb/sdk/interface/interface_sock.py,sha256=ZQuEQS-dHgugEGw9zveEwRm8bolfjZ-MGjk6ENk18fs,2002
227
+ wandb/sdk/interface/interface_sock.py,sha256=dCTpyTQHsWhs2x5v3hY2NY3PK97ta0Pl4B1i9lil_ag,1802
227
228
  wandb/sdk/artifacts/storage_policy.py,sha256=BGIC8QRfryCNzF-72uk53MvQQbZVoKwQGhn2zX3NaRE,2090
228
229
  wandb/sdk/artifacts/artifact_state.py,sha256=6fxISSPsK62VeMau_5CI4a9lQXTaUJXcruzk74WUIBE,236
229
230
  wandb/sdk/artifacts/artifact_ttl.py,sha256=kNRr9JZ5P2iuo0ofoNKlSddGJkIQXRUjwgO8YUdyN4g,86
230
231
  wandb/sdk/artifacts/storage_layout.py,sha256=No2cLJEuU3Dr8rJ5Pq-e-36S6p-WKoYcCG24DKAKzro,73
231
- wandb/sdk/artifacts/artifact.py,sha256=qVbQQbOm_MkHhrsOib9ScMq870kp1nNoGYOzIzsUp6w,87958
232
+ wandb/sdk/artifacts/artifact.py,sha256=afIes8o0NyaCZsB1ROc-AsKVrQHdH98PCPa0DVju3EY,91248
232
233
  wandb/sdk/artifacts/_validators.py,sha256=QlN8yn7muPn1NZMSslHVYM-mcGEEd_4XLfRdv3Wf91Y,4171
233
234
  wandb/sdk/artifacts/artifact_file_cache.py,sha256=503z2x4CoTLXk_IfC9jRKBU9fr-X9PMiyG66h0INzQg,9744
234
235
  wandb/sdk/artifacts/artifact_saver.py,sha256=2x_n6KKSdntz7XBIDzQt3BqTXQgxfpyHe4U0GHe0nI8,9329
@@ -244,12 +245,12 @@ wandb/sdk/artifacts/storage_policies/wandb_storage_policy.py,sha256=m2s67vmRySPw
244
245
  wandb/sdk/artifacts/storage_policies/register.py,sha256=xT7kUxubtLqyE-9S6U9E4mCo1PtXl0ZEJ6gVQiS-kGQ,49
245
246
  wandb/sdk/artifacts/storage_policies/__init__.py,sha256=bgpWKElL-3iHcLO8pF-L8oezG-dQbp_6vcCYo7CEFAU,226
246
247
  wandb/sdk/artifacts/storage_handlers/s3_handler.py,sha256=XysTYz7_4zqGuvY1mdfaw--SqyIOe-WvjTowJFFHBvY,11586
247
- wandb/sdk/artifacts/storage_handlers/wb_local_artifact_handler.py,sha256=CfVOgg4QSiauUu7gi-CD4tLCgZZmJITWTdlODEzIDo0,2553
248
+ wandb/sdk/artifacts/storage_handlers/wb_local_artifact_handler.py,sha256=JgQVx0G5wocuycEJXxXKlXAl6B7fRVlrvlBEX8_BzP0,2552
248
249
  wandb/sdk/artifacts/storage_handlers/wb_artifact_handler.py,sha256=MVLbOi-py7Fbw0BxTs_23At3AyB-FFTHheD7nZnyu7s,4839
249
250
  wandb/sdk/artifacts/storage_handlers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
250
251
  wandb/sdk/artifacts/storage_handlers/multi_handler.py,sha256=4SSGuBisSNjqfvMQXguNL1keyx0lpDL9P0Dx7eZhTxo,1853
251
252
  wandb/sdk/artifacts/storage_handlers/azure_handler.py,sha256=OGfwIi2gfMRzs6EU4mtf9KBhz279yN0AuXApauZigys,8253
252
- wandb/sdk/artifacts/storage_handlers/local_file_handler.py,sha256=mRohKfaa4RAMST5_9jVR_mT0hkZpDAnIHgtJeImtYa8,5272
253
+ wandb/sdk/artifacts/storage_handlers/local_file_handler.py,sha256=XvFrNxadghPdI1fHw5X56OPYJfYolfDxLU28puQuIJY,5554
253
254
  wandb/sdk/artifacts/storage_handlers/http_handler.py,sha256=BI-NlGm0WRwGz8B-ZW9YtDEwlClvNwCE4_LRwSlXlpw,4070
254
255
  wandb/sdk/artifacts/storage_handlers/gcs_handler.py,sha256=hGslEr9QYi0Jp5_C5fxv7CaRu219tdmldyayncze0vc,8514
255
256
  wandb/sdk/artifacts/storage_handlers/tracking_handler.py,sha256=lFWh0NIySHq6JWNJ-WOX367lUEY7KN7zFsB-zte7FpQ,2571
@@ -263,23 +264,23 @@ wandb/sdk/data_types/graph.py,sha256=_P_z2dNj2mCJeSvusIfVHkSkVB9AL0AEO-6KaguC1ys
263
264
  wandb/sdk/data_types/html.py,sha256=CBgxEybPGDY6vpQ1fHoKtQfGNGuqSkFQtUZF-qG9p6c,3504
264
265
  wandb/sdk/data_types/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
265
266
  wandb/sdk/data_types/_dtypes.py,sha256=NdRfTto95YxLMMK89PONQvAz_Jaey8D7caTsZ_OlvW8,30092
266
- wandb/sdk/data_types/utils.py,sha256=n-cEEFVBew0YK83RjQNO8Anw71aN4oSUTYPMwkVkwEY,7893
267
+ wandb/sdk/data_types/utils.py,sha256=Qdj-gUOrrc9wVjBD7Mtmt2o6bHadr1IgzAWF4ijdrz4,7633
267
268
  wandb/sdk/data_types/audio.py,sha256=VcbZRjY-9szxIKR-x1Eg375H1Lm5R6znErT4Q8FYrWM,5364
268
269
  wandb/sdk/data_types/table.py,sha256=DjppFy0-ii1iMoVOg-h_F1YEUbgk5wGPJDXlQURXLQw,44683
269
270
  wandb/sdk/data_types/bokeh.py,sha256=0Aq4CJECPpoAkl7vw5LCGYhdCb9pS8i46jHB9PxTj1k,2534
270
- wandb/sdk/data_types/saved_model.py,sha256=_N2AriHLqRC_ZhbjPL_1sYvJIU2Rb8Zrh1lPhcN0Ip0,16378
271
+ wandb/sdk/data_types/saved_model.py,sha256=aKM7CGO5c8VE_7klwyYeC9tnl3XKIunVT03vyrXGFaQ,16398
271
272
  wandb/sdk/data_types/plotly.py,sha256=LEIHRqtHHpSou04AEUsyH8_UMXP4adrEHHaKoEtQkxo,2913
272
273
  wandb/sdk/data_types/video.py,sha256=q0vvyZHzHnxjYmX6VFVuTGT72m52YdYGnW-jAwqJSJg,9715
273
- wandb/sdk/data_types/image.py,sha256=dK-EUA1owm1OTspPLX8j3b-Je6KqV4SPSYZ0Pjhfzls,31370
274
+ wandb/sdk/data_types/image.py,sha256=o_ZwqB4uO1-R8QLuO9J6aiUuyANMz2qPQJAskushozQ,31239
274
275
  wandb/sdk/data_types/_private.py,sha256=zp2NRarTlIq4Hk3R2xp7j_qPGNzBMnaGHrZUN82shaY,299
275
276
  wandb/sdk/data_types/base_types/media.py,sha256=QO6aQdNGYtwr6qZYUQ9-WbTpkB3adCBTXWSqO3ZCJjI,14284
276
277
  wandb/sdk/data_types/base_types/json_metadata.py,sha256=oKpimndUQvDW30n15tb2pbyyyKhhWwm8wsYNBEot060,1553
277
278
  wandb/sdk/data_types/base_types/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
278
- wandb/sdk/data_types/base_types/wb_value.py,sha256=Er5Z_DbBpomEWlOkJXFpvh1cP3H-LVY-MvWLXJm74LA,11394
279
+ wandb/sdk/data_types/base_types/wb_value.py,sha256=HtV2VblGg_nnSBQ1rRSjlRuY-NyDTbeDVCJzlQ49SUc,11460
279
280
  wandb/sdk/data_types/helper_types/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
280
- wandb/sdk/data_types/helper_types/bounding_boxes_2d.py,sha256=o_QeU_sEsO2NUGyWhUIPUX5pWHRo_JtfH5a-s-68v4o,13100
281
+ wandb/sdk/data_types/helper_types/bounding_boxes_2d.py,sha256=hzVq4wTxx3-rJk4zaPKHR6-v0cTwj46JC9yUMTwuhUU,13010
281
282
  wandb/sdk/data_types/helper_types/classes.py,sha256=cg-AwUgULbb3T_-ptOdliXGvYjXZYRj8rvSmT7fl9ds,5520
282
- wandb/sdk/data_types/helper_types/image_mask.py,sha256=Eupi41lU_Hyc8vO9_5AdV9eRb4j3cRJ4fPGunm6QfBg,8689
283
+ wandb/sdk/data_types/helper_types/image_mask.py,sha256=JwgXaYTFkw4gEGe35ptIScnv4KA5ViqrUlVD8SZwmRQ,8601
283
284
  wandb/sdk/verify/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
284
285
  wandb/sdk/verify/verify.py,sha256=9vGbgfu4lZIl3_wdDO91H1sCK-mpZZFemtbhs8G-5zc,16703
285
286
  wandb/sdk/launch/wandb_reference.py,sha256=t4REjZz5lwB9fjDW2eo8uRgw9KeLsPeZ1Uu8tiFDBfA,4253
@@ -333,11 +334,11 @@ wandb/sdk/launch/inputs/internal.py,sha256=xtEZ7znfUCL2ME7xZv5bD8I5C6hNpN2EqjgNd
333
334
  wandb/sdk/launch/inputs/files.py,sha256=BWGDmAfDPLja7zz0bUzYLaF3wH4cTPesD9LqDuJRUoU,4685
334
335
  wandb/sdk/launch/inputs/manage.py,sha256=O0IsTWhjUftihohRfK7DkT186LjHMMcE2NSMeG8IFBY,5003
335
336
  wandb/sdk/launch/inputs/schema.py,sha256=Fs4CcxI0ifFagazbNp47uJP15JL3v43PAvVNO93f9XY,1418
336
- wandb/sdk/internal/sender.py,sha256=TPidmgTSE2gYlC4uh-32eNtI-XRgHEoYVVkC5F-saCQ,65328
337
+ wandb/sdk/internal/sender.py,sha256=1oJX1f1FqxloyCIgy-A3bM8XLThdcPNZGkRn1PhAN1w,65287
337
338
  wandb/sdk/internal/internal.py,sha256=o9_-6C99LMOx_YB5xuZ1I1KgpeHk3jUgll63sEe9gCY,12182
338
339
  wandb/sdk/internal/run.py,sha256=8OhVy2vfgPC8pNFq0tJ4CkQHETOBfQsFDghw50ccSXc,682
339
340
  wandb/sdk/internal/job_builder.py,sha256=_L-DfGFEzDl0JLXPo535KPK3Bk0vqXsTQVF7buXeaiY,22962
340
- wandb/sdk/internal/internal_api.py,sha256=0-pGwUEHq8cf4Hm5CR1OxcmNYG-F5Gvl1kEI60kSUhQ,159306
341
+ wandb/sdk/internal/internal_api.py,sha256=WrWaeVasXrSyTj9eABz3ULa3vIAIb2lGzZDWK8ng9KQ,159641
341
342
  wandb/sdk/internal/handler.py,sha256=k3b5pHh8NQgh8BqegaKLqawt9d_cnxKW64i_Z6cw3pk,34183
342
343
  wandb/sdk/internal/thread_local_settings.py,sha256=UqD6kfjsy6mvxIWcjhd-vJWkNRCeU1whuRe_-VGIklQ,527
343
344
  wandb/sdk/internal/sender_config.py,sha256=qEuXwOskca3sYyDIRsswlXmj9StCCS0WKQ1qrBXbIjw,6767
@@ -363,7 +364,7 @@ wandb/sdk/internal/system/assets/disk.py,sha256=ASvzdmb3gSMMKyp57xCauu0AzIlLOuEx
363
364
  wandb/sdk/internal/system/assets/ipu.py,sha256=irMYKXo1zEluWC5FjYzGD3edySfoi3lgiIi-0GNziE8,5314
364
365
  wandb/sdk/internal/system/assets/gpu_amd.py,sha256=MpL2c74p7hls_BRwF6f25C1QdW1wwToi9hthE7o7-rY,7355
365
366
  wandb/sdk/internal/system/assets/memory.py,sha256=lmd11JAXxEUpHUiUMX3Y5-a9bNjiMU3BgSvT9ubtpSo,4271
366
- wandb/sdk/internal/system/assets/cpu.py,sha256=DvAVWrlSb_amBjTfG-hpSKzlE1aIW3qu3JloBM_ycTs,4576
367
+ wandb/sdk/internal/system/assets/cpu.py,sha256=rwXZZ6bchKEijE1GCE4j6mrxLDM4-H4ZLexcgNO_55k,4578
367
368
  wandb/sdk/internal/system/assets/trainium.py,sha256=YlWnRf5fAxEqkAnHQ0iGZo2phvD-QTOAuYyO0PaJYJg,13346
368
369
  wandb/sdk/internal/system/assets/__init__.py,sha256=X0_hRaWP1eTC-R-2WZI3Or3bKmqNwP7NsNijRq5DBVo,474
369
370
  wandb/sdk/internal/system/assets/aggregators.py,sha256=EzJp_YjvYORcBH6g58OsqGtmy55HqYHYMAvaIsp2Iwg,1093
@@ -372,11 +373,11 @@ wandb/sdk/internal/system/assets/tpu.py,sha256=nwv3C9a6dgD1hc0461Rh28NQkWbNQ5fJO
372
373
  wandb/sdk/internal/system/assets/network.py,sha256=n3buH2-InLGT35PVlvhY5eHv_Hm5Kl_N8jH576OiVi8,3392
373
374
  wandb/sdk/internal/system/assets/open_metrics.py,sha256=VqOncOSnPztqSyQ0g-zeJWcjc_lircRk6F76rwoBWR4,9631
374
375
  wandb/sdk/internal/system/assets/gpu.py,sha256=DnnfH9fvvfiRXzMAXjCgHZZZt_Kkn2br74T3Y_oyyhw,13722
375
- wandb/sdk/backend/backend.py,sha256=bod3MjcpErC-r66yuhVz2m398NntdpRblgeOYA5wbCQ,7613
376
+ wandb/sdk/backend/backend.py,sha256=c0vdeiQr6D3Ua8hvKKlYoELfDTRxPrHIX4E3qRZsX00,7492
376
377
  wandb/sdk/backend/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
377
378
  wandb/sdk/lib/deprecate.py,sha256=r8kT4UY2DSG7V5N78MG46kQOzycBp3_8lH49KnDXxXM,1462
378
379
  wandb/sdk/lib/exit_hooks.py,sha256=_4oozaRQCJi8NJfZvHsA8livvFb0trZKLOGB8_UcHGk,1540
379
- wandb/sdk/lib/server.py,sha256=mDqOrR9LFbSjYfCk9Bufse8P0wISS6DZOBRbw0SDgsg,1110
380
+ wandb/sdk/lib/server.py,sha256=dn0RXjAnpmigAULLyq75XHYyHxw17MLCJ9fhPq2v22I,1623
380
381
  wandb/sdk/lib/paths.py,sha256=YiEE5mkYB5ahMuI4C27IsNvejC3z6MI5JPW1iISi864,4529
381
382
  wandb/sdk/lib/sock_client.py,sha256=-B2V0rTRM_pnZsqV0GuCjPTvEOAjfvjICTz5nohEIGY,10351
382
383
  wandb/sdk/lib/credentials.py,sha256=WmVdzL1rFy7S0WIHf1ZYd98_eaHTxPKUobReRSPQgBM,4737
@@ -395,22 +396,22 @@ wandb/sdk/lib/__init__.py,sha256=53BA5lIOtUXciXZcPpNsFbp-iUPzI5gQFxplTykNmOE,183
395
396
  wandb/sdk/lib/telemetry.py,sha256=Q7rh7qyeicy9KdgQffVK6ZI8vHUdOtwFvxEeeJtOWcI,2754
396
397
  wandb/sdk/lib/disabled.py,sha256=zIuxC4uddcjAGCU-PEQGgoe7FzxJTHho3llW0R1uBX4,884
397
398
  wandb/sdk/lib/sparkline.py,sha256=9xQkuZ0z1DM7rHE2jFNDy5vBdPirnurd__A_bC6-Bgc,1363
398
- wandb/sdk/lib/retry.py,sha256=FheKJLMyKtc7L-dNqGw6DJ1RK3cZ0-Ow0RZQDjJ2o9g,10092
399
+ wandb/sdk/lib/retry.py,sha256=BAgPgJb1SxRguor2KTfOFnQpTlyNE4M_X8VcEc7YfMs,10173
399
400
  wandb/sdk/lib/json_util.py,sha256=fAsYfaw8iMmx3KJ0wSthUSj_XpF1iAysad4XZY1kQdo,2584
400
401
  wandb/sdk/lib/gitlib.py,sha256=RjlbRyZpIRqc0toVJQSpNxVgPpwx1LSjeF9LSuf4bAY,7836
401
402
  wandb/sdk/lib/proto_util.py,sha256=JxDldi8j6dfF_Lx9zOwqYL6LQZhYYGgKt_AfZtYHAW0,2894
402
403
  wandb/sdk/lib/ipython.py,sha256=I2iT6vY90Aaws7tmjzW_CrUdQFmfV9-WhAPk8at9LQg,3782
403
404
  wandb/sdk/lib/service_token.py,sha256=c4olk_g4Suo0zTTDaoR78oHLwpt3NgDzQeF94raigME,2471
404
- wandb/sdk/lib/run_moment.py,sha256=-_xWnktxlB21obnogPfGeaeIaf8mCS-MIZSMepBL3ZM,2193
405
- wandb/sdk/lib/mailbox.py,sha256=enEj8dFre9zoGhnHTWFBvrKYd4DTzzT6uy7ASYJMvTA,14228
405
+ wandb/sdk/lib/run_moment.py,sha256=HMx8jYIaWwmSPNViP54ZYMbxLKBn2m_ezYCa67UC6H8,2464
406
+ wandb/sdk/lib/mailbox.py,sha256=iuxunHXc2JzxFyubyS6CqxMXsrSpSFswBfxASF-hmss,13832
406
407
  wandb/sdk/lib/hashutil.py,sha256=aU8YsAgkTcYDlqshfcDjItiO2s9lqq2YdKt7RoA2adQ,2763
407
408
  wandb/sdk/lib/module.py,sha256=PWxpFqOYmLyKPF-VgfINZXzkFxDcoQVunVDVNWNnbxQ,2098
408
409
  wandb/sdk/lib/handler_util.py,sha256=mT9CKsmboq4lPWElsi4uo9ORHhx6OYTr7KY2QtgbM6M,589
409
- wandb/sdk/lib/service_connection.py,sha256=VYceAXNUWelzc14A4KUM4LYwvm2xqH5Q35aRw8Ed-fE,6467
410
+ wandb/sdk/lib/service_connection.py,sha256=z4zMzqMxD86Qs8YVJOb_N_GJmkCOYnoBsBGEY9093S4,6504
410
411
  wandb/sdk/lib/progress.py,sha256=GN3AhhjUK6D2SGCXSercS6pSepyHqVvE-X7f5W1WnW4,8609
411
412
  wandb/sdk/lib/gql_request.py,sha256=-KRTtT2zqn7pTOBcl41IBdbvQ25YCrxVurROpRqrWqw,2399
412
413
  wandb/sdk/lib/config_util.py,sha256=YdYvk-KbTdTa-84XegpvbqMuQfdlOREFiVR7m3q6e3Q,2917
413
- wandb/sdk/lib/apikey.py,sha256=MU5b3YrASIlhersBi7769OtBXkVBuuAJGK2gJLxsoNI,9104
414
+ wandb/sdk/lib/apikey.py,sha256=1nCkfu7G-mOdJYTyByDxeuQHFZmYeT-UUm4OL_mgSGU,8715
414
415
  wandb/sdk/lib/printer.py,sha256=v3T2wqere8HQIVba9LYd8xCIUtV8e8l21Fw4XUEPbXM,15289
415
416
  wandb/sdk/lib/fsm.py,sha256=RLr_wp6_9vSRQbnoP6aqOXYghi53FV93eUyAMMEjcTg,5175
416
417
  wandb/sdk/lib/lazyloader.py,sha256=4Seis4C8Ph6a2-3scfYqeHh7KjKG6PO0WJ2ZPW30O0o,1891