wandb 0.17.0rc1__py3-none-macosx_11_0_arm64.whl → 0.17.0rc2__py3-none-macosx_11_0_arm64.whl

Sign up to get free protection for your applications and to get access to all the features.
Files changed (42) hide show
  1. wandb/__init__.py +1 -1
  2. wandb/apis/reports/v1/_blocks.py +1 -1
  3. wandb/bin/apple_gpu_stats +0 -0
  4. wandb/bin/wandb-core +0 -0
  5. wandb/data_types.py +6 -3
  6. wandb/docker/__init__.py +1 -1
  7. wandb/env.py +3 -3
  8. wandb/integration/huggingface/resolver.py +2 -2
  9. wandb/integration/keras/callbacks/metrics_logger.py +1 -1
  10. wandb/integration/keras/keras.py +1 -1
  11. wandb/old/summary.py +1 -1
  12. wandb/plot/confusion_matrix.py +1 -1
  13. wandb/plots/precision_recall.py +1 -1
  14. wandb/plots/roc.py +1 -1
  15. wandb/sdk/data_types/_dtypes.py +8 -8
  16. wandb/sdk/data_types/image.py +1 -1
  17. wandb/sdk/data_types/video.py +1 -1
  18. wandb/sdk/integration_utils/data_logging.py +5 -5
  19. wandb/sdk/interface/interface.py +1 -1
  20. wandb/sdk/internal/job_builder.py +1 -1
  21. wandb/sdk/launch/_project_spec.py +3 -1
  22. wandb/sdk/launch/agent/agent.py +1 -1
  23. wandb/sdk/launch/builder/abstract.py +1 -1
  24. wandb/sdk/launch/builder/build.py +1 -1
  25. wandb/sdk/launch/builder/kaniko_builder.py +2 -2
  26. wandb/sdk/launch/registry/google_artifact_registry.py +1 -1
  27. wandb/sdk/launch/sweeps/scheduler.py +3 -3
  28. wandb/sdk/launch/sweeps/scheduler_sweep.py +1 -1
  29. wandb/sdk/launch/sweeps/utils.py +2 -2
  30. wandb/sdk/lib/import_hooks.py +1 -1
  31. wandb/sdk/lib/redirect.py +19 -14
  32. wandb/sdk/lib/tracelog.py +1 -1
  33. wandb/sdk/wandb_run.py +11 -8
  34. wandb/sdk/wandb_setup.py +1 -1
  35. wandb/sklearn/plot/classifier.py +6 -6
  36. wandb/sklearn/plot/clusterer.py +1 -1
  37. wandb/wandb_controller.py +2 -2
  38. {wandb-0.17.0rc1.dist-info → wandb-0.17.0rc2.dist-info}/METADATA +2 -2
  39. {wandb-0.17.0rc1.dist-info → wandb-0.17.0rc2.dist-info}/RECORD +42 -42
  40. {wandb-0.17.0rc1.dist-info → wandb-0.17.0rc2.dist-info}/WHEEL +1 -1
  41. {wandb-0.17.0rc1.dist-info → wandb-0.17.0rc2.dist-info}/entry_points.txt +0 -0
  42. {wandb-0.17.0rc1.dist-info → wandb-0.17.0rc2.dist-info}/licenses/LICENSE +0 -0
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.0rc1"
14
+ __version__ = "0.17.0rc2"
15
15
 
16
16
 
17
17
  # Used with pypi checks and other messages related to pip
@@ -1060,7 +1060,7 @@ class WeaveBlockArtifact(Block):
1060
1060
 
1061
1061
 
1062
1062
  class WeaveBlockArtifactVersionedFile(Block):
1063
- """This is a hacky solution to support the most common way of getting Weave artifact verions for now..."""
1063
+ """This is a hacky solution to support the most common way of getting Weave artifact versions for now..."""
1064
1064
 
1065
1065
  entity: str = Attr()
1066
1066
  project: str = Attr()
wandb/bin/apple_gpu_stats CHANGED
Binary file
wandb/bin/wandb-core CHANGED
Binary file
wandb/data_types.py CHANGED
@@ -191,7 +191,7 @@ class Table(Media):
191
191
  ):
192
192
  """Initializes a Table object.
193
193
 
194
- The rows is availble for legacy reasons and should not be used.
194
+ The rows is available for legacy reasons and should not be used.
195
195
  The Table class uses data to mimic the Pandas API.
196
196
  """
197
197
  super().__init__()
@@ -280,7 +280,10 @@ class Table(Media):
280
280
  self.cast(col_name, dt, opt)
281
281
 
282
282
  def cast(self, col_name, dtype, optional=False):
283
- """Casts a column to a specific data type. This can be one of the normal python classes, an internal W&B type, or an example objec, like an instance of wandb.Image or wandb.Classes.
283
+ """Casts a column to a specific data type.
284
+
285
+ This can be one of the normal python classes, an internal W&B type, or an
286
+ example object, like an instance of wandb.Image or wandb.Classes.
284
287
 
285
288
  Arguments:
286
289
  col_name: (str) - The name of the column to cast.
@@ -763,7 +766,7 @@ class Table(Media):
763
766
 
764
767
  Arguments:
765
768
  name: (str) - the unique name of the column
766
- data: (list | np.array) - a column of homogenous data
769
+ data: (list | np.array) - a column of homogeneous data
767
770
  optional: (bool) - if null-like values are permitted
768
771
  """
769
772
  assert isinstance(name, str) and name not in self.columns
wandb/docker/__init__.py CHANGED
@@ -289,7 +289,7 @@ def image_id_from_registry(image_name: str) -> Optional[str]:
289
289
 
290
290
 
291
291
  def image_id(image_name: str) -> Optional[str]:
292
- """Retreve the image id from the local docker daemon or remote registry."""
292
+ """Retrieve the image id from the local docker daemon or remote registry."""
293
293
  if "@sha256:" in image_name:
294
294
  return image_name
295
295
  else:
wandb/env.py CHANGED
@@ -16,7 +16,7 @@ import sys
16
16
  from pathlib import Path
17
17
  from typing import List, MutableMapping, Optional, Union
18
18
 
19
- import appdirs # type: ignore
19
+ import platformdirs # type: ignore
20
20
 
21
21
  Env = Optional[MutableMapping]
22
22
 
@@ -385,7 +385,7 @@ def get_magic(
385
385
 
386
386
 
387
387
  def get_data_dir(env: Optional[Env] = None) -> str:
388
- default_dir = appdirs.user_data_dir("wandb")
388
+ default_dir = platformdirs.user_data_dir("wandb")
389
389
  if env is None:
390
390
  env = os.environ
391
391
  val = env.get(DATA_DIR, default_dir)
@@ -410,7 +410,7 @@ def get_artifact_fetch_file_url_batch_size(env: Optional[Env] = None) -> int:
410
410
 
411
411
  def get_cache_dir(env: Optional[Env] = None) -> Path:
412
412
  env = env or os.environ
413
- return Path(env.get(CACHE_DIR, appdirs.user_cache_dir("wandb")))
413
+ return Path(env.get(CACHE_DIR, platformdirs.user_cache_dir("wandb")))
414
414
 
415
415
 
416
416
  def get_use_v1_artifacts(env: Optional[Env] = None) -> bool:
@@ -91,8 +91,8 @@ class HuggingFacePipelineRequestResponseResolver:
91
91
 
92
92
  # TODO: This should have a dependency on PreTrainedModel. i.e. isinstance(PreTrainedModel)
93
93
  # from transformers.modeling_utils import PreTrainedModel
94
- # We do not want this dependency explicity in our codebase so we make a very general assumption about
95
- # the structure of the pipeline which may have unintended consequences
94
+ # We do not want this dependency explicitly in our codebase so we make a very general
95
+ # assumption about the structure of the pipeline which may have unintended consequences
96
96
  def _get_model(self, pipe) -> Optional[Any]:
97
97
  """Extracts model from the pipeline.
98
98
 
@@ -43,7 +43,7 @@ class WandbMetricsLogger(callbacks.Callback):
43
43
  at the end of each epoch. If "batch", logs metrics at the end
44
44
  of each batch. If an integer, logs metrics at the end of that
45
45
  many batches. Defaults to "epoch".
46
- initial_global_step: (int) Use this argument to correcly log the
46
+ initial_global_step: (int) Use this argument to correctly log the
47
47
  learning rate when you resume training from some `initial_epoch`,
48
48
  and a learning rate scheduler is used. This can be computed as
49
49
  `step_size * initial_step`. Defaults to 0.
@@ -576,7 +576,7 @@ class WandbCallback(tf.keras.callbacks.Callback):
576
576
  )
577
577
  self._model_trained_since_last_eval = False
578
578
  except Exception as e:
579
- wandb.termwarn("Error durring prediction logging for epoch: " + str(e))
579
+ wandb.termwarn("Error during prediction logging for epoch: " + str(e))
580
580
 
581
581
  def on_epoch_end(self, epoch, logs=None):
582
582
  if logs is None:
wandb/old/summary.py CHANGED
@@ -61,7 +61,7 @@ class SummarySubDict:
61
61
  This should only be implemented by the "_root" child class.
62
62
 
63
63
  We pass the child_dict so the item can be set on it or not as
64
- appropriate. Returning None for a nonexistant path wouldn't be
64
+ appropriate. Returning None for a nonexistent path wouldn't be
65
65
  distinguishable from that path being set to the value None.
66
66
  """
67
67
  raise NotImplementedError
@@ -48,7 +48,7 @@ def confusion_matrix(
48
48
 
49
49
  assert (probs is None or preds is None) and not (
50
50
  probs is None and preds is None
51
- ), "Must provide probabilties or predictions but not both to confusion matrix"
51
+ ), "Must provide probabilities or predictions but not both to confusion matrix"
52
52
 
53
53
  if probs is not None:
54
54
  preds = np.argmax(probs, axis=1).tolist()
@@ -25,7 +25,7 @@ def precision_recall(
25
25
  Arguments:
26
26
  y_true (arr): Test set labels.
27
27
  y_probas (arr): Test set predicted probabilities.
28
- labels (list): Named labels for target varible (y). Makes plots easier to
28
+ labels (list): Named labels for target variable (y). Makes plots easier to
29
29
  read by replacing target values with corresponding index.
30
30
  For example labels= ['dog', 'cat', 'owl'] all 0s are
31
31
  replaced by 'dog', 1s by 'cat'.
wandb/plots/roc.py CHANGED
@@ -25,7 +25,7 @@ def roc(
25
25
  Arguments:
26
26
  y_true (arr): Test set labels.
27
27
  y_probas (arr): Test set predicted probabilities.
28
- labels (list): Named labels for target varible (y). Makes plots easier to
28
+ labels (list): Named labels for target variable (y). Makes plots easier to
29
29
  read by replacing target values with corresponding index.
30
30
  For example labels= ['dog', 'cat', 'owl'] all 0s are
31
31
  replaced by 'dog', 1s by 'cat'.
@@ -14,7 +14,7 @@ np = get_module("numpy") # intentionally not required
14
14
  if t.TYPE_CHECKING:
15
15
  from wandb.sdk.artifacts.artifact import Artifact
16
16
 
17
- ConvertableToType = t.Union["Type", t.Type["Type"], type, t.Any]
17
+ ConvertibleToType = t.Union["Type", t.Type["Type"], type, t.Any]
18
18
 
19
19
 
20
20
  class TypeRegistry:
@@ -84,7 +84,7 @@ class TypeRegistry:
84
84
  return _type.from_json(json_dict, artifact)
85
85
 
86
86
  @staticmethod
87
- def type_from_dtype(dtype: ConvertableToType) -> "Type":
87
+ def type_from_dtype(dtype: ConvertibleToType) -> "Type":
88
88
  # The dtype is already an instance of Type
89
89
  if isinstance(dtype, Type):
90
90
  wbtype: Type = dtype
@@ -528,7 +528,7 @@ class UnionType(Type):
528
528
 
529
529
  def __init__(
530
530
  self,
531
- allowed_types: t.Optional[t.Sequence[ConvertableToType]] = None,
531
+ allowed_types: t.Optional[t.Sequence[ConvertibleToType]] = None,
532
532
  ):
533
533
  assert allowed_types is None or (allowed_types.__class__ == list)
534
534
  if allowed_types is None:
@@ -576,7 +576,7 @@ class UnionType(Type):
576
576
  return "{}".format(" or ".join([str(t) for t in self.params["allowed_types"]]))
577
577
 
578
578
 
579
- def OptionalType(dtype: ConvertableToType) -> UnionType: # noqa: N802
579
+ def OptionalType(dtype: ConvertibleToType) -> UnionType: # noqa: N802
580
580
  """Function that mimics the Type class API for constructing an "Optional Type".
581
581
 
582
582
  This is just a Union[wb_type, NoneType].
@@ -591,14 +591,14 @@ def OptionalType(dtype: ConvertableToType) -> UnionType: # noqa: N802
591
591
 
592
592
 
593
593
  class ListType(Type):
594
- """A list of homogenous types."""
594
+ """A list of homogeneous types."""
595
595
 
596
596
  name = "list"
597
597
  types: t.ClassVar[t.List[type]] = [list, tuple, set, frozenset]
598
598
 
599
599
  def __init__(
600
600
  self,
601
- element_type: t.Optional[ConvertableToType] = None,
601
+ element_type: t.Optional[ConvertibleToType] = None,
602
602
  length: t.Optional[int] = None,
603
603
  ):
604
604
  if element_type is None:
@@ -691,7 +691,7 @@ class ListType(Type):
691
691
 
692
692
 
693
693
  class NDArrayType(Type):
694
- """Represents a list of homogenous types."""
694
+ """Represents a list of homogeneous types."""
695
695
 
696
696
  name = "ndarray"
697
697
  types: t.ClassVar[t.List[type]] = [] # will manually add type if np is available
@@ -786,7 +786,7 @@ class TypedDictType(Type):
786
786
 
787
787
  def __init__(
788
788
  self,
789
- type_map: t.Optional[t.Dict[str, ConvertableToType]] = None,
789
+ type_map: t.Optional[t.Dict[str, ConvertibleToType]] = None,
790
790
  ):
791
791
  if type_map is None:
792
792
  type_map = {}
@@ -167,7 +167,7 @@ class Image(BatchableMedia):
167
167
  self._file_type = None
168
168
 
169
169
  # Allows the user to pass an Image object as the first parameter and have a perfect copy,
170
- # only overriding additional metdata passed in. If this pattern is compelling, we can generalize.
170
+ # only overriding additional metadata passed in. If this pattern is compelling, we can generalize.
171
171
  if isinstance(data_or_path, Image):
172
172
  self._initialize_from_wbimage(data_or_path)
173
173
  elif isinstance(data_or_path, str):
@@ -24,7 +24,7 @@ if TYPE_CHECKING: # pragma: no cover
24
24
  # https://github.com/wandb/wandb/issues/3472
25
25
  #
26
26
  # Essentially, the issue is that moviepy's write_gif function fails to close
27
- # the open write / file descripter returned from `imageio.save`. The following
27
+ # the open write / file descriptor returned from `imageio.save`. The following
28
28
  # function is a simplified copy of the function in the moviepy source code.
29
29
  # See https://github.com/Zulko/moviepy/blob/7e3e8bb1b739eb6d1c0784b0cb2594b587b93b39/moviepy/video/io/gif_writers.py#L428
30
30
  #
@@ -78,7 +78,7 @@ class ValidationDataLogger:
78
78
  Defaults to `"wb_validation_data"`.
79
79
  artifact_type: The artifact type to use for the validation data.
80
80
  Defaults to `"validation_dataset"`.
81
- class_labels: Optional list of lables to use in the inferred
81
+ class_labels: Optional list of labels to use in the inferred
82
82
  processors. If the model's `target` or `output` is inferred to be a class,
83
83
  we will attempt to map the class to these labels. Defaults to `None`.
84
84
  infer_missing_processors: Determines if processors are inferred if
@@ -262,7 +262,7 @@ def _infer_single_example_keyed_processor(
262
262
  ):
263
263
  np = wandb.util.get_module(
264
264
  "numpy",
265
- required="Infering processors require numpy",
265
+ required="Inferring processors require numpy",
266
266
  )
267
267
  # Assume these are logits
268
268
  class_names = class_labels_table.get_column("label")
@@ -301,7 +301,7 @@ def _infer_single_example_keyed_processor(
301
301
  elif len(shape) == 1:
302
302
  np = wandb.util.get_module(
303
303
  "numpy",
304
- required="Infering processors require numpy",
304
+ required="Inferring processors require numpy",
305
305
  )
306
306
  # This could be anything
307
307
  if shape[0] <= 10:
@@ -354,7 +354,7 @@ def _infer_validation_row_processor(
354
354
  input_col_name: str = "input",
355
355
  target_col_name: str = "target",
356
356
  ) -> Callable:
357
- """Infers the composit processor for the validation data."""
357
+ """Infers the composite processor for the validation data."""
358
358
  single_processors = {}
359
359
  if isinstance(example_input, dict):
360
360
  for key in example_input:
@@ -431,7 +431,7 @@ def _infer_prediction_row_processor(
431
431
  input_col_name: str = "input",
432
432
  output_col_name: str = "output",
433
433
  ) -> Callable:
434
- """Infers the composit processor for the prediction output data."""
434
+ """Infers the composite processor for the prediction output data."""
435
435
  single_processors = {}
436
436
 
437
437
  if isinstance(example_prediction, dict):
@@ -387,7 +387,7 @@ class InterfaceBase:
387
387
  def _make_partial_source_str(
388
388
  source: Any, job_info: Dict[str, Any], metadata: Dict[str, Any]
389
389
  ) -> str:
390
- """Construct use_artifact.partial.source_info.sourc as str."""
390
+ """Construct use_artifact.partial.source_info.source as str."""
391
391
  source_type = job_info.get("source_type", "").strip()
392
392
  if source_type == "artifact":
393
393
  info_source = job_info.get("source", {})
@@ -276,7 +276,7 @@ class JobBuilder:
276
276
  return source, name
277
277
 
278
278
  def _make_job_name(self, input_str: str) -> str:
279
- """Use job name from settings if provided, else use programatic name."""
279
+ """Use job name from settings if provided, else use programmatic name."""
280
280
  if self._settings.job_name:
281
281
  return self._settings.job_name
282
282
 
@@ -404,7 +404,9 @@ class LaunchProject:
404
404
  _logger.debug("")
405
405
  return self.docker_image
406
406
  else:
407
- raise LaunchError("Unknown source type when determing image source string")
407
+ raise LaunchError(
408
+ "Unknown source type when determining image source string"
409
+ )
408
410
 
409
411
  def _ensure_not_docker_image_and_local_process(self) -> None:
410
412
  """Ensure that docker image is not specified with local-process resource runner.
@@ -241,7 +241,7 @@ class LaunchAgent:
241
241
  """Determine whether a job/runSpec is a sweep scheduler."""
242
242
  if not run_spec:
243
243
  self._internal_logger.debug(
244
- "Recieved runSpec in _is_scheduler_job that was empty"
244
+ "Received runSpec in _is_scheduler_job that was empty"
245
245
  )
246
246
 
247
247
  if run_spec.get("uri") != Scheduler.PLACEHOLDER_URI:
@@ -35,7 +35,7 @@ class AbstractBuilder(ABC):
35
35
  verify: Whether to verify the functionality of the builder.
36
36
 
37
37
  Raises:
38
- LaunchError: If the builder cannot be intialized or verified.
38
+ LaunchError: If the builder cannot be initialized or verified.
39
39
  """
40
40
  raise NotImplementedError
41
41
 
@@ -65,7 +65,7 @@ def registry_from_uri(uri: str) -> AbstractRegistry:
65
65
  it as an AWS Elastic Container Registry. If the uri contains
66
66
  `-docker.pkg.dev`, we classify it as a Google Artifact Registry.
67
67
 
68
- This function will attempt to load the approriate cloud helpers for the
68
+ This function will attempt to load the appropriate cloud helpers for the
69
69
 
70
70
  `https://` prefix is optional for all of the above.
71
71
 
@@ -286,7 +286,7 @@ class KanikoBuilder(AbstractBuilder):
286
286
  _, api_client = await get_kube_context_and_api_client(
287
287
  kubernetes, launch_project.resource_args
288
288
  )
289
- # TODO: use same client as kuberentes_runner.py
289
+ # TODO: use same client as kubernetes_runner.py
290
290
  batch_v1 = client.BatchV1Api(api_client)
291
291
  core_v1 = client.CoreV1Api(api_client)
292
292
 
@@ -522,7 +522,7 @@ class KanikoBuilder(AbstractBuilder):
522
522
  volume_mounts.append(
523
523
  {"name": "docker-config", "mountPath": "/kaniko/.docker/"}
524
524
  )
525
- # Kaniko doesn't want https:// at the begining of the image tag.
525
+ # Kaniko doesn't want https:// at the beginning of the image tag.
526
526
  destination = image_tag
527
527
  if destination.startswith("https://"):
528
528
  destination = destination.replace("https://", "")
@@ -211,7 +211,7 @@ class GoogleArtifactRegistry(AbstractRegistry):
211
211
  for image in await list_images(request={"parent": parent}):
212
212
  if tag in image.tags:
213
213
  return True
214
- except google.api_core.exceptions.NotFound as e:
214
+ except google.api_core.exceptions.NotFound as e: # type: ignore[attr-defined]
215
215
  raise LaunchError(
216
216
  f"The Google Artifact Registry repository {self.repository} "
217
217
  f"does not exist. Please create it or modify your registry configuration."
@@ -408,7 +408,7 @@ class Scheduler(ABC):
408
408
  return count
409
409
 
410
410
  def _try_load_executable(self) -> bool:
411
- """Check existance of valid executable for a run.
411
+ """Check existence of valid executable for a run.
412
412
 
413
413
  logs and returns False when job is unreachable
414
414
  """
@@ -423,7 +423,7 @@ class Scheduler(ABC):
423
423
  return False
424
424
  return True
425
425
  elif self._kwargs.get("image_uri"):
426
- # TODO(gst): check docker existance? Use registry in launch config?
426
+ # TODO(gst): check docker existence? Use registry in launch config?
427
427
  return True
428
428
  else:
429
429
  return False
@@ -611,7 +611,7 @@ class Scheduler(ABC):
611
611
  f"Failed to get runstate for run ({run_id}). Error: {traceback.format_exc()}"
612
612
  )
613
613
  run_state = RunState.FAILED
614
- else: # first time we get unknwon state
614
+ else: # first time we get unknown state
615
615
  run_state = RunState.UNKNOWN
616
616
  except (AttributeError, ValueError):
617
617
  wandb.termwarn(
@@ -59,7 +59,7 @@ class SweepScheduler(Scheduler):
59
59
  return None
60
60
 
61
61
  def _get_sweep_commands(self, worker_id: int) -> List[Dict[str, Any]]:
62
- """Helper to recieve sweep command from backend."""
62
+ """Helper to receive sweep command from backend."""
63
63
  # AgentHeartbeat wants a Dict of runs which are running or queued
64
64
  _run_states: Dict[str, bool] = {}
65
65
  for run_id, run in self._yield_runs():
@@ -217,7 +217,7 @@ def create_sweep_command_args(command: Dict) -> Dict[str, Any]:
217
217
  flags: List[str] = []
218
218
  # (2) flags without hyphens (e.g. foo=bar)
219
219
  flags_no_hyphens: List[str] = []
220
- # (3) flags with false booleans ommited (e.g. --foo)
220
+ # (3) flags with false booleans omitted (e.g. --foo)
221
221
  flags_no_booleans: List[str] = []
222
222
  # (4) flags as a dictionary (used for constructing a json)
223
223
  flags_dict: Dict[str, Any] = {}
@@ -257,7 +257,7 @@ def make_launch_sweep_entrypoint(
257
257
  """Use args dict from create_sweep_command_args to construct entrypoint.
258
258
 
259
259
  If replace is True, remove macros from entrypoint, fill them in with args
260
- and then return the args in seperate return value.
260
+ and then return the args in separate return value.
261
261
  """
262
262
  if not command:
263
263
  return None, None
@@ -143,7 +143,7 @@ class _ImportHookChainedLoader:
143
143
  # None, so handle None as well. The module may not support attribute
144
144
  # assignment, in which case we simply skip it. Note that we also deal
145
145
  # with __loader__ not existing at all. This is to future proof things
146
- # due to proposal to remove the attribue as described in the GitHub
146
+ # due to proposal to remove the attribute as described in the GitHub
147
147
  # issue at https://github.com/python/cpython/issues/77458. Also prior
148
148
  # to Python 3.3, the __loader__ attribute was only set if a custom
149
149
  # module loader was used. It isn't clear whether the attribute still
wandb/sdk/lib/redirect.py CHANGED
@@ -224,7 +224,7 @@ class TerminalEmulator:
224
224
  def carriage_return(self):
225
225
  self.cursor.x = 0
226
226
 
227
- def cursor_postion(self, line, column):
227
+ def cursor_position(self, line, column):
228
228
  self.cursor.x = min(column, 1) - 1
229
229
  self.cursor.y = min(line, 1) - 1
230
230
 
@@ -393,25 +393,30 @@ class TerminalEmulator:
393
393
  p = (int(p[0]), 1)
394
394
  else:
395
395
  p = (1, 1)
396
- self.cursor_postion(*p)
396
+ self.cursor_position(*p)
397
397
  except Exception:
398
398
  pass
399
399
 
400
400
  def _get_line(self, n):
401
401
  line = self.buffer[n]
402
402
  line_len = self._get_line_len(n)
403
- # We have to loop through each character in the line and check if foreground, background and
404
- # other attributes (italics, bold, underline, etc) of the ith character are different from those of the
405
- # (i-1)th character. If different, the appropriate ascii character for switching the color/attribute
406
- # should be appended to the output string before appending the actual character. This loop and subsequent
407
- # checks can be expensive, especially because 99% of terminal output use default colors and formatting. Even
408
- # in outputs that do contain colors and styles, its unlikely that they will change on a per character basis.
409
-
410
- # So instead we create a character list without any ascii codes (`out`), and a list of all the foregrounds
411
- # in the line (`fgs`) on which we call np.diff() and np.where() to find the indices where the foreground change,
412
- # and insert the ascii characters in the output list (`out`) on those indices. All of this is the done ony if
413
- # there are more than 1 foreground color in the line in the first place (`if len(set(fgs)) > 1 else None`).
414
- # Same logic is repeated for background colors and other attributes.
403
+ # We have to loop through each character in the line and check if foreground,
404
+ # background and other attributes (italics, bold, underline, etc) of the ith
405
+ # character are different from those of the (i-1)th character. If different, the
406
+ # appropriate ascii character for switching the color/attribute should be
407
+ # appended to the output string before appending the actual character. This loop
408
+ # and subsequent checks can be expensive, especially because 99% of terminal
409
+ # output use default colors and formatting. Even in outputs that do contain
410
+ # colors and styles, its unlikely that they will change on a per character
411
+ # basis.
412
+
413
+ # So instead we create a character list without any ascii codes (`out`), and a
414
+ # list of all the foregrounds in the line (`fgs`) on which we call np.diff() and
415
+ # np.where() to find the indices where the foreground change, and insert the
416
+ # ascii characters in the output list (`out`) on those indices. All of this is
417
+ # the done only if there are more than 1 foreground color in the line in the
418
+ # first place (`if len(set(fgs)) > 1 else None`). Same logic is repeated for
419
+ # background colors and other attributes.
415
420
 
416
421
  out = [line[i].data for i in range(line_len)]
417
422
 
wandb/sdk/lib/tracelog.py CHANGED
@@ -6,7 +6,7 @@ Functions:
6
6
  log_message_send - message sent to socket
7
7
  log_message_recv - message received from socket
8
8
  log_message_process - message processed by thread
9
- log_message_link - message linked to another mesage
9
+ log_message_link - message linked to another message
10
10
  log_message_assert - message encountered problem
11
11
 
12
12
  """
wandb/sdk/wandb_run.py CHANGED
@@ -1853,7 +1853,7 @@ class Run:
1853
1853
  picked up automatically.
1854
1854
 
1855
1855
  A `base_path` may be provided to control the directory structure of
1856
- uploaded files. It should be a prefix of `glob_str`, and the direcotry
1856
+ uploaded files. It should be a prefix of `glob_str`, and the directory
1857
1857
  structure beneath it is preserved. It's best understood through
1858
1858
  examples:
1859
1859
 
@@ -1911,7 +1911,11 @@ class Run:
1911
1911
  # Provide a better error message for a common misuse.
1912
1912
  wandb.termlog(f"{glob_str} is a cloud storage url, can't save file to W&B.")
1913
1913
  return []
1914
- glob_path = pathlib.Path(glob_str)
1914
+ # NOTE: We use PurePath instead of Path because WindowsPath doesn't
1915
+ # like asterisks and errors out in resolve(). It also makes logical
1916
+ # sense: globs aren't real paths, they're just path-like strings.
1917
+ glob_path = pathlib.PurePath(glob_str)
1918
+ resolved_glob_path = pathlib.PurePath(os.path.abspath(glob_path))
1915
1919
 
1916
1920
  if base_path is not None:
1917
1921
  base_path = pathlib.Path(base_path)
@@ -1925,15 +1929,14 @@ class Run:
1925
1929
  'wandb.save("/mnt/folder/file.h5", base_path="/mnt")',
1926
1930
  repeat=False,
1927
1931
  )
1928
- base_path = glob_path.resolve().parent.parent
1932
+ base_path = resolved_glob_path.parent.parent
1929
1933
 
1930
1934
  if policy not in ("live", "end", "now"):
1931
1935
  raise ValueError(
1932
1936
  'Only "live", "end" and "now" policies are currently supported.'
1933
1937
  )
1934
1938
 
1935
- resolved_glob_path = glob_path.resolve()
1936
- resolved_base_path = base_path.resolve()
1939
+ resolved_base_path = pathlib.PurePath(os.path.abspath(base_path))
1937
1940
 
1938
1941
  return self._save(
1939
1942
  resolved_glob_path,
@@ -1943,8 +1946,8 @@ class Run:
1943
1946
 
1944
1947
  def _save(
1945
1948
  self,
1946
- glob_path: pathlib.Path,
1947
- base_path: pathlib.Path,
1949
+ glob_path: pathlib.PurePath,
1950
+ base_path: pathlib.PurePath,
1948
1951
  policy: "PolicyName",
1949
1952
  ) -> List[str]:
1950
1953
  # Can't use is_relative_to() because that's added in Python 3.9,
@@ -3658,7 +3661,7 @@ class Run:
3658
3661
  # FOOTER
3659
3662
  # ------------------------------------------------------------------------------
3660
3663
  # Note: All the footer methods are static methods since we want to share the printing logic
3661
- # with the service execution path that doesn't have acess to the run instance
3664
+ # with the service execution path that doesn't have access to the run instance
3662
3665
  @staticmethod
3663
3666
  def _footer(
3664
3667
  sampled_history: Optional["SampledHistoryResponse"] = None,
wandb/sdk/wandb_setup.py CHANGED
@@ -1,7 +1,7 @@
1
1
  #
2
2
  """Setup wandb session.
3
3
 
4
- This module configures a wandb session which can extend to mutiple wandb runs.
4
+ This module configures a wandb session which can extend to multiple wandb runs.
5
5
 
6
6
  Functions:
7
7
  setup(): Configure wandb session.
@@ -33,9 +33,9 @@ def classifier(
33
33
 
34
34
  The following plots are generated:
35
35
  feature importances, confusion matrix, summary metrics,
36
- class propotions, calibration curve, roc curve, precision-recall curve.
36
+ class proportions, calibration curve, roc curve, precision-recall curve.
37
37
 
38
- Should only be called with a fitted classifer (otherwise an error is thrown).
38
+ Should only be called with a fitted classifier (otherwise an error is thrown).
39
39
 
40
40
  Arguments:
41
41
  model: (classifier) Takes in a fitted classifier.
@@ -45,7 +45,7 @@ def classifier(
45
45
  y_test: (arr) Test set labels.
46
46
  y_pred: (arr) Test set predictions by the model passed.
47
47
  y_probas: (arr) Test set predicted probabilities by the model passed.
48
- labels: (list) Named labels for target varible (y). Makes plots easier to
48
+ labels: (list) Named labels for target variable (y). Makes plots easier to
49
49
  read by replacing target values with corresponding index.
50
50
  For example if `labels=['dog', 'cat', 'owl']` all 0s are
51
51
  replaced by dog, 1s by cat.
@@ -225,7 +225,7 @@ def feature_importances(
225
225
  ):
226
226
  """Log a plot depicting the relative importance of each feature for a classifier's decisions.
227
227
 
228
- Should only be called with a fitted classifer (otherwise an error is thrown).
228
+ Should only be called with a fitted classifier (otherwise an error is thrown).
229
229
  Only works with classifiers that have a feature_importances_ attribute, like trees.
230
230
 
231
231
  Arguments:
@@ -252,7 +252,7 @@ def feature_importances(
252
252
 
253
253
 
254
254
  def class_proportions(y_train=None, y_test=None, labels=None):
255
- """Plot the distribution of target classses in training and test sets.
255
+ """Plot the distribution of target classes in training and test sets.
256
256
 
257
257
  Useful for detecting imbalanced classes.
258
258
 
@@ -296,7 +296,7 @@ def calibration_curve(clf=None, X=None, y=None, clf_name="Classifier"):
296
296
  if so which calibration (sigmoid or isotonic) might help fix this.
297
297
  For more details, see https://scikit-learn.org/stable/auto_examples/calibration/plot_calibration_curve.html.
298
298
 
299
- Should only be called with a fitted classifer (otherwise an error is thrown).
299
+ Should only be called with a fitted classifier (otherwise an error is thrown).
300
300
 
301
301
  Please note this function fits variations of the model on the training set when called.
302
302
 
@@ -25,7 +25,7 @@ def clusterer(model, X_train, cluster_labels, labels=None, model_name="Clusterer
25
25
  X_train: (arr) Training set features.
26
26
  cluster_labels: (list) Names for cluster labels. Makes plots easier to read
27
27
  by replacing cluster indexes with corresponding names.
28
- labels: (list) Named labels for target varible (y). Makes plots easier to
28
+ labels: (list) Named labels for target variable (y). Makes plots easier to
29
29
  read by replacing target values with corresponding index.
30
30
  For example if `labels=['dog', 'cat', 'owl']` all 0s are
31
31
  replaced by dog, 1s by cat.
wandb/wandb_controller.py CHANGED
@@ -20,7 +20,7 @@ Example:
20
20
  tuner = wandb.controller()
21
21
  tuner.configure(sweep_config)
22
22
  tuner.create()
23
- # (3) create by constructing progamatic sweep configuration
23
+ # (3) create by constructing programmatic sweep configuration
24
24
  tuner = wandb.controller()
25
25
  tuner.configure_search('random')
26
26
  tuner.configure_program('train-dummy.py')
@@ -127,7 +127,7 @@ class _WandbController:
127
127
  """
128
128
 
129
129
  def __init__(self, sweep_id_or_config=None, entity=None, project=None):
130
- # sweep id configured in constuctor
130
+ # sweep id configured in constructor
131
131
  self._sweep_id: Optional[str] = None
132
132
 
133
133
  # configured parameters
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: wandb
3
- Version: 0.17.0rc1
3
+ Version: 0.17.0rc2
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
@@ -46,10 +46,10 @@ Classifier: Topic :: Software Development :: Libraries :: Python Modules
46
46
  Classifier: Topic :: System :: Logging
47
47
  Classifier: Topic :: System :: Monitoring
48
48
  Requires-Python: >=3.7
49
- Requires-Dist: appdirs>=1.4.3
50
49
  Requires-Dist: click!=8.0.0,>=7.1
51
50
  Requires-Dist: docker-pycreds>=0.4.0
52
51
  Requires-Dist: gitpython!=3.1.29,>=1.0.0
52
+ Requires-Dist: platformdirs
53
53
  Requires-Dist: protobuf!=4.21.0,<5,>=3.12.0; python_version < '3.9' and sys_platform == 'linux'
54
54
  Requires-Dist: protobuf!=4.21.0,<5,>=3.15.0; python_version == '3.9' and sys_platform == 'linux'
55
55
  Requires-Dist: protobuf!=4.21.0,<5,>=3.19.0; python_version > '3.9' and sys_platform == 'linux'
@@ -1,17 +1,17 @@
1
1
  package_readme.md,sha256=xigFCsrzePKq72pDIEfkoVzb-NzDRsKpXXI0FMJ-6jg,4382
2
- wandb-0.17.0rc1.dist-info/RECORD,,
3
- wandb-0.17.0rc1.dist-info/WHEEL,sha256=QpCSxqJezGfX898mZXCFcosnKW-q2uxsN051sYNcnwU,101
4
- wandb-0.17.0rc1.dist-info/entry_points.txt,sha256=v4FCOZ9gW7Pc6KLsmgQqpCiKTrA1wh2XHmNf-NUP1-I,67
5
- wandb-0.17.0rc1.dist-info/METADATA,sha256=HtlwmGHG-KRlaKnF9OHM5NqXEqZ99iziB9DLYO2HK6M,10114
6
- wandb-0.17.0rc1.dist-info/licenses/LICENSE,sha256=izOKRJpGOx1PrJiGOKR0HsNdlB5JdH2d0Z4P7a7ssTc,1081
2
+ wandb-0.17.0rc2.dist-info/RECORD,,
3
+ wandb-0.17.0rc2.dist-info/WHEEL,sha256=xuwVOZ5myR803HqNzgt49tsEpIow0teWROLQPTRI7nE,101
4
+ wandb-0.17.0rc2.dist-info/entry_points.txt,sha256=v4FCOZ9gW7Pc6KLsmgQqpCiKTrA1wh2XHmNf-NUP1-I,67
5
+ wandb-0.17.0rc2.dist-info/METADATA,sha256=v6dTdFI1yPTStmsV9iqi6A74QdRE5ca5u-mbMT205J4,10112
6
+ wandb-0.17.0rc2.dist-info/licenses/LICENSE,sha256=izOKRJpGOx1PrJiGOKR0HsNdlB5JdH2d0Z4P7a7ssTc,1081
7
7
  wandb/magic.py,sha256=YVSQmkrtlQ56p-VqkwjiPGNBa694UvPALxc4yp6RiLk,59
8
- wandb/env.py,sha256=9ZuDTaZi66ULQ0pVlpu8O3PrTP9SW1FweTk9d2m3YWk,12811
8
+ wandb/env.py,sha256=ikF0Tuie1IiuDWf0F8jWf9AZplC7jR8vohk4PgLjke8,12826
9
9
  wandb/_globals.py,sha256=CccwOAls5bxJArYHg12b08ZeKR8Qu9u57GtYWjBH0o0,702
10
10
  wandb/util.py,sha256=CqQF-44w1uokzU5N0dpNBwdHbyuMInGcNJkQWeK3Jg0,60885
11
11
  wandb/wandb_run.py,sha256=CNh9S6uubFk8FphQjzkbvedyyGCN9aBEsRBKjy8tqqs,155
12
- wandb/__init__.py,sha256=1856gRxAE29lgWxLepjjXw_IYLOWVQea7msQqZCWFXc,7080
13
- wandb/data_types.py,sha256=IsH78zOgqs0d3zIE2AHxaZ2XcxEKwfS40EgzN6DXaoE,73129
14
- wandb/wandb_controller.py,sha256=mpmZc0MkVElrEaWIMS2-sML5YkyEsVSqoRqJ-tU9HjM,24765
12
+ wandb/__init__.py,sha256=IYiW7K4FwEtQ-koHQ-dvVDnXyWEeX7Uq6Cus-_eOJTw,7080
13
+ wandb/data_types.py,sha256=SyBzrPvzfmgl9te_kH9yiNnn20L3eJvfbVnG2wRyZ3k,73149
14
+ wandb/wandb_controller.py,sha256=lvMXXf436Uuzfy1WEC6iaHq1Ht0rNdUoLvc_kDPn1HQ,24768
15
15
  wandb/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
16
16
  wandb/wandb_torch.py,sha256=DGY0jsWashL02iXGce-5XypfSJIbBWfLsCrmixqNTCY,21276
17
17
  wandb/wandb_agent.py,sha256=TaRXYz5quJa4aEStAkgbpmlpc2oeUuQkH75M9WdUsSo,21013
@@ -23,7 +23,7 @@ wandb/beta/workflows.py,sha256=u22a9f6R8iaBIlIGnih97T9BS_Wuq3_PuPO_vSWXAy8,9976
23
23
  wandb/keras/__init__.py,sha256=f_j3sNjmcPoa9DqxLfHR3dwUV64_O2Plv_ryW4Z-IaQ,362
24
24
  wandb/docker/auth.py,sha256=I68SFCcbmZr18XqVxVCM75eTB7YhCebgb3dcsFiIYHQ,15032
25
25
  wandb/docker/wandb-entrypoint.sh,sha256=P4eTMG7wYsgTfJIws_HT7QFlYBI70ZLnNlDGTZdmYVE,989
26
- wandb/docker/__init__.py,sha256=Mn-3a98-b6y1gfBeFTzd_LYeAQUUM-1059MNET3z3Jg,10545
26
+ wandb/docker/__init__.py,sha256=fZA2eGMpGmD7VZ4osfEKCJmX06JDKpzoYTMnGwWpIXo,10546
27
27
  wandb/docker/www_authenticate.py,sha256=eQd0ap8LpZkS9ImRn2gdgl7gnHeKprdqjClrZOaCsQo,2805
28
28
  wandb/apis/internal.py,sha256=ZKlCDJRqhtm87e3l6ezLEu-9Pz5QQ6qyCg4aB7saMwU,7359
29
29
  wandb/apis/normalize.py,sha256=CkbtH11jPhiEl7apeWn0UKFJ_gwbaK4qkvDMvxwTxaw,2894
@@ -53,7 +53,7 @@ wandb/apis/public/const.py,sha256=icNtcS3gTCtvevLWuTOCqm0FHEfLQ0P80mA69dWeEXs,12
53
53
  wandb/apis/public/history.py,sha256=4gwe9HJ_NH9SSPtLtP7ELw4nIsxLPrY6ji13EK1siyM,4636
54
54
  wandb/apis/reports/__init__.py,sha256=vN_IQPJYTkdWywgaWHG4AamF_8FvHge1dG1ohLBVNqg,156
55
55
  wandb/apis/reports/v1/_panels.py,sha256=xne6P2LuEWLQzIWHKBK1Ea7QGrIz26ZKR5gJf8uy48c,48383
56
- wandb/apis/reports/v1/_blocks.py,sha256=8Kwe_0JJmAxXBBnHuK__5nC2wHQUSE08uVw_G4bcZcM,53744
56
+ wandb/apis/reports/v1/_blocks.py,sha256=pxMbkd_YEi_k52N90J_suRzXU98Ez8eX2_Qnj0RylEM,53745
57
57
  wandb/apis/reports/v1/util.py,sha256=P0pBQcY79OtB6MxTZXQQ1GXV_yuUXUxflrDGY-oIiPA,11941
58
58
  wandb/apis/reports/v1/mutations.py,sha256=r26-40KDrDcXFNlexAE_QYdD_7qCTYeNzqGwxcBkenU,1291
59
59
  wandb/apis/reports/v1/validators.py,sha256=8VieYNICXinPtgjNI1xBcxIykHIXp4Rt4zfidbX-N94,4282
@@ -82,7 +82,7 @@ wandb/plot/roc_curve.py,sha256=uG7CzmURQmQdm0AbSVzJxtaujJ8IGaoNl5v-K8aXf-0,3913
82
82
  wandb/plot/line_series.py,sha256=Kow9Ah14xJZrZQc2TX5BNxqs7MqQhX0bvs9UWFI6am4,2965
83
83
  wandb/plot/scatter.py,sha256=zGLuF_TwzD8ETw3ZJmK1o6y2YnLvF5FB5FSKZfO_r24,1001
84
84
  wandb/plot/bar.py,sha256=Phb93zGocUhkQNpbAwUUWXBbfJNCAEgIcrTI2jvIGbc,1168
85
- wandb/plot/confusion_matrix.py,sha256=TH9vGYgeUZc6npEXMv6ojAhz8NRfz07KLnpfcGkgEzw,3413
85
+ wandb/plot/confusion_matrix.py,sha256=OXwBpd_4WQzUrWlDqHL3aQOsqsE7Eex_10-MG9egvGM,3414
86
86
  wandb/proto/wandb_settings_pb2.py,sha256=8niHsAuapIljCb5w27q2va0dFM2n8CzkgNk_KWO6F2A,237
87
87
  wandb/proto/wandb_server_pb2.py,sha256=M6KrkWm66uODcsc7wdMMvD0q-3dfiuWs8YvaYKjEhYY,233
88
88
  wandb/proto/wandb_base_pb2.py,sha256=qEn0atGozZcBIM5D0YVzax8cx2Sd0XiDU-YIHep_wZ8,229
@@ -103,18 +103,18 @@ wandb/proto/v3/wandb_base_pb2.py,sha256=0Ixr7LeEOTdIU_pewdbhRZOrFqRtgsOsWcyC_Tw4
103
103
  wandb/proto/v3/wandb_internal_pb2.py,sha256=dVPu5hMjg-qmOupFoOLd3BkT5Xsz4tAFwokklFYZIoQ,105802
104
104
  wandb/proto/v3/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
105
105
  wandb/proto/v3/wandb_telemetry_pb2.py,sha256=LvnXiIIZ5TWpOa-UnOK0x6Pa4acSR4K4SkzUxc1OsDc,12969
106
- wandb/bin/wandb-core,sha256=_vDvUeTRVkaGCmtmpTmp288ByjlIMXjQ_TqCO76OdmE,10918226
107
- wandb/bin/apple_gpu_stats,sha256=f3OwT7AehOp36dLFjCqDUpEVudyfZn3wiTs4Vdwl9pk,1440808
106
+ wandb/bin/wandb-core,sha256=Wrl5m6ChK5zya5AbXaPaetVFyPOhXVlRmM8eGaj2yKo,10918226
107
+ wandb/bin/apple_gpu_stats,sha256=KDwl_WAsz4KwyH5-EE6zpWeqoTunQH4WXAo8n3hO6Gg,1440808
108
108
  wandb/integration/magic.py,sha256=8b7GkkntZb-jJ7L0OF4M7mS1yJKtMI_o3jfsTufWMr4,17246
109
109
  wandb/integration/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
110
110
  wandb/integration/yolov8/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
111
111
  wandb/integration/yolov8/yolov8.py,sha256=srryantZqO65pj1x52MiKD5m2SzdQc4nIsj4o1GPK8o,11371
112
- wandb/integration/keras/keras.py,sha256=cV8ckLB-mWQP6pANr2PSCk9YKCeyK2t0JGeQHhX2MmE,43708
112
+ wandb/integration/keras/keras.py,sha256=OhIfD5r6wQFsN_Vvuk8pcwClTMHkVXFEktwtOHPuC3o,43707
113
113
  wandb/integration/keras/__init__.py,sha256=3srXSrJ6rixzVJaN85em4X00sRfeNN_HPjz22lKzj5A,425
114
114
  wandb/integration/keras/callbacks/tables_builder.py,sha256=kmqwNGVbDaHo6pNfltUK5BED0g1oIwmtJOCGZZk-FAg,8840
115
115
  wandb/integration/keras/callbacks/__init__.py,sha256=sY5AMC3x28iA815fqbqkkArtjctqG-m9N2D5FnyR0no,223
116
116
  wandb/integration/keras/callbacks/model_checkpoint.py,sha256=LP9fUypcPhC7X95PVGImccDPAI6yAasI357syWOqrBo,8947
117
- wandb/integration/keras/callbacks/metrics_logger.py,sha256=LZeuggccnJGoN1EBJck-p_OscfgQSKpajruSQRoBons,4852
117
+ wandb/integration/keras/callbacks/metrics_logger.py,sha256=1wgLGtWpIRnwE_RSjA5p1ZoJup9v62ExGc8x5olLhoM,4853
118
118
  wandb/integration/lightning/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
119
119
  wandb/integration/lightning/fabric/__init__.py,sha256=RFhr2VkC0D8b6bAXUMZzcVzqDQaoOozfP_HOogAWi9o,94
120
120
  wandb/integration/lightning/fabric/logger.py,sha256=x4IcEzHLR_OIKrNWRHyUDGOnDMYVq-MsJEqqqbCCV3o,27299
@@ -150,7 +150,7 @@ wandb/integration/prodigy/__init__.py,sha256=1-Hg98Y4T1kSNAbrlR9TUrr7dwL1Gxxa-Ex
150
150
  wandb/integration/prodigy/prodigy.py,sha256=Gx_mYF8CGr-A6aE6L2UuOYpICqWNYmCxBUydckT08m0,11606
151
151
  wandb/integration/huggingface/__init__.py,sha256=Ui-JiM_yel2YZuS9U_LyReL3mhBZZSIUNLBODjS4l4Q,57
152
152
  wandb/integration/huggingface/huggingface.py,sha256=KYP0dCYERORLNE1Sk6jfp0krHF2BQ4q4qOlF-0H-vrI,443
153
- wandb/integration/huggingface/resolver.py,sha256=EYkvpN_FL4B2W_iqlDMug_Y6MCG8e2XfHmvuCMBgV3Q,7857
153
+ wandb/integration/huggingface/resolver.py,sha256=Atc0vwdPar5yKzTcJF6Fu2i7h7a6TX0W9B2HdeToqrI,7858
154
154
  wandb/integration/metaflow/__init__.py,sha256=nYn3ubiX9Ay6PFxr7r7F8Ia_2dLImb63rpYDmuDlkkQ,109
155
155
  wandb/integration/metaflow/metaflow.py,sha256=jNo8XevmMSzB5ZXUthqG6QlFzkLMCJ0rWdF-suW1Y3M,11897
156
156
  wandb/integration/lightgbm/__init__.py,sha256=kCW5E0FjwcDLnWWyxHEIPGj4KRq9EYDqk6-2i7k3WcU,7979
@@ -177,18 +177,18 @@ wandb/agents/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
177
177
  wandb/agents/pyagent.py,sha256=sf6TDxJk0Q6HUZc87BIyqP779Ttv58LhdH3kyCpF6t8,13442
178
178
  wandb/old/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
179
179
  wandb/old/core.py,sha256=MJjnAcUObCVXgLQEOW_iS7RREBiTB-YZtf9VHMYV2N4,3758
180
- wandb/old/summary.py,sha256=VZ204tsDOqAqpLXmjdXjuusQmhn9pUmNLOZj9vQYqUE,13815
180
+ wandb/old/summary.py,sha256=1ojvsoAOZF4UpSMSPpcLc2RNlg3QJfEZbe2w-xnfK1g,13815
181
181
  wandb/old/settings.py,sha256=IrS10skC9gCTb8NgTWeRFgsTYL1bw36e-rG_xECk-yo,6374
182
182
  wandb/cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
183
183
  wandb/cli/cli.py,sha256=Jt3m19yX5IWSeHOUttBkXIcUmiExsGdkgDLX1DOgG04,94725
184
184
  wandb/testing/relay.py,sha256=zllKYZItzvXh48uwDd7x7ZPuxg7QoHj8d_kR92C-V3Q,29481
185
185
  wandb/sklearn/__init__.py,sha256=bDnzytR60EFQblaAZdw76WlJBmfG-O7NrKavIEY97Ck,861
186
186
  wandb/sklearn/utils.py,sha256=dfHxglqT6UlPl8ulgZNWrElfW04cdBWrFfEtDp3pvZw,5903
187
- wandb/sklearn/plot/classifier.py,sha256=gePABHmRJaVPeeuh4rCigukV-MU1FsM_eGLZhEg6EnU,11791
187
+ wandb/sklearn/plot/classifier.py,sha256=gGDWyJ27YmwKprhzhHAHcHJZePjpmwykmM3dl9Mj1sk,11795
188
188
  wandb/sklearn/plot/__init__.py,sha256=7RgC3Dakive4tLSmYOBTiNWtFZz-9AJG3AWtW00xcJs,1368
189
189
  wandb/sklearn/plot/shared.py,sha256=1AFangiXD7q_313IznXt6dnx7tp-d-n6nx51TA7R1l8,2733
190
190
  wandb/sklearn/plot/regressor.py,sha256=04-bp4luoebhm3cVg1w0CfRMMZVSFr5Nob5384QXrKU,3906
191
- wandb/sklearn/plot/clusterer.py,sha256=1NuQ-jNHnrFBahKuTrvEGe-g-B_66nKURih1sQ_jKII,4848
191
+ wandb/sklearn/plot/clusterer.py,sha256=o5oPW-7pxLEiUz0qUQwXw82M9Dtj8TzoMJVRWOWCpRE,4849
192
192
  wandb/sklearn/calculate/learning_curve.py,sha256=zNGKMQggOH_yR_8hIfbXMfK-Ndpm7VnTfBj8ta2KzKo,1702
193
193
  wandb/sklearn/calculate/class_proportions.py,sha256=1UtzZH3IuDX8-JWOZHyLiRr_HMM3ghYd-JptBFT3NWQ,2107
194
194
  wandb/sklearn/calculate/silhouette.py,sha256=F1pUOoA567tmOUQvTTqcXHaBKJFMQAw0Y5IRfWevzr0,3295
@@ -206,7 +206,7 @@ wandb/mpmain/__main__.py,sha256=bLhspPeHQvNMyRNR7xi9v-02XfW1mhJY2yBWI3bYtbg,57
206
206
  wandb/fastai/__init__.py,sha256=g_yvlxAGwupME34yh49EKAAg6ZIk6tOB4ThEdazq6rY,192
207
207
  wandb/sdk/wandb_config.py,sha256=ZFEJEk7YoXTIySzHRGOIyyhgvbMUqTnUFAIlu-ZzGUo,10804
208
208
  wandb/sdk/wandb_alerts.py,sha256=SwBPBiXRxknMTMGbsVoMMWqWK65UWMcKAdTWZtdwAeo,193
209
- wandb/sdk/wandb_run.py,sha256=AzLujOqTfkcGG8dx-5gRpIEaRbb9QUBFROUpRfHjV04,158329
209
+ wandb/sdk/wandb_run.py,sha256=Xr49clLL7sbSUxeeUWBApJjycZvMqC-4m9XpGdxS31Q,158617
210
210
  wandb/sdk/wandb_sync.py,sha256=KhxDOHR7x8q54hAlsEx4ta1dAW1ZnzTUMr7VwJyCL5c,2273
211
211
  wandb/sdk/__init__.py,sha256=g8BQ6gQ_WDIH682ayRuKzD6QZXL8NW5CZKBLJOem5iU,805
212
212
  wandb/sdk/wandb_init.py,sha256=Gi-55QFdov7hv3mb-9imXpegTTynZOPwwWbrP9MRirA,50039
@@ -219,9 +219,9 @@ wandb/sdk/wandb_metric.py,sha256=a3GiQXr6H18m81uobYjlJaC8CL8iANzI42qxkxfZsDs,326
219
219
  wandb/sdk/wandb_require.py,sha256=HGSkS0IEBnPEn_33jo3an27qtdx2bCxeEwQ0iri9OJk,2858
220
220
  wandb/sdk/wandb_sweep.py,sha256=wPhKVjdUVNXCtIB5Bpz0c7JKHv9vLigY6TESNLa7SE4,3746
221
221
  wandb/sdk/wandb_manager.py,sha256=Xy4BvabbOmE9KZwhDpDX7bDL0GUBX72MSCxlnSWY8JI,6658
222
- wandb/sdk/wandb_setup.py,sha256=IRXIXGXZEzt8zeBaWSGgKvpQ3i7evCiKuy-fS9ew-iA,11077
222
+ wandb/sdk/wandb_setup.py,sha256=yerNWQV9IGrcFVyoGR0_HoYx1-j0cI0aRAqKm1-5LSg,11078
223
223
  wandb/sdk/wandb_require_helpers.py,sha256=ZmKv5aXXHDTTU6nYHMLKW4_pt9X-PlaMtbRJl77kHX8,1331
224
- wandb/sdk/integration_utils/data_logging.py,sha256=XFLtx6rkX3LsUJiDZ8yn83hKvEkNZqiTEe-pL0oQ_EE,19529
224
+ wandb/sdk/integration_utils/data_logging.py,sha256=DDFtDaUu50aeTTgxCHHYd2f85guqqf2xfEOburRlwwQ,19533
225
225
  wandb/sdk/integration_utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
226
226
  wandb/sdk/integration_utils/auto_logging.py,sha256=evcVXab1KoC1THdHpCb5RhL14DJKs-fpH2jnBH_iBIg,8348
227
227
  wandb/sdk/interface/interface_relay.py,sha256=vQUrk5KESKInZsXpOxWF4YcWRZFLJjNz1mdNywbWbbE,1514
@@ -229,7 +229,7 @@ wandb/sdk/interface/router_queue.py,sha256=7TImXbpuwgn3iUw6kcNyC_nZ3APaBrojZyz1x
229
229
  wandb/sdk/interface/message_future_poll.py,sha256=drjrcBKswYPYJJQLFlj7UDXq7_zg7KNcObFVetsbvhQ,1410
230
230
  wandb/sdk/interface/summary_record.py,sha256=-wDv_zLYueeUY8IzyF9NPYnYwF3iBpUWbrsGcHAd2YM,1677
231
231
  wandb/sdk/interface/constants.py,sha256=NJNBFr7LkshLI837D3LU3JuEURLzBwza9H-kxcy4ihw,60
232
- wandb/sdk/interface/interface.py,sha256=2uDE5UYbZ1Xn_GBUxGW1sp6OY_7aFhHTMxxcRCIL_QE,33340
232
+ wandb/sdk/interface/interface.py,sha256=xnj3WzCU5EXd-h-7KhL2dei2EhrFeIkGEAnSoPitN0M,33341
233
233
  wandb/sdk/interface/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
234
234
  wandb/sdk/interface/router_sock.py,sha256=7-J3SFhnaqPohYaUyljwpbsvYPBXA-ZTENYnXxzbh9U,1060
235
235
  wandb/sdk/interface/interface_shared.py,sha256=5Eu58KceRZ29YlKLcDFCI90t5pBb2Ihm5ZdX-fzZRNY,20587
@@ -274,12 +274,12 @@ wandb/sdk/data_types/histogram.py,sha256=BiIYj3yY-9oetopHf_cwPp9Z7mKS7bm3ve_ZMX0
274
274
  wandb/sdk/data_types/trace_tree.py,sha256=KoKIsRuLG7sxTpeor-g1F_CbmY1AXn3KWnitxkVcfCM,14694
275
275
  wandb/sdk/data_types/html.py,sha256=KHUmuUknVKs54RZ3IAlZ2_NgUP4MrQvEIAPM45BizyQ,3491
276
276
  wandb/sdk/data_types/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
277
- wandb/sdk/data_types/_dtypes.py,sha256=sjOC_8RMhqGb_r5p2EtZnpCoXIKvobDggFejVYutGmM,29935
277
+ wandb/sdk/data_types/_dtypes.py,sha256=zLkEAVoFc7U0vb21t2-uxYFAylfpKohbsy_8_aDOmC8,29937
278
278
  wandb/sdk/data_types/utils.py,sha256=qVfISB7ycwBleVo6vQpphomwwP-KaJKtoWuV-GGpkmU,6318
279
279
  wandb/sdk/data_types/saved_model.py,sha256=EG5gAcheTyzCZdBsrKvEZc11i0xtlhQzwQ3U-ra6nOI,16362
280
280
  wandb/sdk/data_types/plotly.py,sha256=m75HRKSCdd9-cu-odpZ5d2Tu8KwmR_LVdW9u0H-68AE,2918
281
- wandb/sdk/data_types/video.py,sha256=mzFQTkuyBsUer5cuMYpld7_lf2iwn0RHv8gj-Syg1yU,8817
282
- wandb/sdk/data_types/image.py,sha256=5ENCN0czWMXwBRfdUJFEoVaQ3Vjr49443i7glnTD3ok,25608
281
+ wandb/sdk/data_types/video.py,sha256=5pl7Y8Mm5wibUm8rSM85O5WNoTNkRIC-o389WB67a-c,8817
282
+ wandb/sdk/data_types/image.py,sha256=EXJeg9h1l0SrF6IQpHbgB88zSizYI2NP-OZQXPJXglk,25609
283
283
  wandb/sdk/data_types/_private.py,sha256=zp2NRarTlIq4Hk3R2xp7j_qPGNzBMnaGHrZUN82shaY,299
284
284
  wandb/sdk/data_types/base_types/media.py,sha256=Dx-ecZ27fAK2nXtIJX9chvHxlnUFgeq9FM65YSDhz5Q,11868
285
285
  wandb/sdk/data_types/base_types/json_metadata.py,sha256=oKpimndUQvDW30n15tb2pbyyyKhhWwm8wsYNBEot060,1553
@@ -294,7 +294,7 @@ wandb/sdk/verify/verify.py,sha256=2C4C_l8EPGBXZw1PyXyHxnbVMuypHQhBkK5vV15xjG0,16
294
294
  wandb/sdk/launch/wandb_reference.py,sha256=t4REjZz5lwB9fjDW2eo8uRgw9KeLsPeZ1Uu8tiFDBfA,4253
295
295
  wandb/sdk/launch/_launch.py,sha256=v0cezR15RKgpDMJY0JAXRKd9h6tGkFqf8cKHIhe0yjw,12572
296
296
  wandb/sdk/launch/__init__.py,sha256=VFClnbYvX93eHr_-N6QwHqFkiSWP94fVqvgAyY6-mUo,210
297
- wandb/sdk/launch/_project_spec.py,sha256=DLkpSHOvf8zXj7XEcon7VX5PbLGo3ojdjvvpE2TLZ9o,23073
297
+ wandb/sdk/launch/_project_spec.py,sha256=lTrCTcfSE7rthRF-sf0U-IsvCNAQnk6sj5ROkUApwjs,23105
298
298
  wandb/sdk/launch/_launch_add.py,sha256=AYJuYkF4RyGMhiPF1LcVT0jJtBaokC_syoKXtwRqaIg,8832
299
299
  wandb/sdk/launch/utils.py,sha256=Jh4CfauG1O_ZcMovEPYy98rtxWqOwAJ5ANA1IUTwroU,30032
300
300
  wandb/sdk/launch/loader.py,sha256=rSXCgiR7dStpdd_FQTm3qqzY3aa5L2vMpF1M_0OsxEE,8927
@@ -311,27 +311,27 @@ wandb/sdk/launch/runner/local_process.py,sha256=EawHS0CcSQcJxJMdTFI_-TE_xRWvdDpt
311
311
  wandb/sdk/launch/runner/vertex_runner.py,sha256=PqfduJhT99v3A85lwokPQ-CZJYpW96P-2xp1kCBGXOE,8366
312
312
  wandb/sdk/launch/agent/config.py,sha256=UejSBOSZXAjPv5CqT2EaJHW2gffHOsrFEXS_AAlNYKA,9616
313
313
  wandb/sdk/launch/agent/__init__.py,sha256=nwGHzJptq87cXCSAJi7Wv2ShL-HZwDgMo2aFC2Rh20w,85
314
- wandb/sdk/launch/agent/agent.py,sha256=aIWwBaEXaWBRCv3BhG4Ku79zE4V79ijMRZVrJtzS2h8,34806
314
+ wandb/sdk/launch/agent/agent.py,sha256=Z0lRYWYziHvrv3Db75XIIh9qMKqP0KKk_-V76iL71dE,34806
315
315
  wandb/sdk/launch/agent/job_status_tracker.py,sha256=HaWU-VbXGe6m8VvM2y6riQ2Iwb2j62ugoJsR9wzUIpU,1813
316
316
  wandb/sdk/launch/agent/run_queue_item_file_saver.py,sha256=Xn6cs_QOJKX3OGIwoTinJLmrPZ08aeoevyQRPHoaf6s,1514
317
- wandb/sdk/launch/sweeps/scheduler_sweep.py,sha256=4B0vGQQG6tz5MPyeU7Dlc3qHKMVM_fmv2TgTrMAO2kU,3000
317
+ wandb/sdk/launch/sweeps/scheduler_sweep.py,sha256=NUMvKJYSdtrW5KGf0GsLBZWJL0vJbCzI4yGYHD8Z0z8,3000
318
318
  wandb/sdk/launch/sweeps/__init__.py,sha256=qQ96Pq9fXRIs-w8y3jy_Z6fKz9DIJ8zrMjwEZLrDGB8,913
319
- wandb/sdk/launch/sweeps/utils.py,sha256=mR6mSIFCybuvhxIQiHud38KU8FBcvl3PVfrIgMGjkG8,9825
320
- wandb/sdk/launch/sweeps/scheduler.py,sha256=jiUJKJcROT4TlycV_DeZgGmkc28Z4XLJWqLTUFyvifo,26722
319
+ wandb/sdk/launch/sweeps/utils.py,sha256=fFonzoqVwchBeo4XtsVCQUmppaJbfnK2ZJYasf4CoYk,9825
320
+ wandb/sdk/launch/sweeps/scheduler.py,sha256=tmHi97EpEY5cuTrmQezGnkCvV5-R3U3cKz3JOhkLqmE,26722
321
321
  wandb/sdk/launch/registry/abstract.py,sha256=eTiuMPEm0NnrTkU6M8UteZQfK50BN-n7tyev4nMA1oQ,1146
322
322
  wandb/sdk/launch/registry/elastic_container_registry.py,sha256=vbDSOxzV0iTZ91Mm0qjOjWbwW6OvRlPXbIDi_qrWqGY,7276
323
323
  wandb/sdk/launch/registry/local_registry.py,sha256=oe2McRQoY5DG8-SD8voDcrHAT58jMu4nYdAniyqdI10,1781
324
324
  wandb/sdk/launch/registry/azure_container_registry.py,sha256=uy8j5SF7lTtHyIGl527RZtFP-y1gQErcG6IlPue56w0,4570
325
- wandb/sdk/launch/registry/google_artifact_registry.py,sha256=0WdzKeomEX3qtC4Yg3hHBRssZEX532xe9-v8621Uj0c,8522
325
+ wandb/sdk/launch/registry/google_artifact_registry.py,sha256=EEPCVqP1uBxkn8T3zUIdURw67Z2D5lX2FUlHpu_zE7k,8552
326
326
  wandb/sdk/launch/registry/anon.py,sha256=jft6cCObrI1mgydwX2rR9xYfdLDokHv8RqlZiMHBFCI,943
327
327
  wandb/sdk/launch/environment/abstract.py,sha256=FpQSsLqJ_PpU5Jy25YpZnWTiN4_6cihmynZFI1isuE0,951
328
328
  wandb/sdk/launch/environment/aws_environment.py,sha256=hVyQ7yb0UK1Kb4x-RZ5exaOeJRTRgDZwwlLFQOUVJYw,11411
329
329
  wandb/sdk/launch/environment/gcp_environment.py,sha256=0US6TKVKlvVl_Y_R17xm_j_MuJdiS-L31rkHZ4O4AIo,12734
330
330
  wandb/sdk/launch/environment/local_environment.py,sha256=mO35r8XgxRvqxhmmkBx3xIymz1M2lKYGtnltRB1c9mM,2258
331
331
  wandb/sdk/launch/environment/azure_environment.py,sha256=2Yt-NVD-_eXR73-pp6CAneKvb9T30x6eQU-YtHO1Tko,3885
332
- wandb/sdk/launch/builder/abstract.py,sha256=WB_OHvbwDKEyWANWbsjAA2gaNlm9AFtA_79B60m3W2c,2642
333
- wandb/sdk/launch/builder/build.py,sha256=cUSnMNOfoOk5-Q-Oj7CzsxXOJuhcvrZmv5MiJC82JcA,25528
334
- wandb/sdk/launch/builder/kaniko_builder.py,sha256=UGjY8Txh4Oz8CX_R5mHcR9ov_8RTifaaN6pFiCWDsxk,23207
332
+ wandb/sdk/launch/builder/abstract.py,sha256=aUGszHF2V9Q1AozKk-tuumoF__UfSyic90V3rGkIiZc,2643
333
+ wandb/sdk/launch/builder/build.py,sha256=0Rw_327uMo2JKGgWWhCz2APrkDD_Czj_nz18hvfy6CA,25529
334
+ wandb/sdk/launch/builder/kaniko_builder.py,sha256=QbbL9Ajo4b-xhzcnKf2WTMo0lnRJp_U10ZK8fCQuJnM,23208
335
335
  wandb/sdk/launch/builder/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
336
336
  wandb/sdk/launch/builder/docker_builder.py,sha256=m10WoZwL-mD5ZBUAj2edkdn8KSCmeRiSSpVngo7p5w4,6728
337
337
  wandb/sdk/launch/builder/noop.py,sha256=A--UUfqkcZxCpTmBKbL6JvkE_emcJRXIkAhAfVv5u7k,1900
@@ -340,7 +340,7 @@ wandb/sdk/internal/update.py,sha256=RdcNeci0VeQ6y1GAWy8MS6tgeZLwJs2YAixk_eZ4h5Y,
340
340
  wandb/sdk/internal/sender.py,sha256=r0NM8uXsE6bCDBWrp81QSx40NinMlg99WoyXXYo7Bz4,63202
341
341
  wandb/sdk/internal/internal.py,sha256=AUPsOXGwag2UjHg1rQz1zGGWXhywJo85Hoc62ZQ0uCc,12722
342
342
  wandb/sdk/internal/run.py,sha256=8OhVy2vfgPC8pNFq0tJ4CkQHETOBfQsFDghw50ccSXc,682
343
- wandb/sdk/internal/job_builder.py,sha256=QErNiEZVnbj8hjoJycKjzRdFb0XJgYnZd_1vANDrIcY,20873
343
+ wandb/sdk/internal/job_builder.py,sha256=JcDck5bGsGrYZR18p23JTKPWXqjQBpFSktRHA3nKadg,20874
344
344
  wandb/sdk/internal/internal_api.py,sha256=n4JDMp9d0VvAcRjVBpIxusudsVljkdI16vmSSPAJcSg,144348
345
345
  wandb/sdk/internal/handler.py,sha256=Ngq613egsAbKYuVJueLguiSnT39oZeMQQyAvvMI3V0Q,33680
346
346
  wandb/sdk/internal/thread_local_settings.py,sha256=UqD6kfjsy6mvxIWcjhd-vJWkNRCeU1whuRe_-VGIklQ,527
@@ -388,14 +388,14 @@ wandb/sdk/lib/server.py,sha256=R8E-IqjtAvC7yLChNf2GxRNXrzJ8OMPph3RPU0IzxHo,1684
388
388
  wandb/sdk/lib/paths.py,sha256=YiEE5mkYB5ahMuI4C27IsNvejC3z6MI5JPW1iISi864,4529
389
389
  wandb/sdk/lib/sock_client.py,sha256=-KUS5JYHX8qjYjl2sCqyGr2i-tf2LjwbRPCoKYzKzRQ,10387
390
390
  wandb/sdk/lib/runid.py,sha256=Qa-5ft4B85YUazkV_18OYwf9JhMaAVp0JAInZzxzX5o,392
391
- wandb/sdk/lib/redirect.py,sha256=BthQVySsQHpayzA_grFzlK5GXGa5NLclO7Vi9-pEh1Y,26073
391
+ wandb/sdk/lib/redirect.py,sha256=PKnzdZPs6u_Qkv-s0qjEuA8wD7asjpKSG0WvyqMHIaI,26126
392
392
  wandb/sdk/lib/preinit.py,sha256=11QkGmBpoGazNaUGvyDIzBJA4QTggj7fGQdugpCvOiw,1450
393
393
  wandb/sdk/lib/file_stream_utils.py,sha256=nGzraU0hjn5t8RDtSDM4jjcQL2SBIuu3m6unFUUyDR0,4023
394
394
  wandb/sdk/lib/timer.py,sha256=VZUyl7fmQAB75l9QXw9Nkz9SxyYj-CvLPawAk866YKM,440
395
395
  wandb/sdk/lib/filenames.py,sha256=GvzWOq85BO_Od7f69PkRKS6zYhQ88dTCtMr3c19jLEk,2006
396
396
  wandb/sdk/lib/capped_dict.py,sha256=T2CNkmzfWeFgXOsFmx5IDPzgYmP1jxaVAb-nn3-qBBE,820
397
397
  wandb/sdk/lib/filesystem.py,sha256=AqtdDb78OPuEJpyyk94vKik7bR9Wg7J3u8LRQgT8B-E,14135
398
- wandb/sdk/lib/import_hooks.py,sha256=SUFX3QSYvQKGouyV2VY_RcHWRL08Zz_gW4U2WxLkXh4,10270
398
+ wandb/sdk/lib/import_hooks.py,sha256=0_TJwq-EuZFUIFzFOZoVDWOMP9-Af1r2Vq5sV5sfzg4,10271
399
399
  wandb/sdk/lib/timed_input.py,sha256=D7vx3N3m4LlxwkQpzS7lDi7IOnccqZ3WfLlDYRs8Oes,3229
400
400
  wandb/sdk/lib/__init__.py,sha256=53BA5lIOtUXciXZcPpNsFbp-iUPzI5gQFxplTykNmOE,183
401
401
  wandb/sdk/lib/telemetry.py,sha256=OdBUbhUAU1LPDJJmW5Rm6GkRDRPpeCk2SP61XUQYm2g,2752
@@ -404,7 +404,7 @@ wandb/sdk/lib/sparkline.py,sha256=SbeX9FkaU47BMi0-HtnpCh_cBHsUSl5n1vL7vVL9e60,13
404
404
  wandb/sdk/lib/retry.py,sha256=AgbviljRp_33kHu5XXksdtRhF4BIJKIC7cBpY30BBuw,10097
405
405
  wandb/sdk/lib/json_util.py,sha256=fAsYfaw8iMmx3KJ0wSthUSj_XpF1iAysad4XZY1kQdo,2584
406
406
  wandb/sdk/lib/gitlib.py,sha256=oNd1ARdrMJxRco7hgci53QHRBGfQcGSiRxn89x8IoTs,7829
407
- wandb/sdk/lib/tracelog.py,sha256=CveNVsvkxB_O4cSHhADysoHJs5C_nFJ4OO3hMgMzvhY,7539
407
+ wandb/sdk/lib/tracelog.py,sha256=oOB56Ya4Eo-T72JFRxL2JRzvUny7pKkFK2j8IQw-Mvw,7540
408
408
  wandb/sdk/lib/proto_util.py,sha256=P4u1D9fXXyPwxjknt7BvBaHn5XNzY6cJn-sl62DTNU4,2276
409
409
  wandb/sdk/lib/ipython.py,sha256=jXjV7RDxgVppYep7ol5Q7uK7fVaWYnjR1GrWlLFLzCk,4576
410
410
  wandb/sdk/lib/_settings_toposort_generate.py,sha256=FQZPNGKnUcApOHjT_SYFC5APLxniN2aJJ8UnvdS2dV4,4843
@@ -445,8 +445,8 @@ wandb/errors/__init__.py,sha256=hCrQ6sPnkLHA2veQB1iYrS2Op59yBEMfBTMFdxih3rA,1045
445
445
  wandb/sync/sync.py,sha256=pgWD3O-zGnNtdRNSAGSN1e-QUBByhPpRyciU69XtWkk,15644
446
446
  wandb/sync/__init__.py,sha256=BzzKmWKjsrCTBAj24d-lJOEPkFUmTfvaK2MeXplSwcc,93
447
447
  wandb/plots/heatmap.py,sha256=Rg04vq1uOyl8FwjHtyLCYPgQPLveDXMSGJkdmDHnOy4,2755
448
- wandb/plots/precision_recall.py,sha256=AkOSaLuxg9C_qKDu-2vZu48mqJzUWmTio_TiGhH82w0,4666
449
- wandb/plots/roc.py,sha256=Vo5IooGIqWezzXy7x1RiKhneJzW7szjUk5Dpo-HRhec,3433
448
+ wandb/plots/precision_recall.py,sha256=NoXy8XMbSKthnLMHrDXZPQuFd4XA-nlh0kGvs9NJZX4,4667
449
+ wandb/plots/roc.py,sha256=w8lzm9Itopker1zd28PlXia_q5iMxm-ErKKZ6u6DR7I,3434
450
450
  wandb/plots/__init__.py,sha256=jrxt1IM4KAqoFJAtroRU014TXToZ3sAsxHYilge9uI0,331
451
451
  wandb/plots/plot_definitions.py,sha256=G2Q6I7yKhCxRSzJd_nZnDTuuJgKyfRWN3MXNlwAepXw,19402
452
452
  wandb/plots/utils.py,sha256=XpOrIydyDk69nnUlcGxMMtV8VUO7Zq8ECNzUyQ5IRY0,7185
@@ -1,4 +1,4 @@
1
1
  Wheel-Version: 1.0
2
- Generator: hatchling 1.24.0
2
+ Generator: hatchling 1.24.1
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-macosx_11_0_arm64