wandb 0.17.1__py3-none-macosx_10_9_x86_64.whl → 0.17.2__py3-none-macosx_10_9_x86_64.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/bin/apple_gpu_stats CHANGED
Binary file
wandb/bin/wandb-core CHANGED
Binary file
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.1
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,15 +1,15 @@
1
1
  package_readme.md,sha256=xigFCsrzePKq72pDIEfkoVzb-NzDRsKpXXI0FMJ-6jg,4382
2
- wandb-0.17.1.dist-info/RECORD,,
3
- wandb-0.17.1.dist-info/WHEEL,sha256=y50fL_l-dnDH4vJTo8gELOYpJyvpbL9asn6dHF2Japk,102
4
- wandb-0.17.1.dist-info/entry_points.txt,sha256=v4FCOZ9gW7Pc6KLsmgQqpCiKTrA1wh2XHmNf-NUP1-I,67
5
- wandb-0.17.1.dist-info/METADATA,sha256=y_JXWZlwY77S0B_bElgWLRNRtN8RziD3xfphm_c4Czc,10047
6
- wandb-0.17.1.dist-info/licenses/LICENSE,sha256=izOKRJpGOx1PrJiGOKR0HsNdlB5JdH2d0Z4P7a7ssTc,1081
2
+ wandb-0.17.2.dist-info/RECORD,,
3
+ wandb-0.17.2.dist-info/WHEEL,sha256=y50fL_l-dnDH4vJTo8gELOYpJyvpbL9asn6dHF2Japk,102
4
+ wandb-0.17.2.dist-info/entry_points.txt,sha256=v4FCOZ9gW7Pc6KLsmgQqpCiKTrA1wh2XHmNf-NUP1-I,67
5
+ wandb-0.17.2.dist-info/METADATA,sha256=G0L6wFjIqd0ZUqsF7w1MbpA1mVBBB-kAMp5aYdyAr8Y,10047
6
+ wandb-0.17.2.dist-info/licenses/LICENSE,sha256=izOKRJpGOx1PrJiGOKR0HsNdlB5JdH2d0Z4P7a7ssTc,1081
7
7
  wandb/magic.py,sha256=YVSQmkrtlQ56p-VqkwjiPGNBa694UvPALxc4yp6RiLk,59
8
8
  wandb/env.py,sha256=ikF0Tuie1IiuDWf0F8jWf9AZplC7jR8vohk4PgLjke8,12826
9
9
  wandb/_globals.py,sha256=CccwOAls5bxJArYHg12b08ZeKR8Qu9u57GtYWjBH0o0,702
10
- wandb/util.py,sha256=FA416LFayNUJLCHw65RCEVVO9wABUMTUJwl8t7BQjNM,60943
10
+ wandb/util.py,sha256=JK4QbqJTyeogHLjSg_nTE3HyOe9dADCHSRXOUTtSWxY,61015
11
11
  wandb/wandb_run.py,sha256=CNh9S6uubFk8FphQjzkbvedyyGCN9aBEsRBKjy8tqqs,155
12
- wandb/__init__.py,sha256=rQ6QR2yzyH3BYp3kw3EdVx_Cn5fCRa2XM1YONFii8js,7033
12
+ wandb/__init__.py,sha256=8wErywxqTFW0Dx-_VrrPbU2wKkUDP8jzVHk6F-h3uSQ,7229
13
13
  wandb/data_types.py,sha256=SyBzrPvzfmgl9te_kH9yiNnn20L3eJvfbVnG2wRyZ3k,73149
14
14
  wandb/wandb_controller.py,sha256=Mp6szfycF_F8fFhxuDTSMpN4Vvc6D0Ix2gZBSSYOOS0,24804
15
15
  wandb/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -90,8 +90,8 @@ wandb/proto/v3/wandb_base_pb2.py,sha256=0Ixr7LeEOTdIU_pewdbhRZOrFqRtgsOsWcyC_Tw4
90
90
  wandb/proto/v3/wandb_internal_pb2.py,sha256=9doecnk53ETFmeP940ihmYmzFezJ4K__FfhBJ3gC5og,105966
91
91
  wandb/proto/v3/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
92
92
  wandb/proto/v3/wandb_telemetry_pb2.py,sha256=TPwVdmSS6F97iycCmoHG-vI_76LGeQEQFQrGFRiZyFM,13368
93
- wandb/bin/wandb-core,sha256=s7sFxHvUd3ZDen_RP9NlWSei7aKDJCdidxf3TkefIqI,11018114
94
- wandb/bin/apple_gpu_stats,sha256=-GeDJ3O9y1G7gGsftLq5fc_wsB3IL7_peQIJbmBvDj4,1440808
93
+ wandb/bin/wandb-core,sha256=4u90o77xANhry4uSR_wpOxfB9qBwSQDgPBJgaxTkOfg,11084514
94
+ wandb/bin/apple_gpu_stats,sha256=D4ghwyfQ4Wlu85Y3r9tV4jgxbgQ0cHjQRpnzNQ0nSr0,1440808
95
95
  wandb/integration/magic.py,sha256=8b7GkkntZb-jJ7L0OF4M7mS1yJKtMI_o3jfsTufWMr4,17246
96
96
  wandb/integration/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
97
97
  wandb/integration/yolov8/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -162,10 +162,10 @@ wandb/agents/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
162
162
  wandb/agents/pyagent.py,sha256=sf6TDxJk0Q6HUZc87BIyqP779Ttv58LhdH3kyCpF6t8,13442
163
163
  wandb/old/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
164
164
  wandb/old/core.py,sha256=MJjnAcUObCVXgLQEOW_iS7RREBiTB-YZtf9VHMYV2N4,3758
165
- wandb/old/summary.py,sha256=1ojvsoAOZF4UpSMSPpcLc2RNlg3QJfEZbe2w-xnfK1g,13815
165
+ wandb/old/summary.py,sha256=eqpzQB5CfzTKZta6tB-nVUh0ZmiLwISqjSAt4yvwocE,13952
166
166
  wandb/old/settings.py,sha256=IrS10skC9gCTb8NgTWeRFgsTYL1bw36e-rG_xECk-yo,6374
167
167
  wandb/cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
168
- wandb/cli/cli.py,sha256=iWKhKcH77O5Rm5svUvPM9Sl2I4rbNz5FKGD8jdvgMCs,97238
168
+ wandb/cli/cli.py,sha256=pCZF2eq9IzmbclGY-HFnOA4WILKAvz5B4M5W4ijWwvU,97644
169
169
  wandb/testing/relay.py,sha256=DTL9-ZQugqiID97PYRkym3zEJYmDeyh-7E0uzqNg0CI,29808
170
170
  wandb/sklearn/__init__.py,sha256=bDnzytR60EFQblaAZdw76WlJBmfG-O7NrKavIEY97Ck,861
171
171
  wandb/sklearn/utils.py,sha256=dfHxglqT6UlPl8ulgZNWrElfW04cdBWrFfEtDp3pvZw,5903
@@ -190,7 +190,7 @@ wandb/mpmain/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
190
190
  wandb/mpmain/__main__.py,sha256=bLhspPeHQvNMyRNR7xi9v-02XfW1mhJY2yBWI3bYtbg,57
191
191
  wandb/sdk/wandb_config.py,sha256=ZFEJEk7YoXTIySzHRGOIyyhgvbMUqTnUFAIlu-ZzGUo,10804
192
192
  wandb/sdk/wandb_alerts.py,sha256=SwBPBiXRxknMTMGbsVoMMWqWK65UWMcKAdTWZtdwAeo,193
193
- wandb/sdk/wandb_run.py,sha256=bLIc9hBIwV_QTBRoyM3D-whLIKflBdS8YN1pvhs1DOM,160869
193
+ wandb/sdk/wandb_run.py,sha256=bergnWHqdFldBPHDKHIXunDRW1LXZyrwVuj_HU77iec,160798
194
194
  wandb/sdk/wandb_sync.py,sha256=KhxDOHR7x8q54hAlsEx4ta1dAW1ZnzTUMr7VwJyCL5c,2273
195
195
  wandb/sdk/__init__.py,sha256=g8BQ6gQ_WDIH682ayRuKzD6QZXL8NW5CZKBLJOem5iU,805
196
196
  wandb/sdk/wandb_init.py,sha256=UQs6NCoOBpBbpJ9cwRVYW9ZkR8e4u8BctIGWFNz2TfU,48723
@@ -226,7 +226,7 @@ wandb/sdk/artifacts/storage_policy.py,sha256=iDZmHBINhrXoeUbc7s5MKCd0r5JCc5QPN3V
226
226
  wandb/sdk/artifacts/artifact_state.py,sha256=6fxISSPsK62VeMau_5CI4a9lQXTaUJXcruzk74WUIBE,236
227
227
  wandb/sdk/artifacts/artifact_ttl.py,sha256=kNRr9JZ5P2iuo0ofoNKlSddGJkIQXRUjwgO8YUdyN4g,86
228
228
  wandb/sdk/artifacts/storage_layout.py,sha256=No2cLJEuU3Dr8rJ5Pq-e-36S6p-WKoYcCG24DKAKzro,73
229
- wandb/sdk/artifacts/artifact.py,sha256=rzoJp-YGy5r53aieLY95kjV-CCq8sQWWAzT34qTfHRU,88458
229
+ wandb/sdk/artifacts/artifact.py,sha256=1qdtz4_IGh5mZ8Y7lKAdUuxYh0oW2EvGt0qimQ3FaDI,88812
230
230
  wandb/sdk/artifacts/artifact_file_cache.py,sha256=L5rik8yc1KNKa0TGNETYSCJhzgG8KlTUCTcW8j3Y6b4,8751
231
231
  wandb/sdk/artifacts/artifact_saver.py,sha256=tG3QiqB-CUrEC_2Qus1AsJHCInhgaFDqdDmZQ1ja798,9285
232
232
  wandb/sdk/artifacts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -252,13 +252,13 @@ wandb/sdk/artifacts/storage_handlers/gcs_handler.py,sha256=xIk-6AxqEe8JOzMaw79jZ
252
252
  wandb/sdk/artifacts/storage_handlers/tracking_handler.py,sha256=Yz5tC0d37JQjVCYJbte_5E33frAcI2A7q5mepSmMLN4,2577
253
253
  wandb/sdk/artifacts/artifact_manifests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
254
254
  wandb/sdk/artifacts/artifact_manifests/artifact_manifest_v1.py,sha256=ZQyFPm2ab0VtIpJjYW2jxuAb85u4S7n7IB69RnPycMU,3433
255
- wandb/sdk/data_types/object_3d.py,sha256=hxqH0tpQ6Kus_c3lBwaSiQ6K7rWI-vD1m2fpBzJl03U,12516
255
+ wandb/sdk/data_types/object_3d.py,sha256=NHtwyn5L36erpQc_p1GP1bA_NetJzB6mtsiQM7OG5NY,12517
256
256
  wandb/sdk/data_types/molecule.py,sha256=wZzxT_OKuM2CAZxc38o6COfrGgz9t8JCKuy0fd21A9w,8598
257
257
  wandb/sdk/data_types/histogram.py,sha256=BiIYj3yY-9oetopHf_cwPp9Z7mKS7bm3ve_ZMX0hwUg,3202
258
258
  wandb/sdk/data_types/trace_tree.py,sha256=KoKIsRuLG7sxTpeor-g1F_CbmY1AXn3KWnitxkVcfCM,14694
259
- wandb/sdk/data_types/html.py,sha256=KHUmuUknVKs54RZ3IAlZ2_NgUP4MrQvEIAPM45BizyQ,3491
259
+ wandb/sdk/data_types/html.py,sha256=GAcNfVwwMG_LoS4d64DvIY8pluitwsUvwcP6spwxgcA,3509
260
260
  wandb/sdk/data_types/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
261
- wandb/sdk/data_types/_dtypes.py,sha256=zLkEAVoFc7U0vb21t2-uxYFAylfpKohbsy_8_aDOmC8,29937
261
+ wandb/sdk/data_types/_dtypes.py,sha256=4oUPnxA7S9OB3RvmHG8qEvGqH_CENetY_5eSLakv7C8,30038
262
262
  wandb/sdk/data_types/utils.py,sha256=qVfISB7ycwBleVo6vQpphomwwP-KaJKtoWuV-GGpkmU,6318
263
263
  wandb/sdk/data_types/saved_model.py,sha256=EG5gAcheTyzCZdBsrKvEZc11i0xtlhQzwQ3U-ra6nOI,16362
264
264
  wandb/sdk/data_types/plotly.py,sha256=m75HRKSCdd9-cu-odpZ5d2Tu8KwmR_LVdW9u0H-68AE,2918
@@ -278,7 +278,7 @@ wandb/sdk/verify/verify.py,sha256=2C4C_l8EPGBXZw1PyXyHxnbVMuypHQhBkK5vV15xjG0,16
278
278
  wandb/sdk/launch/wandb_reference.py,sha256=t4REjZz5lwB9fjDW2eo8uRgw9KeLsPeZ1Uu8tiFDBfA,4253
279
279
  wandb/sdk/launch/_launch.py,sha256=rRhidG0loOoAr_U9MX9aRcBUuD95EzGBhFFqy6xSCiQ,11724
280
280
  wandb/sdk/launch/__init__.py,sha256=2B1J5HbUCeGq7gowbBgYy8-gYiD7kvxNFxbSphVjqhI,349
281
- wandb/sdk/launch/_project_spec.py,sha256=rHSS2ZrRoKE6A2LxWG4pBG1dydMIV7GOT1-dSZse92k,20885
281
+ wandb/sdk/launch/_project_spec.py,sha256=UK4p_-n6JGvVb1VQOucThgbTRs4cm3gqjl8XrECPir4,20887
282
282
  wandb/sdk/launch/_launch_add.py,sha256=g3lPxAhX209BqvNj25N13WOOrTOuUB8om9waEDF_0JU,8796
283
283
  wandb/sdk/launch/utils.py,sha256=LfXjInooIrzCcPJ9Ei2HCajgpuYLPQDvBkBTKcGJfQA,25654
284
284
  wandb/sdk/launch/loader.py,sha256=rSXCgiR7dStpdd_FQTm3qqzY3aa5L2vMpF1M_0OsxEE,8927
@@ -326,11 +326,11 @@ wandb/sdk/launch/inputs/internal.py,sha256=qsmqTl-I9M62LzZeSqip05pIRoG9Vdxohu1Oq
326
326
  wandb/sdk/launch/inputs/files.py,sha256=BWGDmAfDPLja7zz0bUzYLaF3wH4cTPesD9LqDuJRUoU,4685
327
327
  wandb/sdk/launch/inputs/manage.py,sha256=LTDTlIKHvF_1F6wgVVXIo9gvIY-lMmUoclYXkUyQ6SY,3786
328
328
  wandb/sdk/internal/update.py,sha256=4laKC_JnnVObHZCBgNCKKrItY6yAXWeIHttqfydmGKw,3884
329
- wandb/sdk/internal/sender.py,sha256=wa_qc_DRmF8HQsJISmVZ_vYPqiv9kRBMHEFZZSQcG6U,65821
329
+ wandb/sdk/internal/sender.py,sha256=w_hONddIpdZHchsfoq4mGE79kvCaxmo3qmSCHKF14-c,65993
330
330
  wandb/sdk/internal/internal.py,sha256=AUPsOXGwag2UjHg1rQz1zGGWXhywJo85Hoc62ZQ0uCc,12722
331
331
  wandb/sdk/internal/run.py,sha256=8OhVy2vfgPC8pNFq0tJ4CkQHETOBfQsFDghw50ccSXc,682
332
332
  wandb/sdk/internal/job_builder.py,sha256=vftff8ZIrVB65nJkEZ3CW5qSrbzFHzQeVbbpHrunou8,22700
333
- wandb/sdk/internal/internal_api.py,sha256=lUvtTrJEYat8LVOkunClqXmFW7txwkdKXN29MZ_j57I,144274
333
+ wandb/sdk/internal/internal_api.py,sha256=Zm_jv5hF11u7UGg5s0m-aRtC9tXr33C1OSeajYrblZk,144817
334
334
  wandb/sdk/internal/handler.py,sha256=Ngq613egsAbKYuVJueLguiSnT39oZeMQQyAvvMI3V0Q,33680
335
335
  wandb/sdk/internal/thread_local_settings.py,sha256=UqD6kfjsy6mvxIWcjhd-vJWkNRCeU1whuRe_-VGIklQ,527
336
336
  wandb/sdk/internal/sender_config.py,sha256=qEuXwOskca3sYyDIRsswlXmj9StCCS0WKQ1qrBXbIjw,6767
@@ -365,7 +365,7 @@ wandb/sdk/internal/system/assets/tpu.py,sha256=nwv3C9a6dgD1hc0461Rh28NQkWbNQ5fJO
365
365
  wandb/sdk/internal/system/assets/network.py,sha256=n3buH2-InLGT35PVlvhY5eHv_Hm5Kl_N8jH576OiVi8,3392
366
366
  wandb/sdk/internal/system/assets/open_metrics.py,sha256=6HoA4Wg34u_yPVM-vhH621lP4napx7ITImmiHqFyPqs,9741
367
367
  wandb/sdk/internal/system/assets/gpu_apple.py,sha256=1NbkBcnX5fcgUUootdXbC5ntiXZp1YJ07LNXMTm4BlI,5279
368
- wandb/sdk/internal/system/assets/gpu.py,sha256=fqBxRR6dcnLYX0uDEZ3u2UWk853kdKQQ6mr1yXzXzs0,13631
368
+ wandb/sdk/internal/system/assets/gpu.py,sha256=IniAgV7fcwVuvbbQu-eVmWjBwzVKi2bNFkfwWLpYqXw,13714
369
369
  wandb/sdk/backend/backend.py,sha256=aVJFViyPxV4yXViqpixhNWElbXR1NVxijeIX-NAIFAA,8308
370
370
  wandb/sdk/backend/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
371
371
  wandb/sdk/lib/wburls.py,sha256=foGBNKwdRSlG_J8PJyAQ0nSWzGZcwbJeN3yjk231KO4,1435
File without changes