wandb 0.19.4rc1__py3-none-macosx_11_0_arm64.whl → 0.19.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
@@ -47,7 +47,7 @@ from wandb.sdk.lib.import_hooks import (
47
47
  register_post_import_hook,
48
48
  unregister_post_import_hook,
49
49
  )
50
- from wandb.sdk.lib.paths import FilePathStr, LogicalPath, StrPath
50
+ from wandb.sdk.lib.paths import FilePathStr, StrPath
51
51
  from wandb.util import (
52
52
  _is_artifact_object,
53
53
  _is_artifact_string,
@@ -454,7 +454,6 @@ class Run:
454
454
  """A unit of computation logged by wandb. Typically, this is an ML experiment.
455
455
 
456
456
  Create a run with `wandb.init()`:
457
- <!--yeadoc-test:run-object-basic-->
458
457
  ```python
459
458
  import wandb
460
459
 
@@ -463,7 +462,6 @@ class Run:
463
462
 
464
463
  There is only ever at most one active `wandb.Run` in any process,
465
464
  and it is accessible as `wandb.run`:
466
- <!--yeadoc-test:global-run-object-->
467
465
  ```python
468
466
  import wandb
469
467
 
@@ -478,7 +476,6 @@ class Run:
478
476
  If you want to start more runs in the same script or notebook, you'll need to
479
477
  finish the run that is in-flight. Runs can be finished with `wandb.finish` or
480
478
  by using them in a `with` block:
481
- <!--yeadoc-test:run-context-manager-->
482
479
  ```python
483
480
  import wandb
484
481
 
@@ -594,6 +591,10 @@ class Run:
594
591
  self._config._set_artifact_callback(self._config_artifact_callback)
595
592
  self._config._set_settings(self._settings)
596
593
 
594
+ # The _wandb key is always expected on the run config.
595
+ wandb_key = "_wandb"
596
+ self._config._update({wandb_key: dict()})
597
+
597
598
  # TODO: perhaps this should be a property that is a noop on a finished run
598
599
  self.summary = wandb_summary.Summary(
599
600
  self._summary_get_current_summary_callback,
@@ -657,30 +658,12 @@ class Run:
657
658
  process_context="user",
658
659
  )
659
660
 
660
- # Populate config
661
- config = config or dict()
662
- wandb_key = "_wandb"
663
- config.setdefault(wandb_key, dict())
664
661
  self._launch_artifact_mapping: dict[str, Any] = {}
665
662
  self._unique_launch_artifact_sequence_names: dict[str, Any] = {}
666
- if self._settings.save_code and self._settings.program_relpath:
667
- config[wandb_key]["code_path"] = LogicalPath(
668
- os.path.join("code", self._settings.program_relpath)
669
- )
670
-
671
- if self._settings.fork_from is not None:
672
- config[wandb_key]["branch_point"] = {
673
- "run_id": self._settings.fork_from.run,
674
- "step": self._settings.fork_from.value,
675
- }
676
-
677
- if self._settings.resume_from is not None:
678
- config[wandb_key]["branch_point"] = {
679
- "run_id": self._settings.resume_from.run,
680
- "step": self._settings.resume_from.value,
681
- }
682
663
 
683
- self._config._update(config, ignore_locked=True)
664
+ # Populate config
665
+ config = config or dict()
666
+ self._config._update(config, allow_val_change=True, ignore_locked=True)
684
667
 
685
668
  if sweep_config:
686
669
  self._config.merge_locked(
@@ -1315,7 +1298,7 @@ class Run:
1315
1298
  with telemetry.context(run=self) as tel:
1316
1299
  tel.feature.set_summary = True
1317
1300
  if self._backend and self._backend.interface:
1318
- self._backend.interface.publish_summary(summary_record)
1301
+ self._backend.interface.publish_summary(self, summary_record)
1319
1302
 
1320
1303
  def _on_progress_get_summary(self, handle: MailboxProgress) -> None:
1321
1304
  pass
@@ -1745,7 +1728,6 @@ class Run:
1745
1728
  [our guides to logging](https://docs.wandb.com/guides/track/log).
1746
1729
 
1747
1730
  ### Basic usage
1748
- <!--yeadoc-test:init-and-log-basic-->
1749
1731
  ```python
1750
1732
  import wandb
1751
1733
 
@@ -1754,7 +1736,6 @@ class Run:
1754
1736
  ```
1755
1737
 
1756
1738
  ### Incremental logging
1757
- <!--yeadoc-test:init-and-log-incremental-->
1758
1739
  ```python
1759
1740
  import wandb
1760
1741
 
@@ -1765,7 +1746,6 @@ class Run:
1765
1746
  ```
1766
1747
 
1767
1748
  ### Histogram
1768
- <!--yeadoc-test:init-and-log-histogram-->
1769
1749
  ```python
1770
1750
  import numpy as np
1771
1751
  import wandb
@@ -1777,7 +1757,6 @@ class Run:
1777
1757
  ```
1778
1758
 
1779
1759
  ### Image from numpy
1780
- <!--yeadoc-test:init-and-log-image-numpy-->
1781
1760
  ```python
1782
1761
  import numpy as np
1783
1762
  import wandb
@@ -1792,7 +1771,6 @@ class Run:
1792
1771
  ```
1793
1772
 
1794
1773
  ### Image from PIL
1795
- <!--yeadoc-test:init-and-log-image-pillow-->
1796
1774
  ```python
1797
1775
  import numpy as np
1798
1776
  from PIL import Image as PILImage
@@ -1814,7 +1792,6 @@ class Run:
1814
1792
  ```
1815
1793
 
1816
1794
  ### Video from numpy
1817
- <!--yeadoc-test:init-and-log-video-numpy-->
1818
1795
  ```python
1819
1796
  import numpy as np
1820
1797
  import wandb
@@ -1831,7 +1808,6 @@ class Run:
1831
1808
  ```
1832
1809
 
1833
1810
  ### Matplotlib Plot
1834
- <!--yeadoc-test:init-and-log-matplotlib-->
1835
1811
  ```python
1836
1812
  from matplotlib import pyplot as plt
1837
1813
  import numpy as np
@@ -3482,9 +3458,13 @@ class Run:
3482
3458
  path: (str) path to downloaded model artifact file(s).
3483
3459
  """
3484
3460
  artifact = self.use_artifact(artifact_or_name=name)
3485
- assert (
3486
- "model" in str(artifact.type.lower())
3487
- ), "You can only use this method for 'model' artifacts. For an artifact to be a 'model' artifact, its type property must contain the substring 'model'."
3461
+ if "model" not in str(artifact.type.lower()):
3462
+ raise AssertionError(
3463
+ "You can only use this method for 'model' artifacts."
3464
+ " For an artifact to be a 'model' artifact, its type property"
3465
+ " must contain the substring 'model'."
3466
+ )
3467
+
3488
3468
  path = artifact.download()
3489
3469
 
3490
3470
  # If returned directory contains only one file, return path to that file
@@ -3566,18 +3546,25 @@ class Run:
3566
3546
  None
3567
3547
  """
3568
3548
  name_parts = registered_model_name.split("/")
3569
- assert (
3570
- len(name_parts) == 1
3571
- ), "Please provide only the name of the registered model. Do not append the entity or project name."
3549
+ if len(name_parts) != 1:
3550
+ raise AssertionError(
3551
+ "Please provide only the name of the registered model."
3552
+ " Do not append the entity or project name."
3553
+ )
3554
+
3572
3555
  project = "model-registry"
3573
3556
  target_path = self.entity + "/" + project + "/" + registered_model_name
3574
3557
 
3575
3558
  public_api = self._public_api()
3576
3559
  try:
3577
3560
  artifact = public_api._artifact(name=f"{name}:latest")
3578
- assert (
3579
- "model" in str(artifact.type.lower())
3580
- ), "You can only use this method for 'model' artifacts. For an artifact to be a 'model' artifact, its type property must contain the substring 'model'."
3561
+ if "model" not in str(artifact.type.lower()):
3562
+ raise AssertionError(
3563
+ "You can only use this method for 'model' artifacts."
3564
+ " For an artifact to be a 'model' artifact, its type"
3565
+ " property must contain the substring 'model'."
3566
+ )
3567
+
3581
3568
  artifact = self._log_artifact(
3582
3569
  artifact_or_path=path, name=name, type=artifact.type
3583
3570
  )
@@ -3847,14 +3834,14 @@ class Run:
3847
3834
  if not settings.quiet:
3848
3835
  # TODO: add verbosity levels and add this to higher levels
3849
3836
  printer.display(
3850
- f'{printer.emoji("star")} View project at {printer.link(project_url)}'
3837
+ f"{printer.emoji('star')} View project at {printer.link(project_url)}"
3851
3838
  )
3852
3839
  if sweep_url:
3853
3840
  printer.display(
3854
- f'{printer.emoji("broom")} View sweep at {printer.link(sweep_url)}'
3841
+ f"{printer.emoji('broom')} View sweep at {printer.link(sweep_url)}"
3855
3842
  )
3856
3843
  printer.display(
3857
- f'{printer.emoji("rocket")} View run at {printer.link(run_url)}',
3844
+ f"{printer.emoji('rocket')} View run at {printer.link(run_url)}",
3858
3845
  )
3859
3846
 
3860
3847
  if run_name and settings.anonymous in ["allow", "must"]:
@@ -465,7 +465,11 @@ class Settings(BaseModel, validate_assignment=True):
465
465
  @classmethod
466
466
  def validate_fork_from(cls, value, info) -> RunMoment | None:
467
467
  run_moment = cls._runmoment_preprocessor(value)
468
- if run_moment and info.data.get("run_id") == run_moment.run:
468
+ if (
469
+ run_moment
470
+ and info.data.get("run_id") is not None
471
+ and info.data.get("run_id") == run_moment.run
472
+ ):
469
473
  raise ValueError(
470
474
  "Provided `run_id` is the same as the run to `fork_from`. "
471
475
  "Please provide a different `run_id` or remove the `run_id` argument. "
@@ -548,7 +552,11 @@ class Settings(BaseModel, validate_assignment=True):
548
552
  @classmethod
549
553
  def validate_resume_from(cls, value, info) -> RunMoment | None:
550
554
  run_moment = cls._runmoment_preprocessor(value)
551
- if run_moment and info.data.get("run_id") != run_moment.run:
555
+ if (
556
+ run_moment
557
+ and info.data.get("run_id") is not None
558
+ and info.data.get("run_id") != run_moment.run
559
+ ):
552
560
  raise ValueError(
553
561
  "Both `run_id` and `resume_from` have been specified with different ids."
554
562
  )
@@ -1119,6 +1127,22 @@ class Settings(BaseModel, validate_assignment=True):
1119
1127
  raise TypeError(f"Unsupported type {type(v)} for setting {k}")
1120
1128
  continue
1121
1129
 
1130
+ # special case for RunMoment fields
1131
+ if k in ("fork_from", "resume_from"):
1132
+ run_moment = RunMoment(
1133
+ run=v.get("run"),
1134
+ value=v.get("value"),
1135
+ metric=v.get("metric"),
1136
+ )
1137
+ getattr(settings_proto, k).CopyFrom(
1138
+ wandb_settings_pb2.RunMoment(
1139
+ run=run_moment.run,
1140
+ value=run_moment.value,
1141
+ metric=run_moment.metric,
1142
+ )
1143
+ )
1144
+ continue
1145
+
1122
1146
  if isinstance(v, bool):
1123
1147
  getattr(settings_proto, k).CopyFrom(BoolValue(value=v))
1124
1148
  elif isinstance(v, int):
@@ -1136,14 +1160,6 @@ class Settings(BaseModel, validate_assignment=True):
1136
1160
  for key, value in v.items():
1137
1161
  # we only support dicts with string values for now
1138
1162
  mapping.value[key] = value
1139
- elif isinstance(v, RunMoment):
1140
- getattr(settings_proto, k).CopyFrom(
1141
- wandb_settings_pb2.RunMoment(
1142
- run=v.run,
1143
- value=v.value,
1144
- metric=v.metric,
1145
- )
1146
- )
1147
1163
  elif v is None:
1148
1164
  # None means that the setting value was not set.
1149
1165
  pass
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
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: wandb
3
- Version: 0.19.4rc1
3
+ Version: 0.19.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,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.5.dist-info/RECORD,,
3
+ wandb-0.19.5.dist-info/WHEEL,sha256=B_HTF0nESsbkeA2UeB8YgKrtPrxyKFORYURx7Qxu8Xw,101
4
+ wandb-0.19.5.dist-info/entry_points.txt,sha256=v4FCOZ9gW7Pc6KLsmgQqpCiKTrA1wh2XHmNf-NUP1-I,67
5
+ wandb-0.19.5.dist-info/METADATA,sha256=GCG79n74kMC1TZlw7wfyzDvMLql3AISvNHcoqB_uz0k,10282
6
+ wandb-0.19.5.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=0-nrebVmo3h9utfeaWNSnac4qR-XqC97SOTdxV9Xq8Y,46668
9
9
  wandb/_globals.py,sha256=CccwOAls5bxJArYHg12b08ZeKR8Qu9u57GtYWjBH0o0,702
10
10
  wandb/util.py,sha256=aYGSh8sOj5P0O6IMmp9lekBuUcwHX6fKdGB85Zt_uW0,62525
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=LLLP0QbizogXA4x4kVh71dXh-y8RoSI0xtYyGdfFjmQ,6988
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,7 +24,7 @@ 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/internal.py,sha256=Whl1x29iH_DdIu47vUVvDSyOavEVaovdmlqXmu4-yOw,7622
27
28
  wandb/apis/normalize.py,sha256=LAM71nDl6xD2gXrpLv5e1mJsJDJZ_0y89zH7ygVYt10,2396
28
29
  wandb/apis/__init__.py,sha256=uPZKqlX8Y9YcHoERJshWRGS3ukMOIVWi4sDnkO5_CYY,1338
29
30
  wandb/apis/paginator.py,sha256=18qGrzVzjamd-8AlrwvhUq11Bk31qCjxWWVcYzijGa8,2118
@@ -92,8 +93,8 @@ wandb/proto/v3/wandb_base_pb2.py,sha256=_nsr_HW4Fdz62-KiXGo6Dw0_9bwdXz07auZkkH2Q
92
93
  wandb/proto/v3/wandb_internal_pb2.py,sha256=04llmv8f_dNUGDyDMYSb8nrpWjemYP-WjlWv6j8rg2U,114564
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=zzHt0PYIpMBH8jxGWwBnPF2Cjj8GBQ6K96-seQZw9MQ,45665682
97
+ wandb/bin/gpu_stats,sha256=UedXJsV4QhtlWAE6456gwFAkuaMjMdLi_zUcbKrBsPY,9441440
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=9UCJsVUsLIrgPgjbekgCMRCh_LPGjU_TFeVtBTvWLL4,20240
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=dIKKdyozpuGNJdZrKRPGxuPoMJTC9ohR51HAs8IX8wg,59106
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=-AqUCkZdlKs7IDSWoFVeSSOBWsm3UDTweu7gA3E4--E,47756
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=zc4BO0AYx6xWTI-OX1rrZlxyRn9WxrvzWrTdtbhdYUo,90619
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
@@ -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
271
  wandb/sdk/data_types/saved_model.py,sha256=_N2AriHLqRC_ZhbjPL_1sYvJIU2Rb8Zrh1lPhcN0Ip0,16378
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
@@ -337,7 +338,7 @@ wandb/sdk/internal/sender.py,sha256=TPidmgTSE2gYlC4uh-32eNtI-XRgHEoYVVkC5F-saCQ,
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
@@ -402,15 +403,15 @@ wandb/sdk/lib/proto_util.py,sha256=JxDldi8j6dfF_Lx9zOwqYL6LQZhYYGgKt_AfZtYHAW0,2
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
405
  wandb/sdk/lib/run_moment.py,sha256=-_xWnktxlB21obnogPfGeaeIaf8mCS-MIZSMepBL3ZM,2193
405
- wandb/sdk/lib/mailbox.py,sha256=enEj8dFre9zoGhnHTWFBvrKYd4DTzzT6uy7ASYJMvTA,14228
406
+ wandb/sdk/lib/mailbox.py,sha256=x8mivob_tHtv4ALx6OeIv2DR4v1Oy_ZSvFkj2n3xoZE,13916
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=uQOBpfnEpsWa5HHU7Igvq5rPgC1rcwiy8AoKR5QDiGY,8628
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