wandb 0.17.1__py3-none-any.whl → 0.17.2__py3-none-any.whl

Sign up to get free protection for your applications and to get access to all the features.
wandb/__init__.py CHANGED
@@ -11,7 +11,7 @@ For scripts and interactive notebooks, see https://github.com/wandb/examples.
11
11
 
12
12
  For reference documentation, see https://docs.wandb.com/ref/python.
13
13
  """
14
- __version__ = "0.17.1"
14
+ __version__ = "0.17.2"
15
15
 
16
16
 
17
17
  # Used with pypi checks and other messages related to pip
@@ -214,9 +214,12 @@ from .analytics import Sentry as _Sentry
214
214
  if "dev" in __version__:
215
215
  import os
216
216
 
217
+ # disable error reporting in dev versions for the python client
217
218
  os.environ["WANDB_ERROR_REPORTING"] = os.environ.get(
218
219
  "WANDB_ERROR_REPORTING", "false"
219
220
  )
221
+ # turn on wandb-core for dev versions
222
+ os.environ["WANDB__REQUIRE_CORE"] = os.environ.get("WANDB__REQUIRE_CORE", "true")
220
223
 
221
224
  _sentry = _Sentry()
222
225
  _sentry.setup()
wandb/cli/cli.py CHANGED
@@ -880,6 +880,14 @@ def sync(
880
880
  default=False,
881
881
  help="Resume a sweep to continue running new runs.",
882
882
  )
883
+ @click.option(
884
+ "--prior_run",
885
+ "-R",
886
+ "prior_runs",
887
+ multiple=True,
888
+ default=None,
889
+ help="ID of an existing run to add to this sweep",
890
+ )
883
891
  @click.argument("config_yaml_or_sweep_id")
884
892
  @click.pass_context
885
893
  @display_error
@@ -897,6 +905,7 @@ def sweep(
897
905
  cancel,
898
906
  pause,
899
907
  resume,
908
+ prior_runs,
900
909
  config_yaml_or_sweep_id,
901
910
  ):
902
911
  state_args = "stop", "cancel", "pause", "resume"
@@ -1038,6 +1047,7 @@ def sweep(
1038
1047
  project=project,
1039
1048
  entity=entity,
1040
1049
  obj_id=sweep_obj_id,
1050
+ prior_runs=prior_runs,
1041
1051
  )
1042
1052
  sweep_utils.handle_sweep_config_violations(warnings)
1043
1053
 
@@ -1104,6 +1114,14 @@ def sweep(
1104
1114
  default=None,
1105
1115
  help="Resume a launch sweep by passing an 8-char sweep id. Queue required",
1106
1116
  )
1117
+ @click.option(
1118
+ "--prior_run",
1119
+ "-R",
1120
+ "prior_runs",
1121
+ multiple=True,
1122
+ default=None,
1123
+ help="ID of an existing run to add to this sweep",
1124
+ )
1107
1125
  @click.argument("config", required=False, type=click.Path(exists=True))
1108
1126
  @click.pass_context
1109
1127
  @display_error
@@ -1114,6 +1132,7 @@ def launch_sweep(
1114
1132
  queue,
1115
1133
  config,
1116
1134
  resume_id,
1135
+ prior_runs,
1117
1136
  ):
1118
1137
  api = _get_cling_api()
1119
1138
  env = os.environ
@@ -1298,6 +1317,7 @@ def launch_sweep(
1298
1317
  obj_id=sweep_obj_id, # if resuming
1299
1318
  launch_scheduler=launch_scheduler_with_queue,
1300
1319
  state="PENDING",
1320
+ prior_runs=prior_runs,
1301
1321
  )
1302
1322
  sweep_utils.handle_sweep_config_violations(warnings)
1303
1323
  # Log nicely formatted sweep information
wandb/old/summary.py CHANGED
@@ -390,6 +390,11 @@ class HTTPSummary(Summary):
390
390
  self._client = client
391
391
  self._started = time.time()
392
392
 
393
+ def __delitem__(self, key):
394
+ if key not in self._json_dict:
395
+ raise KeyError(key)
396
+ del self._json_dict[key]
397
+
393
398
  def load(self):
394
399
  pass
395
400
 
@@ -2019,16 +2019,23 @@ class Artifact:
2019
2019
  def delete(self, delete_aliases: bool = False) -> None:
2020
2020
  """Delete an artifact and its files.
2021
2021
 
2022
+ If called on a linked artifact (i.e. a member of a portfolio collection): only the link is deleted, and the
2023
+ source artifact is unaffected.
2024
+
2022
2025
  Arguments:
2023
2026
  delete_aliases: If set to `True`, deletes all aliases associated with the artifact.
2024
2027
  Otherwise, this raises an exception if the artifact has existing
2025
2028
  aliases.
2029
+ This parameter is ignored if the artifact is linked (i.e. a member of a portfolio collection).
2026
2030
 
2027
2031
  Raises:
2028
2032
  ArtifactNotLoggedError: If the artifact is not logged.
2029
2033
  """
2030
2034
  self._ensure_logged("delete")
2031
- self._delete(delete_aliases)
2035
+ if self.collection.is_sequence():
2036
+ self._delete(delete_aliases)
2037
+ else:
2038
+ self._unlink()
2032
2039
 
2033
2040
  @normalize_exceptions
2034
2041
  def _delete(self, delete_aliases: bool = False) -> None:
@@ -390,10 +390,13 @@ if np:
390
390
  NumberType.types.append(np.uintp)
391
391
  NumberType.types.append(np.float32)
392
392
  NumberType.types.append(np.float64)
393
- NumberType.types.append(np.float_)
394
393
  NumberType.types.append(np.complex64)
395
394
  NumberType.types.append(np.complex128)
396
- NumberType.types.append(np.complex_)
395
+
396
+ numpy_major_version = np.__version__.split(".")[0]
397
+ if int(numpy_major_version) < 2:
398
+ NumberType.types.append(np.float_)
399
+ NumberType.types.append(np.complex_)
397
400
 
398
401
 
399
402
  class TimestampType(Type):
@@ -33,7 +33,7 @@ class Html(BatchableMedia):
33
33
  if data_is_path:
34
34
  assert isinstance(data, str)
35
35
  data_path = data
36
- with open(data_path) as file:
36
+ with open(data_path, encoding="utf-8") as file:
37
37
  self.html = file.read()
38
38
  elif isinstance(data, str):
39
39
  self.html = data
@@ -36,7 +36,7 @@ if TYPE_CHECKING: # pragma: no cover
36
36
 
37
37
  from ..wandb_run import Run as LocalRun
38
38
 
39
- numeric = Union[int, float, np.integer, np.float_]
39
+ numeric = Union[int, float, np.integer, np.float64]
40
40
  FileFormat3D = Literal[
41
41
  "obj",
42
42
  "gltf",
@@ -1180,6 +1180,7 @@ class Api:
1180
1180
  project_name (str): The project to download, (can include bucket)
1181
1181
  name (str): The run to download
1182
1182
  """
1183
+ # Pulling wandbConfig.start_time is required so that we can determine if a run has actually started
1183
1184
  query = gql(
1184
1185
  """
1185
1186
  query RunResumeStatus($project: String, $entity: String, $name: String!) {
@@ -1203,6 +1204,7 @@ class Api:
1203
1204
  eventsTail
1204
1205
  config
1205
1206
  tags
1207
+ wandbConfig(keys: ["t"])
1206
1208
  }
1207
1209
  }
1208
1210
  }
@@ -3036,6 +3038,7 @@ class Api:
3036
3038
  project: Optional[str] = None,
3037
3039
  entity: Optional[str] = None,
3038
3040
  state: Optional[str] = None,
3041
+ prior_runs: Optional[List[str]] = None,
3039
3042
  ) -> Tuple[str, List[str]]:
3040
3043
  """Upsert a sweep object.
3041
3044
 
@@ -3048,6 +3051,7 @@ class Api:
3048
3051
  project (str): project to use
3049
3052
  entity (str): entity to use
3050
3053
  state (str): state
3054
+ prior_runs (list): IDs of existing runs to add to the sweep
3051
3055
  """
3052
3056
  project_query = """
3053
3057
  project {
@@ -3068,7 +3072,8 @@ class Api:
3068
3072
  $projectName: String,
3069
3073
  $controller: JSONString,
3070
3074
  $scheduler: JSONString,
3071
- $state: String
3075
+ $state: String,
3076
+ $priorRunsFilters: JSONString,
3072
3077
  ) {
3073
3078
  upsertSweep(input: {
3074
3079
  id: $id,
@@ -3078,7 +3083,8 @@ class Api:
3078
3083
  projectName: $projectName,
3079
3084
  controller: $controller,
3080
3085
  scheduler: $scheduler,
3081
- state: $state
3086
+ state: $state,
3087
+ priorRunsFilters: $priorRunsFilters,
3082
3088
  }) {
3083
3089
  sweep {
3084
3090
  name
@@ -3127,6 +3133,9 @@ class Api:
3127
3133
  config_str = yaml.dump(
3128
3134
  json.loads(json.dumps(config)), Dumper=util.NonOctalStringDumper
3129
3135
  )
3136
+ filters = None
3137
+ if prior_runs:
3138
+ filters = json.dumps({"$or": [{"name": r} for r in prior_runs]})
3130
3139
 
3131
3140
  err: Optional[Exception] = None
3132
3141
  for mutation in mutations:
@@ -3140,6 +3149,7 @@ class Api:
3140
3149
  "controller": controller,
3141
3150
  "launchScheduler": launch_scheduler,
3142
3151
  "scheduler": scheduler,
3152
+ "priorRunsFilters": filters,
3143
3153
  }
3144
3154
  if state:
3145
3155
  variables["state"] = state
@@ -754,14 +754,14 @@ class SendManager:
754
754
  project_name=run.project,
755
755
  name=run.run_id,
756
756
  )
757
-
758
- if not resume_status:
757
+ # No resume status = run does not exist; No t key in wandbConfig = run exists but hasn't been inited
758
+ if not resume_status or '"t":' not in resume_status.get("wandbConfig", ""):
759
759
  if self._settings.resume == "must":
760
760
  error = wandb_internal_pb2.ErrorInfo()
761
761
  error.code = wandb_internal_pb2.ErrorInfo.ErrorCode.USAGE
762
762
  error.message = (
763
763
  "You provided an invalid value for the `resume` argument."
764
- f" The value 'must' is not a valid option for resuming a run ({run.run_id}) that does not exist."
764
+ f" The value 'must' is not a valid option for resuming a run ({run.run_id}) that has not been initialized."
765
765
  " Please check your inputs and try again with a valid run ID."
766
766
  " If you are trying to start a new run, please omit the `resume` argument or use `resume='allow'`."
767
767
  )
@@ -410,5 +410,7 @@ class GPU:
410
410
 
411
411
  except pynvml.NVMLError:
412
412
  pass
413
+ except Exception as e:
414
+ logger.error(f"Error Probing GPU: {e}")
413
415
 
414
416
  return info
@@ -141,7 +141,7 @@ class LaunchProject:
141
141
  elif self.job is not None:
142
142
  self.source = LaunchSource.JOB
143
143
  self.project_dir = tempfile.mkdtemp()
144
- if self.uri and self.uri.startswith("placeholder"):
144
+ elif self.uri and self.uri.startswith("placeholder"):
145
145
  self.source = LaunchSource.SCHEDULER
146
146
  self.project_dir = os.getcwd()
147
147
  self._entry_point = self.override_entrypoint
wandb/sdk/wandb_run.py CHANGED
@@ -2614,11 +2614,6 @@ class Run:
2614
2614
  exit_handle = self._backend.interface.deliver_exit(self._exit_code)
2615
2615
  exit_handle.add_probe(on_probe=self._on_probe_exit)
2616
2616
 
2617
- # this message is confusing, we should remove it
2618
- # self._footer_exit_status_info(
2619
- # self._exit_code, settings=self._settings, printer=self._printer
2620
- # )
2621
-
2622
2617
  # wait for the exit to complete
2623
2618
  _ = exit_handle.wait(timeout=-1, on_progress=self._on_progress_exit)
2624
2619
 
@@ -3764,6 +3759,11 @@ class Run:
3764
3759
  settings=settings,
3765
3760
  printer=printer,
3766
3761
  )
3762
+ Run._footer_notify_wandb_core(
3763
+ quiet=quiet,
3764
+ settings=settings,
3765
+ printer=printer,
3766
+ )
3767
3767
  Run._footer_local_warn(
3768
3768
  server_info_response=server_info_response,
3769
3769
  quiet=quiet,
@@ -3786,26 +3786,6 @@ class Run:
3786
3786
  printer=printer,
3787
3787
  )
3788
3788
 
3789
- @staticmethod
3790
- def _footer_exit_status_info(
3791
- exit_code: Optional[int],
3792
- *,
3793
- settings: "Settings",
3794
- printer: Union["PrinterTerm", "PrinterJupyter"],
3795
- ) -> None:
3796
- if settings.silent:
3797
- return
3798
-
3799
- status = "(success)." if not exit_code else f"(failed {exit_code})."
3800
- info = [
3801
- f"Waiting for W&B process to finish... {printer.status(status, bool(exit_code))}"
3802
- ]
3803
-
3804
- if not settings._offline and exit_code:
3805
- info.append(f"Press {printer.abort()} to abort syncing.")
3806
-
3807
- printer.display(f'{" ".join(info)}')
3808
-
3809
3789
  # fixme: Temporary hack until we move to rich which allows multiple spinners
3810
3790
  @staticmethod
3811
3791
  def _footer_file_pusher_status_info(
@@ -4154,6 +4134,24 @@ class Run:
4154
4134
  if package_problem and check_version.upgrade_message:
4155
4135
  printer.display(check_version.upgrade_message)
4156
4136
 
4137
+ @staticmethod
4138
+ def _footer_notify_wandb_core(
4139
+ *,
4140
+ quiet: Optional[bool] = None,
4141
+ settings: "Settings",
4142
+ printer: Union["PrinterTerm", "PrinterJupyter"],
4143
+ ) -> None:
4144
+ """Prints a message advertising the upcoming core release."""
4145
+ if quiet or settings._require_core:
4146
+ return
4147
+
4148
+ printer.display(
4149
+ "The new W&B backend becomes opt-out in version 0.18.0;"
4150
+ ' try it out with `wandb.require("core")`!'
4151
+ " See https://wandb.me/wandb-core for more information.",
4152
+ level="warn",
4153
+ )
4154
+
4157
4155
  @staticmethod
4158
4156
  def _footer_reporter_warn_err(
4159
4157
  reporter: Optional[Reporter] = None,
wandb/util.py CHANGED
@@ -1,6 +1,7 @@
1
1
  import colorsys
2
2
  import contextlib
3
3
  import dataclasses
4
+ import enum
4
5
  import functools
5
6
  import gzip
6
7
  import importlib
@@ -637,6 +638,8 @@ def json_friendly( # noqa: C901
637
638
  elif isinstance(obj, set):
638
639
  # set is not json serializable, so we convert it to tuple
639
640
  obj = tuple(obj)
641
+ elif isinstance(obj, enum.Enum):
642
+ obj = obj.name
640
643
  else:
641
644
  converted = False
642
645
  if getsizeof(obj) > VALUE_BYTES_LIMIT:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: wandb
3
- Version: 0.17.1
3
+ Version: 0.17.2
4
4
  Summary: A CLI and library for interacting with the Weights & Biases API.
5
5
  Project-URL: Source, https://github.com/wandb/wandb
6
6
  Project-URL: Bug Reports, https://github.com/wandb/wandb/issues
@@ -1,5 +1,5 @@
1
1
  package_readme.md,sha256=xigFCsrzePKq72pDIEfkoVzb-NzDRsKpXXI0FMJ-6jg,4382
2
- wandb/__init__.py,sha256=rQ6QR2yzyH3BYp3kw3EdVx_Cn5fCRa2XM1YONFii8js,7033
2
+ wandb/__init__.py,sha256=8wErywxqTFW0Dx-_VrrPbU2wKkUDP8jzVHk6F-h3uSQ,7229
3
3
  wandb/__main__.py,sha256=gripuDgB7J8wMMeJt4CIBRjn1BMSFr5zvsrt585Pnj4,64
4
4
  wandb/_globals.py,sha256=CccwOAls5bxJArYHg12b08ZeKR8Qu9u57GtYWjBH0o0,702
5
5
  wandb/data_types.py,sha256=SyBzrPvzfmgl9te_kH9yiNnn20L3eJvfbVnG2wRyZ3k,73149
@@ -8,7 +8,7 @@ wandb/jupyter.py,sha256=tPnqX9kvAOpWpyz1f-uXrmUvj2V3hx0ANHKeXNxGF1o,16954
8
8
  wandb/magic.py,sha256=YVSQmkrtlQ56p-VqkwjiPGNBa694UvPALxc4yp6RiLk,59
9
9
  wandb/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
10
10
  wandb/trigger.py,sha256=PaitU3sX6ekGkd2R8iD6d_VtI72ypF7LaPBXh3rXY7Q,615
11
- wandb/util.py,sha256=FA416LFayNUJLCHw65RCEVVO9wABUMTUJwl8t7BQjNM,60943
11
+ wandb/util.py,sha256=JK4QbqJTyeogHLjSg_nTE3HyOe9dADCHSRXOUTtSWxY,61015
12
12
  wandb/viz.py,sha256=3wrGhPKNdj4VZ-hD1wanzF01XH2IHcUBl_1ZnYKnl5Q,3455
13
13
  wandb/wandb_agent.py,sha256=haAOCpdoX8Tw5zQFpw0mZGXghDUnQYyGIIPaiXvstIs,21031
14
14
  wandb/wandb_controller.py,sha256=Mp6szfycF_F8fFhxuDTSMpN4Vvc6D0Ix2gZBSSYOOS0,24804
@@ -50,7 +50,7 @@ wandb/apis/reports/v2/__init__.py,sha256=KFrIs_vw2k49bTUHZCkqx9CzXcbNl192cYBWViK
50
50
  wandb/apis/workspaces/__init__.py,sha256=ZLuZVu1MTNZ9ZWFMk-t6TXGQWDhiaI5liEl-5WN1mi4,264
51
51
  wandb/beta/workflows.py,sha256=bk12HDWnxI4uuP0KyUbfclrTSoRVXrJibAuO_QBB5tI,10239
52
52
  wandb/cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
53
- wandb/cli/cli.py,sha256=iWKhKcH77O5Rm5svUvPM9Sl2I4rbNz5FKGD8jdvgMCs,97238
53
+ wandb/cli/cli.py,sha256=pCZF2eq9IzmbclGY-HFnOA4WILKAvz5B4M5W4ijWwvU,97644
54
54
  wandb/docker/__init__.py,sha256=1NktT5nl7XJ35vj7Pq71p49_Vwet2HBLBc2_D7e86sM,10552
55
55
  wandb/docker/auth.py,sha256=I68SFCcbmZr18XqVxVCM75eTB7YhCebgb3dcsFiIYHQ,15032
56
56
  wandb/docker/wandb-entrypoint.sh,sha256=P4eTMG7wYsgTfJIws_HT7QFlYBI70ZLnNlDGTZdmYVE,989
@@ -136,7 +136,7 @@ wandb/mpmain/__main__.py,sha256=bLhspPeHQvNMyRNR7xi9v-02XfW1mhJY2yBWI3bYtbg,57
136
136
  wandb/old/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
137
137
  wandb/old/core.py,sha256=MJjnAcUObCVXgLQEOW_iS7RREBiTB-YZtf9VHMYV2N4,3758
138
138
  wandb/old/settings.py,sha256=IrS10skC9gCTb8NgTWeRFgsTYL1bw36e-rG_xECk-yo,6374
139
- wandb/old/summary.py,sha256=1ojvsoAOZF4UpSMSPpcLc2RNlg3QJfEZbe2w-xnfK1g,13815
139
+ wandb/old/summary.py,sha256=eqpzQB5CfzTKZta6tB-nVUh0ZmiLwISqjSAt4yvwocE,13952
140
140
  wandb/plot/__init__.py,sha256=jXbVV7QdFRwcSbaWEr_J6XHd3YksHaPrn4wHBQcEO0Y,480
141
141
  wandb/plot/bar.py,sha256=Phb93zGocUhkQNpbAwUUWXBbfJNCAEgIcrTI2jvIGbc,1168
142
142
  wandb/plot/confusion_matrix.py,sha256=OXwBpd_4WQzUrWlDqHL3aQOsqsE7Eex_10-MG9egvGM,3414
@@ -183,7 +183,7 @@ wandb/sdk/wandb_manager.py,sha256=Xy4BvabbOmE9KZwhDpDX7bDL0GUBX72MSCxlnSWY8JI,66
183
183
  wandb/sdk/wandb_metric.py,sha256=a3GiQXr6H18m81uobYjlJaC8CL8iANzI42qxkxfZsDs,3268
184
184
  wandb/sdk/wandb_require.py,sha256=HGSkS0IEBnPEn_33jo3an27qtdx2bCxeEwQ0iri9OJk,2858
185
185
  wandb/sdk/wandb_require_helpers.py,sha256=ZmKv5aXXHDTTU6nYHMLKW4_pt9X-PlaMtbRJl77kHX8,1331
186
- wandb/sdk/wandb_run.py,sha256=bLIc9hBIwV_QTBRoyM3D-whLIKflBdS8YN1pvhs1DOM,160869
186
+ wandb/sdk/wandb_run.py,sha256=bergnWHqdFldBPHDKHIXunDRW1LXZyrwVuj_HU77iec,160798
187
187
  wandb/sdk/wandb_settings.py,sha256=mfA9kHU7f4ilrCwxEzxyy4Wfx8jqKfc9jGR6mD4a2fw,73610
188
188
  wandb/sdk/wandb_setup.py,sha256=yerNWQV9IGrcFVyoGR0_HoYx1-j0cI0aRAqKm1-5LSg,11078
189
189
  wandb/sdk/wandb_summary.py,sha256=yQdOVIPrZaZanhBQ7yuSfPLX0x6dxwkN_KAn4SgjSZU,4536
@@ -191,7 +191,7 @@ wandb/sdk/wandb_sweep.py,sha256=wPhKVjdUVNXCtIB5Bpz0c7JKHv9vLigY6TESNLa7SE4,3746
191
191
  wandb/sdk/wandb_sync.py,sha256=KhxDOHR7x8q54hAlsEx4ta1dAW1ZnzTUMr7VwJyCL5c,2273
192
192
  wandb/sdk/wandb_watch.py,sha256=2LGjshxCywHhlxHU3-APmgWsoQjMSxJdqA8J75KAmIU,3898
193
193
  wandb/sdk/artifacts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
194
- wandb/sdk/artifacts/artifact.py,sha256=rzoJp-YGy5r53aieLY95kjV-CCq8sQWWAzT34qTfHRU,88458
194
+ wandb/sdk/artifacts/artifact.py,sha256=1qdtz4_IGh5mZ8Y7lKAdUuxYh0oW2EvGt0qimQ3FaDI,88812
195
195
  wandb/sdk/artifacts/artifact_download_logger.py,sha256=XEVxmktMInrd1p2z86CKt3QyTA9vscxJL5-8_eupknI,1501
196
196
  wandb/sdk/artifacts/artifact_file_cache.py,sha256=L5rik8yc1KNKa0TGNETYSCJhzgG8KlTUCTcW8j3Y6b4,8751
197
197
  wandb/sdk/artifacts/artifact_instance_cache.py,sha256=8dnqz8ri-3zAygk-ihn9JQsRaeYUwF7Av_pUqUoJxt0,473
@@ -223,13 +223,13 @@ wandb/sdk/artifacts/storage_policies/wandb_storage_policy.py,sha256=DEDIQ3jh_m51
223
223
  wandb/sdk/backend/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
224
224
  wandb/sdk/backend/backend.py,sha256=aVJFViyPxV4yXViqpixhNWElbXR1NVxijeIX-NAIFAA,8308
225
225
  wandb/sdk/data_types/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
226
- wandb/sdk/data_types/_dtypes.py,sha256=zLkEAVoFc7U0vb21t2-uxYFAylfpKohbsy_8_aDOmC8,29937
226
+ wandb/sdk/data_types/_dtypes.py,sha256=4oUPnxA7S9OB3RvmHG8qEvGqH_CENetY_5eSLakv7C8,30038
227
227
  wandb/sdk/data_types/_private.py,sha256=zp2NRarTlIq4Hk3R2xp7j_qPGNzBMnaGHrZUN82shaY,299
228
228
  wandb/sdk/data_types/histogram.py,sha256=BiIYj3yY-9oetopHf_cwPp9Z7mKS7bm3ve_ZMX0hwUg,3202
229
- wandb/sdk/data_types/html.py,sha256=KHUmuUknVKs54RZ3IAlZ2_NgUP4MrQvEIAPM45BizyQ,3491
229
+ wandb/sdk/data_types/html.py,sha256=GAcNfVwwMG_LoS4d64DvIY8pluitwsUvwcP6spwxgcA,3509
230
230
  wandb/sdk/data_types/image.py,sha256=60A-1yejnqprAt8GB6F8CJo0J0AZqWG_HjT7AB_lRqQ,25615
231
231
  wandb/sdk/data_types/molecule.py,sha256=wZzxT_OKuM2CAZxc38o6COfrGgz9t8JCKuy0fd21A9w,8598
232
- wandb/sdk/data_types/object_3d.py,sha256=hxqH0tpQ6Kus_c3lBwaSiQ6K7rWI-vD1m2fpBzJl03U,12516
232
+ wandb/sdk/data_types/object_3d.py,sha256=NHtwyn5L36erpQc_p1GP1bA_NetJzB6mtsiQM7OG5NY,12517
233
233
  wandb/sdk/data_types/plotly.py,sha256=m75HRKSCdd9-cu-odpZ5d2Tu8KwmR_LVdW9u0H-68AE,2918
234
234
  wandb/sdk/data_types/saved_model.py,sha256=EG5gAcheTyzCZdBsrKvEZc11i0xtlhQzwQ3U-ra6nOI,16362
235
235
  wandb/sdk/data_types/trace_tree.py,sha256=KoKIsRuLG7sxTpeor-g1F_CbmY1AXn3KWnitxkVcfCM,14694
@@ -268,14 +268,14 @@ wandb/sdk/internal/file_stream.py,sha256=MNWY5xAPHonGGMTDwQxS4PEZk0ZZRp16I_OOaUo
268
268
  wandb/sdk/internal/flow_control.py,sha256=LO3iDyBbI4WGoDuVLjA_iv62PyiupdYkpSjxPIMGI7E,8584
269
269
  wandb/sdk/internal/handler.py,sha256=Ngq613egsAbKYuVJueLguiSnT39oZeMQQyAvvMI3V0Q,33680
270
270
  wandb/sdk/internal/internal.py,sha256=AUPsOXGwag2UjHg1rQz1zGGWXhywJo85Hoc62ZQ0uCc,12722
271
- wandb/sdk/internal/internal_api.py,sha256=lUvtTrJEYat8LVOkunClqXmFW7txwkdKXN29MZ_j57I,144274
271
+ wandb/sdk/internal/internal_api.py,sha256=Zm_jv5hF11u7UGg5s0m-aRtC9tXr33C1OSeajYrblZk,144817
272
272
  wandb/sdk/internal/internal_util.py,sha256=RMBAsnVimA9UpC-qlT862nqxIXDAPm6KfonNmpvlRfc,2654
273
273
  wandb/sdk/internal/job_builder.py,sha256=vftff8ZIrVB65nJkEZ3CW5qSrbzFHzQeVbbpHrunou8,22700
274
274
  wandb/sdk/internal/profiler.py,sha256=C8-mPrAhPS6_l-Fj_zCOwmXaEqhjI9Wd0EAPXS9GAEI,2348
275
275
  wandb/sdk/internal/progress.py,sha256=0nARkPJ4eVaElpjBl_UQAXeiPtujqcJkMz6OxuJJkps,2446
276
276
  wandb/sdk/internal/run.py,sha256=8OhVy2vfgPC8pNFq0tJ4CkQHETOBfQsFDghw50ccSXc,682
277
277
  wandb/sdk/internal/sample.py,sha256=_bB-tLsYKayL0h1rJ-Na1aI-aHDPHXb1jSMb0nCDmfo,2442
278
- wandb/sdk/internal/sender.py,sha256=wa_qc_DRmF8HQsJISmVZ_vYPqiv9kRBMHEFZZSQcG6U,65821
278
+ wandb/sdk/internal/sender.py,sha256=w_hONddIpdZHchsfoq4mGE79kvCaxmo3qmSCHKF14-c,65993
279
279
  wandb/sdk/internal/sender_config.py,sha256=qEuXwOskca3sYyDIRsswlXmj9StCCS0WKQ1qrBXbIjw,6767
280
280
  wandb/sdk/internal/settings_static.py,sha256=m97hST3YWmpkmgnXbso0gfPFZ7k7Y4SJSM7NbJIZKTc,3526
281
281
  wandb/sdk/internal/tb_watcher.py,sha256=95vhk4q0RT1V7QHQAyxy2hreJvpWYv3scTQ1oAh--Xw,18688
@@ -291,7 +291,7 @@ wandb/sdk/internal/system/assets/aggregators.py,sha256=EzJp_YjvYORcBH6g58OsqGtmy
291
291
  wandb/sdk/internal/system/assets/asset_registry.py,sha256=NYSoCDya3Wh7ytBJOE-tNySdPpLYnSghM6CzS9-I4nk,478
292
292
  wandb/sdk/internal/system/assets/cpu.py,sha256=6I06hsCmsPt2tjfj0hrFQdlXfUwKKhI3DBg2L6cFbuc,4574
293
293
  wandb/sdk/internal/system/assets/disk.py,sha256=HXZFhCh4guL6u5XkRRD2EWeganbLAeZ3hvQyM4ncrWg,6295
294
- wandb/sdk/internal/system/assets/gpu.py,sha256=fqBxRR6dcnLYX0uDEZ3u2UWk853kdKQQ6mr1yXzXzs0,13631
294
+ wandb/sdk/internal/system/assets/gpu.py,sha256=IniAgV7fcwVuvbbQu-eVmWjBwzVKi2bNFkfwWLpYqXw,13714
295
295
  wandb/sdk/internal/system/assets/gpu_amd.py,sha256=bM5usw4qdKHQGQnqFFi-ObOfS3YZg7oDjzeA7eBiLHY,7171
296
296
  wandb/sdk/internal/system/assets/gpu_apple.py,sha256=1NbkBcnX5fcgUUootdXbC5ntiXZp1YJ07LNXMTm4BlI,5279
297
297
  wandb/sdk/internal/system/assets/interfaces.py,sha256=Re0sm_UQdi5Z4szfNowtk81szzzobv7jSmbth-tfCag,6548
@@ -304,7 +304,7 @@ wandb/sdk/internal/system/assets/trainium.py,sha256=HTYZnibmJbMrMQFikvjZcSB6OmEn
304
304
  wandb/sdk/launch/__init__.py,sha256=2B1J5HbUCeGq7gowbBgYy8-gYiD7kvxNFxbSphVjqhI,349
305
305
  wandb/sdk/launch/_launch.py,sha256=rRhidG0loOoAr_U9MX9aRcBUuD95EzGBhFFqy6xSCiQ,11724
306
306
  wandb/sdk/launch/_launch_add.py,sha256=g3lPxAhX209BqvNj25N13WOOrTOuUB8om9waEDF_0JU,8796
307
- wandb/sdk/launch/_project_spec.py,sha256=rHSS2ZrRoKE6A2LxWG4pBG1dydMIV7GOT1-dSZse92k,20885
307
+ wandb/sdk/launch/_project_spec.py,sha256=UK4p_-n6JGvVb1VQOucThgbTRs4cm3gqjl8XrECPir4,20887
308
308
  wandb/sdk/launch/create_job.py,sha256=vwIexSB1h9YrB2sSgMr_UlBZGlFJU0XPXfQs5iuzNDM,17298
309
309
  wandb/sdk/launch/errors.py,sha256=CC1M5x7FnyyO3VVcWtqH6LgJReTS-g0nqqC-yKiEr_w,305
310
310
  wandb/sdk/launch/git_reference.py,sha256=6pTVlD7-BICWoraN8PsAzCKu64GV7g_GzqMSD9w3Sos,3758
@@ -811,8 +811,8 @@ wandb/vendor/watchdog_0_9_0/wandb_watchdog/utils/importlib2.py,sha256=cJIaJ2EQso
811
811
  wandb/vendor/watchdog_0_9_0/wandb_watchdog/utils/platform.py,sha256=UORYTNVcUSE2NpFcq9UVLIS-tsS0TS_Qw8akhKxn2eY,1506
812
812
  wandb/vendor/watchdog_0_9_0/wandb_watchdog/utils/unicode_paths.py,sha256=UWX8DB97ygkEeSxWQUYCHR4MahNilux7vl5TCTQtPPk,2190
813
813
  wandb/vendor/watchdog_0_9_0/wandb_watchdog/utils/win32stat.py,sha256=ZOevOTbSo8NRiIxkuBVGaG4yigWnPoO0goxAi-jsBkM,3828
814
- wandb-0.17.1.dist-info/METADATA,sha256=HCIHiCJeB5-szVfTUeHSJgBx5RY3-iktjRECWHX-iyk,10047
815
- wandb-0.17.1.dist-info/WHEEL,sha256=zEMcRr9Kr03x1ozGwg5v9NQBKn3kndp6LSoSlVg-jhU,87
816
- wandb-0.17.1.dist-info/entry_points.txt,sha256=v4FCOZ9gW7Pc6KLsmgQqpCiKTrA1wh2XHmNf-NUP1-I,67
817
- wandb-0.17.1.dist-info/licenses/LICENSE,sha256=izOKRJpGOx1PrJiGOKR0HsNdlB5JdH2d0Z4P7a7ssTc,1081
818
- wandb-0.17.1.dist-info/RECORD,,
814
+ wandb-0.17.2.dist-info/METADATA,sha256=JhhTi8qO6vb6y0E45qRuQWrd9rb44DWKGAr2E2Z0kFU,10047
815
+ wandb-0.17.2.dist-info/WHEEL,sha256=zEMcRr9Kr03x1ozGwg5v9NQBKn3kndp6LSoSlVg-jhU,87
816
+ wandb-0.17.2.dist-info/entry_points.txt,sha256=v4FCOZ9gW7Pc6KLsmgQqpCiKTrA1wh2XHmNf-NUP1-I,67
817
+ wandb-0.17.2.dist-info/licenses/LICENSE,sha256=izOKRJpGOx1PrJiGOKR0HsNdlB5JdH2d0Z4P7a7ssTc,1081
818
+ wandb-0.17.2.dist-info/RECORD,,
File without changes