wandb 0.19.4rc1__py3-none-win32.whl → 0.19.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
@@ -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,8 +1,9 @@
1
1
  package_readme.md,sha256=XGlaq8rMFcoBb21rCr2d5qeSM79ZI4WslLmXqRimTGQ,4395
2
- wandb/__init__.py,sha256=qsquw6I2HK2IwAEscWHFxbCGu11BpUBdCBG0U2CEhWg,7237
3
- wandb/__init__.pyi,sha256=6uU9MgzzsRUyMvNzJclDzgLOoV8k4a3A7rFl9XSh9l4,48232
2
+ wandb/__init__.py,sha256=w-nktn8aF9sNYWSpEa_Odl2f848DmlKQpTRliH5hDPA,7234
3
+ wandb/__init__.pyi,sha256=MMOgIgDXaIv8Q3kBmSImaeSaUprgw_LFfBDb_mIhUs4,47866
4
4
  wandb/__main__.py,sha256=uHY6OxHT6RtTH34zC8_UC1GsCTkndgbdsHXv-t7dOMI,67
5
5
  wandb/_globals.py,sha256=NwgYSB2tl2Z5t1Tn1xpLtfkcmPy_dF01u-xxgnCbzoc,721
6
+ wandb/_iterutils.py,sha256=6c5yuQq0DKgw1D__OVbXQzOfk53ETZTfj27r7azDMgA,1591
6
7
  wandb/data_types.py,sha256=4zXwzPgwHuMjyxzNbVQZANnHM0FoqEOn1jlLvnkdPAc,2342
7
8
  wandb/env.py,sha256=21A6cvix9XfFShOuEmc4mffaUpd6y1hk58AKYulS_e4,14018
8
9
  wandb/jupyter.py,sha256=LG4Z-LCx-3v4eiftr8aSUGgByzLrkyhdRvNwfxPSc5A,17787
@@ -19,7 +20,7 @@ wandb/analytics/__init__.py,sha256=ntvkloUY6ZO8irNqA4xi06Q8IC_6pu1VB2_1EKORczc,5
19
20
  wandb/analytics/sentry.py,sha256=R1KHNO0hG6Al76edXHv7oBCgcT4wxVdLbjysX2Yfoqk,8674
20
21
  wandb/apis/__init__.py,sha256=DNAnd_UEdahhjkTjWPlJoYNxJX026W3K0qGqkbpgYno,1386
21
22
  wandb/apis/attrs.py,sha256=Ao5h3bycrUFbswNl6kVOEQLHZsImYP1aHIl4QaEVc8o,1496
22
- wandb/apis/internal.py,sha256=Pl69givRVnUjkAExN7LddKWMv2kmhZ96Ctbf1yKOuZc,7693
23
+ wandb/apis/internal.py,sha256=9WOwabh2zA75oiV-SGlx4AcikqiraAs8QRq8ZvmQu1Y,7858
23
24
  wandb/apis/normalize.py,sha256=TkLlsbRCr8hCMfMQq3x8N45XO3KDAxllsNDkiMInGUc,2469
24
25
  wandb/apis/paginator.py,sha256=h4I_W9EjjOBiOQS7bsxHJinZwSJ-Ha-HkFKt02MtU4s,2199
25
26
  wandb/apis/importers/__init__.py,sha256=GQCWmQEjSZ9eCUjlth3v9tQcjOJyjyEY7gC3BPN7Y88,39
@@ -49,11 +50,11 @@ wandb/apis/reports/v1/__init__.py,sha256=nxs3gJlbvVc0b_pV5DUypk1amMkRSq_M-xUw7qP
49
50
  wandb/apis/reports/v2/__init__.py,sha256=vlF0ZRVHS-Qd7mBllcZri-gWE0TtjhiDSA6h5XPRVLU,271
50
51
  wandb/apis/workspaces/__init__.py,sha256=XsF4ccNRUCTmI9ANjlrj_dYU1OcOi5N354Wg2Qkkaqo,273
51
52
  wandb/beta/workflows.py,sha256=ENy_lmIyn3k_FHdD2ZO8HBaXdeoLrsPVbEfL_KYW8Ps,10527
52
- wandb/bin/gpu_stats.exe,sha256=yDniRlUXftdUm854QGLm1CGM_5adC_2I9RInybhtPig,8364032
53
- wandb/bin/wandb-core,sha256=Bb1SzRUIyqGh-ABczCxV11XBcJljwNE9IcvHOC1MYNY,47138304
53
+ wandb/bin/gpu_stats.exe,sha256=hYJUMntVBd06fvCpc5PVamJvDhaPU8sCfXwBdI6ZmO0,8364032
54
+ wandb/bin/wandb-core,sha256=54k6c-ldrPNSuYsG8IPtBS6Z95oQbtc3fKFvK5bOeSI,47183872
54
55
  wandb/cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
55
56
  wandb/cli/beta.py,sha256=_wbqhk6J2yjnNuVQAGlYbYZ9-j0sFE73zMIXVkQYlXA,5619
56
- wandb/cli/cli.py,sha256=a3aXT1tAMH5v0_BW1r4Bo6AT2YZ7e1hTz6K4ZnEcz9k,95536
57
+ wandb/cli/cli.py,sha256=hn25_rlefSmZeQVw5OUibwIj9eeFXhHn61bJPBHv4RY,95594
57
58
  wandb/docker/__init__.py,sha256=-7Xn11uNyPYB1FTYFVF9HtEzhXGHZLUpmuyK4fuYhUs,10937
58
59
  wandb/docker/auth.py,sha256=tynuijSUb1zRWVpSmNl8MpqaMsvLcVuqgB9_ljFqmgk,15444
59
60
  wandb/docker/wandb-entrypoint.sh,sha256=ksJ_wObRwZxZtdu1Ahc1X8VNB1U68a3nleioDDBO-jU,1021
@@ -204,22 +205,22 @@ wandb/sdk/__init__.py,sha256=6lzqckLZUs7GpFZIwpgxGJwJDvhuyo-XCQnSrtZqE1c,850
204
205
  wandb/sdk/wandb_alerts.py,sha256=f6ygzuXTDT0IvMLcKlgatmXKx5HMPsm8sYwvPocl0Js,205
205
206
  wandb/sdk/wandb_config.py,sha256=TxH6SD8DCfFU3yhmy03yewXQ4Gvgn3avZ0qbwpZJKt8,11178
206
207
  wandb/sdk/wandb_helper.py,sha256=kc5Ib648to7cEGEwAuJus07rsHudL1Ux7FWPPSRnKy8,1878
207
- wandb/sdk/wandb_init.py,sha256=9j2pDYPBKYdBlI9k8S6yUXe70FnyG60gIcoml3tuGfo,59904
208
- wandb/sdk/wandb_login.py,sha256=OupHHFIAg-EwP-3jp67rR_dlcFoVd8Qu_J1gtC26p18,11305
209
- wandb/sdk/wandb_metadata.py,sha256=kcF7MhTM4Cnlw8d5rSp-WzKNDfy2NtUhd8FFuB2i3pY,20658
208
+ wandb/sdk/wandb_init.py,sha256=Tgif11w3IvJqfWo7Q8qstwCYtG6hCMNQW3Cx3QM-_Cs,60582
209
+ wandb/sdk/wandb_login.py,sha256=9w25lkf-3nwMhYQG3n0GXIinPEVapvUxkP15F_es98E,11178
210
+ wandb/sdk/wandb_metadata.py,sha256=q1ocltz4Qmxed_RKi9tFO8l3KDeyn4y2bo2m_Qm8fSQ,20813
210
211
  wandb/sdk/wandb_metric.py,sha256=oI6NQJJ_tyZ3YcnO0Xg5avDVr3Dh6tpTvHuPEMda30A,3378
211
212
  wandb/sdk/wandb_require.py,sha256=06Mgqdd5r5u4UUpIU3T2JIAn0elkFfaWRtNwyaLu8jc,3044
212
213
  wandb/sdk/wandb_require_helpers.py,sha256=4PUXmVw86_XaKj3rn20s5DAjBMO8L0m26KqnTLaQJNc,1375
213
- wandb/sdk/wandb_run.py,sha256=GhunOgu-T35PJt8VTLYPv9JFResUPq8m-4q14z-6LOc,159343
214
- wandb/sdk/wandb_settings.py,sha256=vSRyZPLORsM7Gca-pgQEUNNyo5uNXbm07wkbiNZHGoU,48543
215
- wandb/sdk/wandb_setup.py,sha256=44YSZ2o_uFGN9cRQOcbwq25EFI5VC8EJOyOLOXGxubs,13417
214
+ wandb/sdk/wandb_run.py,sha256=JtHE_7QpzuLWDllDJZTWeEDjnp7ZGdbvHiKtKLakRJ8,158462
215
+ wandb/sdk/wandb_settings.py,sha256=Tc1JdiUjRSDcsO36rPfwAFhK_DTWUx7q5w2-vA6PgXA,49025
216
+ wandb/sdk/wandb_setup.py,sha256=cJp4frdf3lPeT_qQZ5xRmEJjZ12AC3IQKiKQ2kPI_5A,12960
216
217
  wandb/sdk/wandb_summary.py,sha256=eEV3hvHhbc1XQus0MUqFmvhXCzd3SPjvVVVg_fVZ1QM,4686
217
218
  wandb/sdk/wandb_sweep.py,sha256=FhjfRmWS_Ffn7CwT9kjVAnvTJFnaB50mUwaGOLb2WrU,4147
218
219
  wandb/sdk/wandb_sync.py,sha256=hKMiCHLziirg0xRc5sIKt0wpUpZ1VO6fc8wNl2EzExk,2354
219
220
  wandb/sdk/wandb_watch.py,sha256=o3-DqwYJomujs25ZV9cur0UMDod-atsZd4PpDjDiWfU,4990
220
221
  wandb/sdk/artifacts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
221
222
  wandb/sdk/artifacts/_validators.py,sha256=nZ5mduNca9kELncaNIKHykJVpPpDaU8Ca0kFK4ftwRc,4292
222
- wandb/sdk/artifacts/artifact.py,sha256=Vy7-XceObilxkfNKHVpK0hsfVgGJIzPW9rIRFec9jPE,90316
223
+ wandb/sdk/artifacts/artifact.py,sha256=qExzP6u_rGYOusj0S9iVGXfwukYrLHUveyivCz0LfDo,93063
223
224
  wandb/sdk/artifacts/artifact_download_logger.py,sha256=ENR9uoGFakQzorsVHpHLdzuVElvI7L-RgPONHT1FJw4,1544
224
225
  wandb/sdk/artifacts/artifact_file_cache.py,sha256=SedT6WuFz04JHfLnDujl-kkyRehttOQnGLybN_hz-9Y,9993
225
226
  wandb/sdk/artifacts/artifact_instance_cache.py,sha256=Y86c2ph4Fz1p5mfTpWMEPh1VhRzi-OyLGswa-NQDuUw,518
@@ -249,7 +250,7 @@ wandb/sdk/artifacts/storage_policies/__init__.py,sha256=G8quZY8-eynVVXmNBbiLGfUo
249
250
  wandb/sdk/artifacts/storage_policies/register.py,sha256=azfof-H42vIuvndo9hvN4cZ3UXWG-nZcrFQ1QFL9oIc,50
250
251
  wandb/sdk/artifacts/storage_policies/wandb_storage_policy.py,sha256=4nQNkDfG_2Uq4ANOYZIaQVcPsZsUmhs6c2MdQBOqMSI,14380
251
252
  wandb/sdk/backend/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
252
- wandb/sdk/backend/backend.py,sha256=1o4zCs8suzQsAzBhd-hWp0zTH8lzZ7hqZ-JT8Own1H0,7834
253
+ wandb/sdk/backend/backend.py,sha256=7xJvW0ZpIQkI1TkeO-K9b5kHIypQMjp8WNpS_8Nu0wM,7709
253
254
  wandb/sdk/data_types/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
254
255
  wandb/sdk/data_types/_dtypes.py,sha256=JYi0cqF2Lska0JF_gndyz-FfcS09Ozu735WIarU8HKo,31010
255
256
  wandb/sdk/data_types/_private.py,sha256=vpatnpMcuWUtpSI-dY-YXs9zmffAgEXCoViIGS4yVT8,309
@@ -258,33 +259,33 @@ wandb/sdk/data_types/bokeh.py,sha256=rbOgTQn_JUWkChT9Fs9CB8OplVBTNks73Z_5nU1hqsg
258
259
  wandb/sdk/data_types/graph.py,sha256=eHCo-Svlzvihf_nri_50rcD-NohqHuE80PR-otiueYQ,12494
259
260
  wandb/sdk/data_types/histogram.py,sha256=Icb6ox2dXP_OjaXjU6rZzkk8AfRQevQE9BHdQiedELo,3239
260
261
  wandb/sdk/data_types/html.py,sha256=slGKLHF9mbY0Ydx_9hapWNEJCKFnOkOzGvrp-kbZi9k,3619
261
- wandb/sdk/data_types/image.py,sha256=dsiOnXbgQGeClhr5RCT5DV3R6qatxTEUpk81xaFTiBw,32217
262
+ wandb/sdk/data_types/image.py,sha256=QAoMcEUIOklwhBZtdzBhrRfoTp-YO1W_uDCBYVeKed8,32083
262
263
  wandb/sdk/data_types/molecule.py,sha256=KtG2aj4z8p3xQfv-9u-0KBeGuvxb2wavlf0GWiNiTQk,8824
263
264
  wandb/sdk/data_types/object_3d.py,sha256=LvANAijnaQxvZHPurtQUfT3eN5GVkz0SrMoznRT9fPw,16418
264
265
  wandb/sdk/data_types/plotly.py,sha256=UNYwRUUCODSyGvD3WEiF0p6jEseNfYiGnm8mD_tOoiI,2995
265
266
  wandb/sdk/data_types/saved_model.py,sha256=fDRtn-j_Npb2xaJpR2eZzUnQ1czMQWwlwnGMgJ5OQsY,16823
266
267
  wandb/sdk/data_types/table.py,sha256=K4wnoI7ZPpQaLSl_7rBeoj1AnRzN-hZaltKZXQ9GpJ0,45887
267
268
  wandb/sdk/data_types/trace_tree.py,sha256=4pT5Gpn-ePe-_nRZk5mDnDb36qB5c5e6Vrz_EgHEPaA,15138
268
- wandb/sdk/data_types/utils.py,sha256=sD4N0yUMAX16FWahqXkEunSPj0Deqpm0TCiYII38FZg,8121
269
+ wandb/sdk/data_types/utils.py,sha256=m_OxURMP-eho92fzLU3s4UJYoxheBMDhflZzqG_8_eI,7857
269
270
  wandb/sdk/data_types/video.py,sha256=aElfmBP8JQcjf9DBsYMtg80qZHOrq3yLvlgI5QeYl_I,9983
270
271
  wandb/sdk/data_types/base_types/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
271
272
  wandb/sdk/data_types/base_types/json_metadata.py,sha256=idI3dNB1e348AefsQC1GNpVqYl2raWzJmDfl2ITL-_w,1608
272
273
  wandb/sdk/data_types/base_types/media.py,sha256=i-4KALCfpvc7cXiYZ4Ih_0gTnqqIOlWVtN7gFRdqt28,14660
273
- wandb/sdk/data_types/base_types/wb_value.py,sha256=hEEH_v5PEtrdapqZtxaIqnLNCAAfuTs9I5EUozRbilk,11676
274
+ wandb/sdk/data_types/base_types/wb_value.py,sha256=123pPwVfYLGSUIcqg1bOwArUOfK_KDt-4KdikYHdfNk,11742
274
275
  wandb/sdk/data_types/helper_types/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
275
- wandb/sdk/data_types/helper_types/bounding_boxes_2d.py,sha256=xCr-xLIX3k7EEWs31NPOc4H5e7mb94TxafrczwYhOXY,13405
276
+ wandb/sdk/data_types/helper_types/bounding_boxes_2d.py,sha256=w0avfbGk-YUYrDMGlnqgX4blH2QkbrkgDfe_sNuUzVk,13315
276
277
  wandb/sdk/data_types/helper_types/classes.py,sha256=A59I1s4u7fdS68UoVQJgYqr1PTQdFpfqJA8lsKOmTNI,5679
277
- wandb/sdk/data_types/helper_types/image_mask.py,sha256=k1LK_W33z6AtCTX1E9oUwR70aP4HWLztD1qtHyerfJA,8930
278
+ wandb/sdk/data_types/helper_types/image_mask.py,sha256=HF2vvi6BJc3wsJOEpNbPsYAMVsymbDcvtIbE2ItRztc,8842
278
279
  wandb/sdk/integration_utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
279
280
  wandb/sdk/integration_utils/auto_logging.py,sha256=143120qDwFrh7qsojhMvT4CddgHesODOMCbkE9aclhI,8465
280
281
  wandb/sdk/integration_utils/data_logging.py,sha256=DtSEZB-TzxQKhjm9IXNxDeOAUZyDXGYrfRvVh2Cju54,20008
281
282
  wandb/sdk/interface/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
282
283
  wandb/sdk/interface/constants.py,sha256=GKZ2hATTBCt7yU8kloafZR34yLChiI36O_VtxZZbQyg,64
283
- wandb/sdk/interface/interface.py,sha256=A-WwyV6qfBYa1v5ik3fGMgKk8Re95NniuCngMqksNAE,37443
284
+ wandb/sdk/interface/interface.py,sha256=PW31FI6U735n55mLKHm0WAJ1EgUqQv56nSEvwEguyPo,37594
284
285
  wandb/sdk/interface/interface_queue.py,sha256=RG_FfjVt3arcNSRFXCiwjkleUkpUYJZfUdp5oV-68Is,1753
285
286
  wandb/sdk/interface/interface_relay.py,sha256=R28bIhebZux7PwFeJmO8wOOkm_uCjmQ2T5lKKy3sL-Y,1567
286
287
  wandb/sdk/interface/interface_shared.py,sha256=f3UH-u_5bI2t_J8EJw1JN8RuTQadLtg8rQafpZlWhq0,21838
287
- wandb/sdk/interface/interface_sock.py,sha256=Tle-Pu5Z1ECQnm47ra1DQ0mdxkqMmJ2atknvTlmqfnE,2063
288
+ wandb/sdk/interface/interface_sock.py,sha256=IQCznD4EH5tcGWPg0XUvFa67-N8AzUiqf6TEoXmQxfc,1859
288
289
  wandb/sdk/interface/message_future.py,sha256=SlMF8psfA1AW3iVuB_PVLo41bC4U-AAvek1Zlh31mdE,712
289
290
  wandb/sdk/interface/message_future_poll.py,sha256=8a7GcNtCyohHUnxoJ5sx6RRQa2Vu_hjiBqeQ-UQ0RTc,1460
290
291
  wandb/sdk/interface/router.py,sha256=ur0vqGqzUi-nafh-4KVHOk71DaqiHJnIWFUQjttQ724,3534
@@ -300,7 +301,7 @@ wandb/sdk/internal/file_stream.py,sha256=NE6KzWQMYoXBsUf6CMhC1FvmlZVZQ2b2ZGknNnk
300
301
  wandb/sdk/internal/flow_control.py,sha256=QjrV_SOwgay5VYA9SqwYKkeKWjHmqF41TNHNHq75G2g,8848
301
302
  wandb/sdk/internal/handler.py,sha256=9WXmFHUwBTsTczRk0ZM3mMBgkyhOtcMm-FSfa05fhm4,35106
302
303
  wandb/sdk/internal/internal.py,sha256=ueWF4YEqERzBBd_7Qvqq6FGfHXG5CdzJSzCGeYvQhro,12585
303
- wandb/sdk/internal/internal_api.py,sha256=QWKoemf2zgPA_hSO9iJF0NVoQV6ANicEbbZZyZpNY7o,163892
304
+ wandb/sdk/internal/internal_api.py,sha256=iQ0dvGCrY1bGdOHKYgxZVLkJ_Dm8Gv4QYqKh4Ma5W6M,164235
304
305
  wandb/sdk/internal/internal_util.py,sha256=715OQr0OiKGoSDQeHTFNgLvjh2cB06KwzY24n10mOcU,2652
305
306
  wandb/sdk/internal/job_builder.py,sha256=7h3yQcyJiJNdFkxPkl4GWgyWGLTjDlj3kO-WbFD2ffs,23600
306
307
  wandb/sdk/internal/profiler.py,sha256=QM5R8-0oWE7WhllhpPEAEwCyB6Uk62HATz8e2F5qIUk,2426
@@ -320,7 +321,7 @@ wandb/sdk/internal/system/system_monitor.py,sha256=0wQEoiBnhYte2RNMnKzvVfbcHZLGH
320
321
  wandb/sdk/internal/system/assets/__init__.py,sha256=Zvl6P8sY7R9HaVl8ZUbPaZccFFy08wFN_ashMCVVZG0,499
321
322
  wandb/sdk/internal/system/assets/aggregators.py,sha256=I5RTmTc73Af6gFbJwQC86JVBsoJh6l6T0AHqi35BsGY,1130
322
323
  wandb/sdk/internal/system/assets/asset_registry.py,sha256=08uPqgNQDyLTiKrW73Q6hQmd0a9YQ79mZRzkvdXRynY,498
323
- wandb/sdk/internal/system/assets/cpu.py,sha256=XyoiL2Cnd-DBhMtp6_umBhjl57Bo2r7taCRCYGLkmf4,4739
324
+ wandb/sdk/internal/system/assets/cpu.py,sha256=Bbd2km3CwhBB5iFeHCsb1ou9AL3EHhS0KYBVsAG-wx8,4741
324
325
  wandb/sdk/internal/system/assets/disk.py,sha256=nfZ_SLdOqreeyEH9PZGBFlMzENKlikYnh9cvdJDZEN8,6472
325
326
  wandb/sdk/internal/system/assets/gpu.py,sha256=hoX99nIZsVOqOcpGvozOK2M1YrgDj6kf9Bbo-TpcEwo,14138
326
327
  wandb/sdk/internal/system/assets/gpu_amd.py,sha256=496mY593uKIcbTFHS48f3TL_dXl4c0pxk0lpfYMGeto,7588
@@ -383,7 +384,7 @@ wandb/sdk/launch/sweeps/scheduler.py,sha256=f_HuxouNMI7eFZDO1Muocd3LZHiiiQ6S5-N3
383
384
  wandb/sdk/launch/sweeps/scheduler_sweep.py,sha256=0iZPUWcChhtXC2IQWxUVAAlE6eT2ogoNsTeIinmSCxw,3077
384
385
  wandb/sdk/launch/sweeps/utils.py,sha256=MJCKDZY7SQ2Wrv1EWUCFo1YflMkuJAYIZFAswP0VCDw,10153
385
386
  wandb/sdk/lib/__init__.py,sha256=_sOt85qPxtPyM_LaN0IE6dO1CImzwXJXzVHC7R24VBE,188
386
- wandb/sdk/lib/apikey.py,sha256=bxyMG2_Y_y57YYOL8hCBpzi0SBPwPKJHtDtKJmFbTyg,9372
387
+ wandb/sdk/lib/apikey.py,sha256=jXUuNEt9Hufk2iJTmsDA4SvM8zwGrHg8TG9MqGAtoeY,8883
387
388
  wandb/sdk/lib/capped_dict.py,sha256=HuFhPHl0e_pK6ETDxYh5RIPO-46I3EjXgzFdqbJTXDs,846
388
389
  wandb/sdk/lib/config_util.py,sha256=KaSu8CSO1XFHJRBwo-OW0r802isltB3cFO3U1LeM-ec,3018
389
390
  wandb/sdk/lib/credentials.py,sha256=DkYAb00zXMKdmJX-oUjKThh_TutoNFDcDFQilTrXOD8,4878
@@ -403,7 +404,7 @@ wandb/sdk/lib/interrupt.py,sha256=_m7yu7q-qJD_MmqNb5BiYapP5h6LFnKRWxCJWePBz9U,13
403
404
  wandb/sdk/lib/ipython.py,sha256=TTdmGbWNX0YkBHgTOcijyiB7eRhBNQpI7AgU3LvGegA,3908
404
405
  wandb/sdk/lib/json_util.py,sha256=a3TtH5QIrVNeORPpblGvZvaF5VDItkD5luN_iwDpohQ,2664
405
406
  wandb/sdk/lib/lazyloader.py,sha256=MoMgx_tBjA__yFKcYzhimWiug_TSQeRUr71sPNUkTsk,1954
406
- wandb/sdk/lib/mailbox.py,sha256=O8PrCUJXzJRcGq875CF7xS6fIXIMWdxb6GxySSzYQC8,14684
407
+ wandb/sdk/lib/mailbox.py,sha256=BbAA_YG-VoB0MnE9b_gN7dnkjWBFhiXaEvp4oO0Fc1U,14362
407
408
  wandb/sdk/lib/module.py,sha256=EB0yg1HMApnuCEfQboQXj9a0YUozWwiLXa7u23nC6Js,2176
408
409
  wandb/sdk/lib/paths.py,sha256=Knkww9wdMK4wqsj5B9aMEJDvIFoCf80xXl28It3FIG4,4635
409
410
  wandb/sdk/lib/preinit.py,sha256=IDK_WXbcrfzXUNWZur505lHIY_cYs1IEWp26HMpIf74,1492
@@ -414,8 +415,8 @@ wandb/sdk/lib/redirect.py,sha256=zMu3jBTLkH5_VMDqPxcRTchTMzUYuGakv5D0xvPdjGI,269
414
415
  wandb/sdk/lib/retry.py,sha256=2h1AB9xzNth93ADYJ2g1zlUcmjcEd-bp6UoZAvs5_Yg,10381
415
416
  wandb/sdk/lib/run_moment.py,sha256=Bb45CL_loDGwoGkg550lFomDOKJog9CVpaZhqdmNgcc,2265
416
417
  wandb/sdk/lib/runid.py,sha256=rHYRTjJu8gTZ6Aoo0WZ5jQfAtNLXQo6aY6PD-i3Fh6I,404
417
- wandb/sdk/lib/server.py,sha256=ArqpZ-N7EWqNhkXE9E3IDe4N40oJBNwGXhHpI5yGcTs,1148
418
- wandb/sdk/lib/service_connection.py,sha256=NlyOKENZz6m4sSue76NjzYuuMcW0CHzh4BGyamICYvs,6683
418
+ wandb/sdk/lib/server.py,sha256=f8idM8TiJKS1nYTjijhVkzOTp8e2flNpLUWcZ2K08f0,1681
419
+ wandb/sdk/lib/service_connection.py,sha256=BKEgLzFczBcrt0igWS7rf7StE4LcbREZPMuOAJsT7po,6720
419
420
  wandb/sdk/lib/service_token.py,sha256=GC8onzk44uphA5l5hHs8RZmQ7Auo7-Dx-KhCWOFYH9g,2565
420
421
  wandb/sdk/lib/sock_client.py,sha256=K0gIbhFkW7qkPuPDx-AG4cd08HnDCz9Bp_M99zI34BA,10641
421
422
  wandb/sdk/lib/sparkline.py,sha256=CivfHHGPrbnnacpfjsoYUrCtX6Xz7AHoybEeOuWeEI0,1407
@@ -817,8 +818,8 @@ wandb/vendor/watchdog_0_9_0/wandb_watchdog/utils/importlib2.py,sha256=kX0rdVmTDL
817
818
  wandb/vendor/watchdog_0_9_0/wandb_watchdog/utils/platform.py,sha256=7fpTDfxSYvSRtHvyog-plRdLR5A6k1QVY_AL0gVhhPM,1563
818
819
  wandb/vendor/watchdog_0_9_0/wandb_watchdog/utils/unicode_paths.py,sha256=xzyQmuba2gns1s3Qemu9SXaKV5zeTL3TP9--xOi541g,2254
819
820
  wandb/vendor/watchdog_0_9_0/wandb_watchdog/utils/win32stat.py,sha256=R48kuuEIi7XzCJBJ6Xo7v6DJIbOP5EwcsWaPf5Axn_g,3951
820
- wandb-0.19.4rc1.dist-info/METADATA,sha256=65fpP8edcTSem5od14zJT5b6hP6kjhd5gId96p23QXk,10285
821
- wandb-0.19.4rc1.dist-info/WHEEL,sha256=F7luzo77gHneG2SMTaD6iIlqNT8oVz1uotn5Zigp4o8,89
822
- wandb-0.19.4rc1.dist-info/entry_points.txt,sha256=v4FCOZ9gW7Pc6KLsmgQqpCiKTrA1wh2XHmNf-NUP1-I,67
823
- wandb-0.19.4rc1.dist-info/licenses/LICENSE,sha256=rJ7p1acqNi17WFOAJ9WqsImXZtKZDA3i_gzdDVGRuFQ,1102
824
- wandb-0.19.4rc1.dist-info/RECORD,,
821
+ wandb-0.19.5.dist-info/METADATA,sha256=GCG79n74kMC1TZlw7wfyzDvMLql3AISvNHcoqB_uz0k,10282
822
+ wandb-0.19.5.dist-info/WHEEL,sha256=F7luzo77gHneG2SMTaD6iIlqNT8oVz1uotn5Zigp4o8,89
823
+ wandb-0.19.5.dist-info/entry_points.txt,sha256=v4FCOZ9gW7Pc6KLsmgQqpCiKTrA1wh2XHmNf-NUP1-I,67
824
+ wandb-0.19.5.dist-info/licenses/LICENSE,sha256=rJ7p1acqNi17WFOAJ9WqsImXZtKZDA3i_gzdDVGRuFQ,1102
825
+ wandb-0.19.5.dist-info/RECORD,,