wandb 0.19.4rc1__py3-none-any.whl → 0.19.5__py3-none-any.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.4
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=U9047nyMDICgctm1HLm4HfXwFnFKsEn2m77hsYPUZ1I,4298
2
- wandb/__init__.py,sha256=amlCK5n_1hyN1-MkgQ3CWpMhvrRq-X8B9Q4iZemjWzY,6991
3
- wandb/__init__.pyi,sha256=nZ_mrCwelWNIQBbhGrJ1cKX8z_IfihKjoMc3ByY0loM,47027
2
+ wandb/__init__.py,sha256=LLLP0QbizogXA4x4kVh71dXh-y8RoSI0xtYyGdfFjmQ,6988
3
+ wandb/__init__.pyi,sha256=0-nrebVmo3h9utfeaWNSnac4qR-XqC97SOTdxV9Xq8Y,46668
4
4
  wandb/__main__.py,sha256=gripuDgB7J8wMMeJt4CIBRjn1BMSFr5zvsrt585Pnj4,64
5
5
  wandb/_globals.py,sha256=CccwOAls5bxJArYHg12b08ZeKR8Qu9u57GtYWjBH0o0,702
6
+ wandb/_iterutils.py,sha256=bOhOrOENEDzOMtyQqHysivzHri9axcVlCfXt4Ai1ot8,1545
6
7
  wandb/data_types.py,sha256=tjxcQ8padGuGxST192PyEDX_nhU__izHcAK-kaSyevI,2276
7
8
  wandb/env.py,sha256=ImVRezUi1wpXf2ogJ4IY9YNaELqon3k3S6-vCMNNzwQ,13505
8
9
  wandb/jupyter.py,sha256=ip6ukYdoFzvPiHO-IUNnbMMxRnYl3ebEoC0X143_VEw,17274
@@ -19,7 +20,7 @@ wandb/analytics/__init__.py,sha256=WG_Mh20Hr8d3vDmGMcfDXCMEIew3uzDYZAJwFsrbAug,5
19
20
  wandb/analytics/sentry.py,sha256=-Fn7698AuFI68uaqxRGlGXnv-J6fnYxJOrSE_vv-nDQ,8411
20
21
  wandb/apis/__init__.py,sha256=uPZKqlX8Y9YcHoERJshWRGS3ukMOIVWi4sDnkO5_CYY,1338
21
22
  wandb/apis/attrs.py,sha256=MRle0pRB8QGV31MRjVfqE7l8XJOA04FFKCtOOuDt0xE,1445
22
- wandb/apis/internal.py,sha256=fL4sPpXqupAml1s_x_fQXzWallbxgNHIUKrTYwzWXVg,7461
23
+ wandb/apis/internal.py,sha256=Whl1x29iH_DdIu47vUVvDSyOavEVaovdmlqXmu4-yOw,7622
23
24
  wandb/apis/normalize.py,sha256=LAM71nDl6xD2gXrpLv5e1mJsJDJZ_0y89zH7ygVYt10,2396
24
25
  wandb/apis/paginator.py,sha256=18qGrzVzjamd-8AlrwvhUq11Bk31qCjxWWVcYzijGa8,2118
25
26
  wandb/apis/importers/__init__.py,sha256=ewph-RBUC9FnxL6uWbuuW0Hmdv2cHsxfqnZi0546ds4,38
@@ -49,10 +50,10 @@ wandb/apis/reports/v1/__init__.py,sha256=L5l1BqMaap-w5wXCzn8pC8RXB7_72MsjTx8HeLu
49
50
  wandb/apis/reports/v2/__init__.py,sha256=jdLiTqf5QIRxnWH8drWV9Y06bZEhI5N6uGGSKAT7tv0,263
50
51
  wandb/apis/workspaces/__init__.py,sha256=buvqtqELpCFWC7sHzEuslJgx24ZWDj-5lo2mdV6aHdg,265
51
52
  wandb/beta/workflows.py,sha256=bk12HDWnxI4uuP0KyUbfclrTSoRVXrJibAuO_QBB5tI,10239
52
- wandb/bin/gpu_stats,sha256=UoDlCDMWg-7wj2egpk1UberOg7-mDcl8CTpERla_hGw,10856328
53
+ wandb/bin/gpu_stats,sha256=B8uFpywmVHiSHtEmChedwByoH9moR8UP1HmH3foYf2A,11038960
53
54
  wandb/cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
54
55
  wandb/cli/beta.py,sha256=Um35Q9CeoQPS80g0wryo2WtSaD7VA0XqF_YCQNDNiSY,5438
55
- wandb/cli/cli.py,sha256=9UKKfjKwI_oRWK13UqQA3Ep1qH3HDCBXmKlOwcK0k_U,92726
56
+ wandb/cli/cli.py,sha256=LOeIp_FQ9PgknW2bquEEI7nnlJEKv2GP2ggloxGNlwA,92777
56
57
  wandb/docker/__init__.py,sha256=zaXUYlTQLBJo8YlxbL3kh0NBHqtXFHNg4-_TNV_WDBs,10594
57
58
  wandb/docker/auth.py,sha256=Tr-BMoiMJjX8TsdUquVBBLyfxEJWR4WQZGyz6vBaJk0,15009
58
59
  wandb/docker/wandb-entrypoint.sh,sha256=P4eTMG7wYsgTfJIws_HT7QFlYBI70ZLnNlDGTZdmYVE,989
@@ -203,22 +204,22 @@ wandb/sdk/__init__.py,sha256=N-GTAC0AzbZF2J8RzB33DTmYk9u-jubllCwvhWrPgsE,813
203
204
  wandb/sdk/wandb_alerts.py,sha256=SwBPBiXRxknMTMGbsVoMMWqWK65UWMcKAdTWZtdwAeo,193
204
205
  wandb/sdk/wandb_config.py,sha256=b7kxQVnIh5HCBZXb2pOGZ4c02xCVlW4IQiAu3N-8Opg,10856
205
206
  wandb/sdk/wandb_helper.py,sha256=IbJ7opO8UkfwCDekSjRYIrGBblUxnTPBfp1EdesfF4U,1824
206
- wandb/sdk/wandb_init.py,sha256=XqlUH5OpIdyatgTKHMIsDM3xUSwVbgl_zFzezB8xOg8,58443
207
- wandb/sdk/wandb_login.py,sha256=DP7nDUGx2UmqGRBrvTmcpvzRBVeRD0qEENtmu4sjDAQ,10966
208
- wandb/sdk/wandb_metadata.py,sha256=nT6TUF4Yh-ka3VQGyKd3y9MTEHJUgRVT4ICyfJkbHFo,20111
207
+ wandb/sdk/wandb_init.py,sha256=dIKKdyozpuGNJdZrKRPGxuPoMJTC9ohR51HAs8IX8wg,59106
208
+ wandb/sdk/wandb_login.py,sha256=qYDpk2e8DVFecZfEV-KaRVqSLeuVGHnHBp5413nqT_M,10863
209
+ wandb/sdk/wandb_metadata.py,sha256=9UCJsVUsLIrgPgjbekgCMRCh_LPGjU_TFeVtBTvWLL4,20240
209
210
  wandb/sdk/wandb_metric.py,sha256=a3GiQXr6H18m81uobYjlJaC8CL8iANzI42qxkxfZsDs,3268
210
211
  wandb/sdk/wandb_require.py,sha256=Y0ib8h27__t7hXos1F2srfsQzVfzH4BB6wq8E1aRbRA,2950
211
212
  wandb/sdk/wandb_require_helpers.py,sha256=ZmKv5aXXHDTTU6nYHMLKW4_pt9X-PlaMtbRJl77kHX8,1331
212
- wandb/sdk/wandb_run.py,sha256=Jk-KLMtrjX698iUCT2gjivutfR01ud9DjnuSiuVYop8,155193
213
- wandb/sdk/wandb_settings.py,sha256=gXZydMDYH8OLcAoK78mA4naRqBA2aKlsIGKn3i4OC0s,47290
214
- wandb/sdk/wandb_setup.py,sha256=7j3UBiqm8x7f4JsFPX5jR19wNRSRvf77TIyncd0HpJg,13014
213
+ wandb/sdk/wandb_run.py,sha256=m3zHyYUDcDBr5wGGei74GCPV85ZvFKPtiNRhfgsDMTo,154325
214
+ wandb/sdk/wandb_settings.py,sha256=-AqUCkZdlKs7IDSWoFVeSSOBWsm3UDTweu7gA3E4--E,47756
215
+ wandb/sdk/wandb_setup.py,sha256=IadkZxlkOiMRTS24NstInMHmoSb7q0KeIn1WtjPNajM,12569
215
216
  wandb/sdk/wandb_summary.py,sha256=yQdOVIPrZaZanhBQ7yuSfPLX0x6dxwkN_KAn4SgjSZU,4536
216
217
  wandb/sdk/wandb_sweep.py,sha256=Sg_JqxVzmjUBvii41azpdr-c6RPwHOBnSha8k7jrRhk,4028
217
218
  wandb/sdk/wandb_sync.py,sha256=GmIjtydDNiUT3FHkrFcIZzSlqiRerXA8kY3q72ZbL1k,2275
218
219
  wandb/sdk/wandb_watch.py,sha256=F7S9CLbw9PddUp1qBjPRKsOiVFU8LPaq6A9taV3TJKI,4840
219
220
  wandb/sdk/artifacts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
220
221
  wandb/sdk/artifacts/_validators.py,sha256=QlN8yn7muPn1NZMSslHVYM-mcGEEd_4XLfRdv3Wf91Y,4171
221
- wandb/sdk/artifacts/artifact.py,sha256=qVbQQbOm_MkHhrsOib9ScMq870kp1nNoGYOzIzsUp6w,87958
222
+ wandb/sdk/artifacts/artifact.py,sha256=zc4BO0AYx6xWTI-OX1rrZlxyRn9WxrvzWrTdtbhdYUo,90619
222
223
  wandb/sdk/artifacts/artifact_download_logger.py,sha256=XEVxmktMInrd1p2z86CKt3QyTA9vscxJL5-8_eupknI,1501
223
224
  wandb/sdk/artifacts/artifact_file_cache.py,sha256=503z2x4CoTLXk_IfC9jRKBU9fr-X9PMiyG66h0INzQg,9744
224
225
  wandb/sdk/artifacts/artifact_instance_cache.py,sha256=atSUDvKjkp6by6QY0w2FLMrFUg9UKc8TIrMVWGauV64,501
@@ -248,7 +249,7 @@ wandb/sdk/artifacts/storage_policies/__init__.py,sha256=bgpWKElL-3iHcLO8pF-L8oez
248
249
  wandb/sdk/artifacts/storage_policies/register.py,sha256=xT7kUxubtLqyE-9S6U9E4mCo1PtXl0ZEJ6gVQiS-kGQ,49
249
250
  wandb/sdk/artifacts/storage_policies/wandb_storage_policy.py,sha256=m2s67vmRySPw0bkI69HoIUTO2hyYAo-Nl22jv32Rl90,14002
250
251
  wandb/sdk/backend/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
251
- wandb/sdk/backend/backend.py,sha256=bod3MjcpErC-r66yuhVz2m398NntdpRblgeOYA5wbCQ,7613
252
+ wandb/sdk/backend/backend.py,sha256=c0vdeiQr6D3Ua8hvKKlYoELfDTRxPrHIX4E3qRZsX00,7492
252
253
  wandb/sdk/data_types/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
253
254
  wandb/sdk/data_types/_dtypes.py,sha256=NdRfTto95YxLMMK89PONQvAz_Jaey8D7caTsZ_OlvW8,30092
254
255
  wandb/sdk/data_types/_private.py,sha256=zp2NRarTlIq4Hk3R2xp7j_qPGNzBMnaGHrZUN82shaY,299
@@ -257,33 +258,33 @@ wandb/sdk/data_types/bokeh.py,sha256=0Aq4CJECPpoAkl7vw5LCGYhdCb9pS8i46jHB9PxTj1k
257
258
  wandb/sdk/data_types/graph.py,sha256=_P_z2dNj2mCJeSvusIfVHkSkVB9AL0AEO-6KaguC1ys,12089
258
259
  wandb/sdk/data_types/histogram.py,sha256=syx3fUDoP6vYqA3r5m7bHXK6MAWo2MkRhpCKasihwvg,3145
259
260
  wandb/sdk/data_types/html.py,sha256=CBgxEybPGDY6vpQ1fHoKtQfGNGuqSkFQtUZF-qG9p6c,3504
260
- wandb/sdk/data_types/image.py,sha256=dK-EUA1owm1OTspPLX8j3b-Je6KqV4SPSYZ0Pjhfzls,31370
261
+ wandb/sdk/data_types/image.py,sha256=o_ZwqB4uO1-R8QLuO9J6aiUuyANMz2qPQJAskushozQ,31239
261
262
  wandb/sdk/data_types/molecule.py,sha256=lTScaG-_B-eGh20bRfLNA2fECDYQOuD0zdnGvQjEI8o,8583
262
263
  wandb/sdk/data_types/object_3d.py,sha256=xQw-9mq_cXMxXoW817BiByh7C5wvMuC6jliJEzKEAPg,15948
263
264
  wandb/sdk/data_types/plotly.py,sha256=LEIHRqtHHpSou04AEUsyH8_UMXP4adrEHHaKoEtQkxo,2913
264
265
  wandb/sdk/data_types/saved_model.py,sha256=_N2AriHLqRC_ZhbjPL_1sYvJIU2Rb8Zrh1lPhcN0Ip0,16378
265
266
  wandb/sdk/data_types/table.py,sha256=DjppFy0-ii1iMoVOg-h_F1YEUbgk5wGPJDXlQURXLQw,44683
266
267
  wandb/sdk/data_types/trace_tree.py,sha256=HHJE6QHmlfvWE090OMW6CxMebMT03rF_qnTSGmX0-EE,14700
267
- wandb/sdk/data_types/utils.py,sha256=n-cEEFVBew0YK83RjQNO8Anw71aN4oSUTYPMwkVkwEY,7893
268
+ wandb/sdk/data_types/utils.py,sha256=Qdj-gUOrrc9wVjBD7Mtmt2o6bHadr1IgzAWF4ijdrz4,7633
268
269
  wandb/sdk/data_types/video.py,sha256=q0vvyZHzHnxjYmX6VFVuTGT72m52YdYGnW-jAwqJSJg,9715
269
270
  wandb/sdk/data_types/base_types/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
270
271
  wandb/sdk/data_types/base_types/json_metadata.py,sha256=oKpimndUQvDW30n15tb2pbyyyKhhWwm8wsYNBEot060,1553
271
272
  wandb/sdk/data_types/base_types/media.py,sha256=QO6aQdNGYtwr6qZYUQ9-WbTpkB3adCBTXWSqO3ZCJjI,14284
272
- wandb/sdk/data_types/base_types/wb_value.py,sha256=Er5Z_DbBpomEWlOkJXFpvh1cP3H-LVY-MvWLXJm74LA,11394
273
+ wandb/sdk/data_types/base_types/wb_value.py,sha256=HtV2VblGg_nnSBQ1rRSjlRuY-NyDTbeDVCJzlQ49SUc,11460
273
274
  wandb/sdk/data_types/helper_types/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
274
- wandb/sdk/data_types/helper_types/bounding_boxes_2d.py,sha256=o_QeU_sEsO2NUGyWhUIPUX5pWHRo_JtfH5a-s-68v4o,13100
275
+ wandb/sdk/data_types/helper_types/bounding_boxes_2d.py,sha256=hzVq4wTxx3-rJk4zaPKHR6-v0cTwj46JC9yUMTwuhUU,13010
275
276
  wandb/sdk/data_types/helper_types/classes.py,sha256=cg-AwUgULbb3T_-ptOdliXGvYjXZYRj8rvSmT7fl9ds,5520
276
- wandb/sdk/data_types/helper_types/image_mask.py,sha256=Eupi41lU_Hyc8vO9_5AdV9eRb4j3cRJ4fPGunm6QfBg,8689
277
+ wandb/sdk/data_types/helper_types/image_mask.py,sha256=JwgXaYTFkw4gEGe35ptIScnv4KA5ViqrUlVD8SZwmRQ,8601
277
278
  wandb/sdk/integration_utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
278
279
  wandb/sdk/integration_utils/auto_logging.py,sha256=sblNn9BIG7memxTj23UfrGXyA06t39FEt5igMwS0-zU,8233
279
280
  wandb/sdk/integration_utils/data_logging.py,sha256=DDFtDaUu50aeTTgxCHHYd2f85guqqf2xfEOburRlwwQ,19533
280
281
  wandb/sdk/interface/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
281
282
  wandb/sdk/interface/constants.py,sha256=NJNBFr7LkshLI837D3LU3JuEURLzBwza9H-kxcy4ihw,60
282
- wandb/sdk/interface/interface.py,sha256=coqmzkIQr8s_hzryIhID__5JHw-waMkE65ICv1KcFMQ,36439
283
+ wandb/sdk/interface/interface.py,sha256=xPY5MHwMf1go_pDnDYs1bkQdpSbIF43mm5N-85U1m-Y,36576
283
284
  wandb/sdk/interface/interface_queue.py,sha256=7lbQz6VYamqYlNpkC-Ckrn5az_Yc9CrbnmwKNFtta44,1700
284
285
  wandb/sdk/interface/interface_relay.py,sha256=vQUrk5KESKInZsXpOxWF4YcWRZFLJjNz1mdNywbWbbE,1514
285
286
  wandb/sdk/interface/interface_shared.py,sha256=F6kkd8Aaq_nZALIprMgul0xDkSB8uG0HXJ0-94uEZNw,21276
286
- wandb/sdk/interface/interface_sock.py,sha256=ZQuEQS-dHgugEGw9zveEwRm8bolfjZ-MGjk6ENk18fs,2002
287
+ wandb/sdk/interface/interface_sock.py,sha256=dCTpyTQHsWhs2x5v3hY2NY3PK97ta0Pl4B1i9lil_ag,1802
287
288
  wandb/sdk/interface/message_future.py,sha256=5OMApIUKTXLHP98ph_jCdshuPZB_E0Uf3UGZpOQ8sik,685
288
289
  wandb/sdk/interface/message_future_poll.py,sha256=drjrcBKswYPYJJQLFlj7UDXq7_zg7KNcObFVetsbvhQ,1410
289
290
  wandb/sdk/interface/router.py,sha256=uTgmF0TaQnYq8Frgs7pncUBucA6B7XXCmKcRoYEZV10,3419
@@ -299,7 +300,7 @@ wandb/sdk/internal/file_stream.py,sha256=Dnqayrbqa6L2sG03rX2oIFhWT-IME5vl5JTykyL
299
300
  wandb/sdk/internal/flow_control.py,sha256=3LJ-KatyPPH18G7TfSMLDk-BE5tankB4JRhQqLoUOWM,8585
300
301
  wandb/sdk/internal/handler.py,sha256=k3b5pHh8NQgh8BqegaKLqawt9d_cnxKW64i_Z6cw3pk,34183
301
302
  wandb/sdk/internal/internal.py,sha256=o9_-6C99LMOx_YB5xuZ1I1KgpeHk3jUgll63sEe9gCY,12182
302
- wandb/sdk/internal/internal_api.py,sha256=0-pGwUEHq8cf4Hm5CR1OxcmNYG-F5Gvl1kEI60kSUhQ,159306
303
+ wandb/sdk/internal/internal_api.py,sha256=WrWaeVasXrSyTj9eABz3ULa3vIAIb2lGzZDWK8ng9KQ,159641
303
304
  wandb/sdk/internal/internal_util.py,sha256=dKawQKw4UdZUE6Bmme5baT0FGDC0IUgoD2zM6ey4oBU,2555
304
305
  wandb/sdk/internal/job_builder.py,sha256=_L-DfGFEzDl0JLXPo535KPK3Bk0vqXsTQVF7buXeaiY,22962
305
306
  wandb/sdk/internal/profiler.py,sha256=C8-mPrAhPS6_l-Fj_zCOwmXaEqhjI9Wd0EAPXS9GAEI,2348
@@ -319,7 +320,7 @@ wandb/sdk/internal/system/system_monitor.py,sha256=mUUHUoPUUa9_WrgeLEOT3f_FvIA_6
319
320
  wandb/sdk/internal/system/assets/__init__.py,sha256=X0_hRaWP1eTC-R-2WZI3Or3bKmqNwP7NsNijRq5DBVo,474
320
321
  wandb/sdk/internal/system/assets/aggregators.py,sha256=EzJp_YjvYORcBH6g58OsqGtmy55HqYHYMAvaIsp2Iwg,1093
321
322
  wandb/sdk/internal/system/assets/asset_registry.py,sha256=NYSoCDya3Wh7ytBJOE-tNySdPpLYnSghM6CzS9-I4nk,478
322
- wandb/sdk/internal/system/assets/cpu.py,sha256=DvAVWrlSb_amBjTfG-hpSKzlE1aIW3qu3JloBM_ycTs,4576
323
+ wandb/sdk/internal/system/assets/cpu.py,sha256=rwXZZ6bchKEijE1GCE4j6mrxLDM4-H4ZLexcgNO_55k,4578
323
324
  wandb/sdk/internal/system/assets/disk.py,sha256=ASvzdmb3gSMMKyp57xCauu0AzIlLOuExSMDveI7G9jM,6262
324
325
  wandb/sdk/internal/system/assets/gpu.py,sha256=DnnfH9fvvfiRXzMAXjCgHZZZt_Kkn2br74T3Y_oyyhw,13722
325
326
  wandb/sdk/internal/system/assets/gpu_amd.py,sha256=MpL2c74p7hls_BRwF6f25C1QdW1wwToi9hthE7o7-rY,7355
@@ -382,7 +383,7 @@ wandb/sdk/launch/sweeps/scheduler.py,sha256=yPHVT5GD1my_2tlMqGsLOBL3Q8pAxCcxLoFf
382
383
  wandb/sdk/launch/sweeps/scheduler_sweep.py,sha256=beM0go0u9xRcXW20ED8MyTqq4ol_O5_4PODbA7FpN88,2987
383
384
  wandb/sdk/launch/sweeps/utils.py,sha256=TbsAvn3eQnp5js0SvMmPVoP5vaT5bXMPL-ISWyZvVlQ,9837
384
385
  wandb/sdk/lib/__init__.py,sha256=53BA5lIOtUXciXZcPpNsFbp-iUPzI5gQFxplTykNmOE,183
385
- wandb/sdk/lib/apikey.py,sha256=MU5b3YrASIlhersBi7769OtBXkVBuuAJGK2gJLxsoNI,9104
386
+ wandb/sdk/lib/apikey.py,sha256=uQOBpfnEpsWa5HHU7Igvq5rPgC1rcwiy8AoKR5QDiGY,8628
386
387
  wandb/sdk/lib/capped_dict.py,sha256=T2CNkmzfWeFgXOsFmx5IDPzgYmP1jxaVAb-nn3-qBBE,820
387
388
  wandb/sdk/lib/config_util.py,sha256=YdYvk-KbTdTa-84XegpvbqMuQfdlOREFiVR7m3q6e3Q,2917
388
389
  wandb/sdk/lib/credentials.py,sha256=WmVdzL1rFy7S0WIHf1ZYd98_eaHTxPKUobReRSPQgBM,4737
@@ -402,7 +403,7 @@ wandb/sdk/lib/interrupt.py,sha256=Ea7aSVHcY0wLYnyMfm4jZbQcwGPgRcuPuoBSe0Swuds,13
402
403
  wandb/sdk/lib/ipython.py,sha256=I2iT6vY90Aaws7tmjzW_CrUdQFmfV9-WhAPk8at9LQg,3782
403
404
  wandb/sdk/lib/json_util.py,sha256=fAsYfaw8iMmx3KJ0wSthUSj_XpF1iAysad4XZY1kQdo,2584
404
405
  wandb/sdk/lib/lazyloader.py,sha256=4Seis4C8Ph6a2-3scfYqeHh7KjKG6PO0WJ2ZPW30O0o,1891
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/module.py,sha256=PWxpFqOYmLyKPF-VgfINZXzkFxDcoQVunVDVNWNnbxQ,2098
407
408
  wandb/sdk/lib/paths.py,sha256=YiEE5mkYB5ahMuI4C27IsNvejC3z6MI5JPW1iISi864,4529
408
409
  wandb/sdk/lib/preinit.py,sha256=11QkGmBpoGazNaUGvyDIzBJA4QTggj7fGQdugpCvOiw,1450
@@ -413,8 +414,8 @@ wandb/sdk/lib/redirect.py,sha256=eTNvQp4SFLgN5Kxwmh1BP0du8_7YZxcgoXsmE_2IHSM,261
413
414
  wandb/sdk/lib/retry.py,sha256=FheKJLMyKtc7L-dNqGw6DJ1RK3cZ0-Ow0RZQDjJ2o9g,10092
414
415
  wandb/sdk/lib/run_moment.py,sha256=-_xWnktxlB21obnogPfGeaeIaf8mCS-MIZSMepBL3ZM,2193
415
416
  wandb/sdk/lib/runid.py,sha256=Qa-5ft4B85YUazkV_18OYwf9JhMaAVp0JAInZzxzX5o,392
416
- wandb/sdk/lib/server.py,sha256=mDqOrR9LFbSjYfCk9Bufse8P0wISS6DZOBRbw0SDgsg,1110
417
- wandb/sdk/lib/service_connection.py,sha256=VYceAXNUWelzc14A4KUM4LYwvm2xqH5Q35aRw8Ed-fE,6467
417
+ wandb/sdk/lib/server.py,sha256=dn0RXjAnpmigAULLyq75XHYyHxw17MLCJ9fhPq2v22I,1623
418
+ wandb/sdk/lib/service_connection.py,sha256=z4zMzqMxD86Qs8YVJOb_N_GJmkCOYnoBsBGEY9093S4,6504
418
419
  wandb/sdk/lib/service_token.py,sha256=c4olk_g4Suo0zTTDaoR78oHLwpt3NgDzQeF94raigME,2471
419
420
  wandb/sdk/lib/sock_client.py,sha256=-B2V0rTRM_pnZsqV0GuCjPTvEOAjfvjICTz5nohEIGY,10351
420
421
  wandb/sdk/lib/sparkline.py,sha256=9xQkuZ0z1DM7rHE2jFNDy5vBdPirnurd__A_bC6-Bgc,1363
@@ -816,8 +817,8 @@ wandb/vendor/watchdog_0_9_0/wandb_watchdog/utils/importlib2.py,sha256=cJIaJ2EQso
816
817
  wandb/vendor/watchdog_0_9_0/wandb_watchdog/utils/platform.py,sha256=UORYTNVcUSE2NpFcq9UVLIS-tsS0TS_Qw8akhKxn2eY,1506
817
818
  wandb/vendor/watchdog_0_9_0/wandb_watchdog/utils/unicode_paths.py,sha256=UWX8DB97ygkEeSxWQUYCHR4MahNilux7vl5TCTQtPPk,2190
818
819
  wandb/vendor/watchdog_0_9_0/wandb_watchdog/utils/win32stat.py,sha256=ZOevOTbSo8NRiIxkuBVGaG4yigWnPoO0goxAi-jsBkM,3828
819
- wandb-0.19.4rc1.dist-info/METADATA,sha256=uyIurAspZwmJRHUtzVckSZv375aN1Lpvi7IqLuCgMbc,10285
820
- wandb-0.19.4rc1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
821
- wandb-0.19.4rc1.dist-info/entry_points.txt,sha256=v4FCOZ9gW7Pc6KLsmgQqpCiKTrA1wh2XHmNf-NUP1-I,67
822
- wandb-0.19.4rc1.dist-info/licenses/LICENSE,sha256=izOKRJpGOx1PrJiGOKR0HsNdlB5JdH2d0Z4P7a7ssTc,1081
823
- wandb-0.19.4rc1.dist-info/RECORD,,
820
+ wandb-0.19.5.dist-info/METADATA,sha256=xeUIDVCvTuISlmDa-n-NSpmOeH752dPLueDJftWb-Vw,10282
821
+ wandb-0.19.5.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
822
+ wandb-0.19.5.dist-info/entry_points.txt,sha256=v4FCOZ9gW7Pc6KLsmgQqpCiKTrA1wh2XHmNf-NUP1-I,67
823
+ wandb-0.19.5.dist-info/licenses/LICENSE,sha256=izOKRJpGOx1PrJiGOKR0HsNdlB5JdH2d0Z4P7a7ssTc,1081
824
+ wandb-0.19.5.dist-info/RECORD,,