wandb 0.21.3__py3-none-macosx_12_0_arm64.whl → 0.22.0__py3-none-macosx_12_0_arm64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (76) hide show
  1. wandb/__init__.py +1 -1
  2. wandb/__init__.pyi +1 -1
  3. wandb/_analytics.py +65 -0
  4. wandb/_iterutils.py +8 -0
  5. wandb/_pydantic/__init__.py +10 -11
  6. wandb/_pydantic/base.py +3 -53
  7. wandb/_pydantic/field_types.py +29 -0
  8. wandb/_pydantic/v1_compat.py +47 -30
  9. wandb/_strutils.py +40 -0
  10. wandb/apis/public/__init__.py +42 -0
  11. wandb/apis/public/api.py +17 -4
  12. wandb/apis/public/artifacts.py +5 -4
  13. wandb/apis/public/automations.py +2 -1
  14. wandb/apis/public/registries/_freezable_list.py +6 -6
  15. wandb/apis/public/registries/_utils.py +2 -1
  16. wandb/apis/public/registries/registries_search.py +4 -0
  17. wandb/apis/public/registries/registry.py +7 -0
  18. wandb/apis/public/runs.py +24 -6
  19. wandb/automations/_filters/expressions.py +3 -2
  20. wandb/automations/_filters/operators.py +2 -1
  21. wandb/automations/_validators.py +20 -0
  22. wandb/automations/actions.py +4 -2
  23. wandb/automations/events.py +4 -5
  24. wandb/bin/gpu_stats +0 -0
  25. wandb/bin/wandb-core +0 -0
  26. wandb/cli/beta.py +48 -130
  27. wandb/cli/beta_sync.py +226 -0
  28. wandb/integration/dspy/__init__.py +5 -0
  29. wandb/integration/dspy/dspy.py +422 -0
  30. wandb/integration/weave/weave.py +55 -0
  31. wandb/proto/v3/wandb_internal_pb2.py +234 -224
  32. wandb/proto/v3/wandb_server_pb2.py +38 -57
  33. wandb/proto/v3/wandb_sync_pb2.py +87 -0
  34. wandb/proto/v3/wandb_telemetry_pb2.py +12 -12
  35. wandb/proto/v4/wandb_internal_pb2.py +226 -224
  36. wandb/proto/v4/wandb_server_pb2.py +38 -41
  37. wandb/proto/v4/wandb_sync_pb2.py +38 -0
  38. wandb/proto/v4/wandb_telemetry_pb2.py +12 -12
  39. wandb/proto/v5/wandb_internal_pb2.py +226 -224
  40. wandb/proto/v5/wandb_server_pb2.py +38 -41
  41. wandb/proto/v5/wandb_sync_pb2.py +39 -0
  42. wandb/proto/v5/wandb_telemetry_pb2.py +12 -12
  43. wandb/proto/v6/wandb_base_pb2.py +3 -3
  44. wandb/proto/v6/wandb_internal_pb2.py +229 -227
  45. wandb/proto/v6/wandb_server_pb2.py +41 -44
  46. wandb/proto/v6/wandb_settings_pb2.py +3 -3
  47. wandb/proto/v6/wandb_sync_pb2.py +49 -0
  48. wandb/proto/v6/wandb_telemetry_pb2.py +15 -15
  49. wandb/proto/wandb_generate_proto.py +1 -0
  50. wandb/proto/wandb_sync_pb2.py +12 -0
  51. wandb/sdk/artifacts/_validators.py +50 -49
  52. wandb/sdk/artifacts/artifact.py +7 -7
  53. wandb/sdk/artifacts/exceptions.py +2 -1
  54. wandb/sdk/artifacts/storage_handlers/gcs_handler.py +1 -1
  55. wandb/sdk/artifacts/storage_handlers/http_handler.py +1 -3
  56. wandb/sdk/artifacts/storage_handlers/local_file_handler.py +1 -1
  57. wandb/sdk/artifacts/storage_handlers/s3_handler.py +3 -2
  58. wandb/sdk/artifacts/storage_policies/_factories.py +63 -0
  59. wandb/sdk/artifacts/storage_policies/wandb_storage_policy.py +59 -124
  60. wandb/sdk/interface/interface.py +10 -0
  61. wandb/sdk/interface/interface_shared.py +9 -0
  62. wandb/sdk/lib/asyncio_compat.py +88 -23
  63. wandb/sdk/lib/gql_request.py +18 -7
  64. wandb/sdk/lib/printer.py +9 -13
  65. wandb/sdk/lib/progress.py +8 -6
  66. wandb/sdk/lib/service/service_connection.py +42 -12
  67. wandb/sdk/mailbox/wait_with_progress.py +1 -1
  68. wandb/sdk/wandb_init.py +9 -9
  69. wandb/sdk/wandb_run.py +13 -1
  70. wandb/sdk/wandb_settings.py +55 -0
  71. wandb/wandb_agent.py +35 -4
  72. {wandb-0.21.3.dist-info → wandb-0.22.0.dist-info}/METADATA +1 -1
  73. {wandb-0.21.3.dist-info → wandb-0.22.0.dist-info}/RECORD +76 -64
  74. {wandb-0.21.3.dist-info → wandb-0.22.0.dist-info}/WHEEL +0 -0
  75. {wandb-0.21.3.dist-info → wandb-0.22.0.dist-info}/entry_points.txt +0 -0
  76. {wandb-0.21.3.dist-info → wandb-0.22.0.dist-info}/licenses/LICENSE +0 -0
wandb/sdk/lib/printer.py CHANGED
@@ -156,14 +156,10 @@ class Printer(abc.ABC):
156
156
  """
157
157
 
158
158
  @abc.abstractmethod
159
- def progress_close(self, text: str | None = None) -> None:
159
+ def progress_close(self) -> None:
160
160
  """Close the progress indicator.
161
161
 
162
162
  After this, `progress_update` should not be used.
163
-
164
- Args:
165
- text: The final text to set on the progress indicator.
166
- Ignored in Jupyter notebooks.
167
163
  """
168
164
 
169
165
  @staticmethod
@@ -342,13 +338,10 @@ class _PrinterTerm(Printer):
342
338
  wandb.termlog(f"{next(self._progress)} {text}", newline=False)
343
339
 
344
340
  @override
345
- def progress_close(self, text: str | None = None) -> None:
341
+ def progress_close(self) -> None:
346
342
  if self._settings and self._settings.silent:
347
343
  return
348
344
 
349
- text = text or " " * 79
350
- wandb.termlog(text)
351
-
352
345
  @property
353
346
  @override
354
347
  def supports_html(self) -> bool:
@@ -462,11 +455,14 @@ class _PrinterJupyter(Printer):
462
455
  display_id=True,
463
456
  )
464
457
 
465
- if handle:
458
+ if not handle:
459
+ yield None
460
+ return
461
+
462
+ try:
466
463
  yield _DynamicJupyterText(handle)
464
+ finally:
467
465
  handle.update(self._ipython_display.HTML(""))
468
- else:
469
- yield None
470
466
 
471
467
  @override
472
468
  def display(
@@ -539,7 +535,7 @@ class _PrinterJupyter(Printer):
539
535
  self._progress.update(percent_done, text)
540
536
 
541
537
  @override
542
- def progress_close(self, text: str | None = None) -> None:
538
+ def progress_close(self) -> None:
543
539
  if self._progress:
544
540
  self._progress.close()
545
541
 
wandb/sdk/lib/progress.py CHANGED
@@ -70,12 +70,14 @@ def progress_printer(
70
70
  default_text: The text to show if no information is available.
71
71
  """
72
72
  with printer.dynamic_text() as text_area:
73
- yield ProgressPrinter(
74
- printer,
75
- text_area,
76
- default_text=default_text,
77
- )
78
- printer.progress_close()
73
+ try:
74
+ yield ProgressPrinter(
75
+ printer,
76
+ text_area,
77
+ default_text=default_text,
78
+ )
79
+ finally:
80
+ printer.progress_close()
79
81
 
80
82
 
81
83
  class ProgressPrinter:
@@ -1,10 +1,11 @@
1
1
  from __future__ import annotations
2
2
 
3
3
  import atexit
4
+ import pathlib
4
5
  from typing import Callable
5
6
 
6
7
  from wandb.proto import wandb_server_pb2 as spb
7
- from wandb.proto import wandb_settings_pb2
8
+ from wandb.proto import wandb_settings_pb2, wandb_sync_pb2
8
9
  from wandb.sdk import wandb_settings
9
10
  from wandb.sdk.interface.interface import InterfaceBase
10
11
  from wandb.sdk.interface.interface_sock import InterfaceSock
@@ -12,6 +13,7 @@ from wandb.sdk.lib import asyncio_manager
12
13
  from wandb.sdk.lib.exit_hooks import ExitHooks
13
14
  from wandb.sdk.lib.service.service_client import ServiceClient
14
15
  from wandb.sdk.mailbox import HandleAbandonedError, MailboxClosedError
16
+ from wandb.sdk.mailbox.mailbox_handle import MailboxHandle
15
17
 
16
18
  from . import service_process, service_token
17
19
 
@@ -96,6 +98,45 @@ class ServiceConnection:
96
98
  """Returns an interface for communicating with the service."""
97
99
  return InterfaceSock(self._client, stream_id=stream_id)
98
100
 
101
+ def init_sync(
102
+ self,
103
+ paths: set[pathlib.Path],
104
+ settings: wandb_settings.Settings,
105
+ ) -> MailboxHandle[wandb_sync_pb2.ServerInitSyncResponse]:
106
+ """Send a ServerInitSyncRequest."""
107
+ init_sync = wandb_sync_pb2.ServerInitSyncRequest(
108
+ path=(str(path) for path in paths),
109
+ settings=settings.to_proto(),
110
+ )
111
+ request = spb.ServerRequest(init_sync=init_sync)
112
+
113
+ handle = self._client.deliver(request)
114
+ return handle.map(lambda r: r.init_sync_response)
115
+
116
+ def sync(
117
+ self,
118
+ id: str,
119
+ *,
120
+ parallelism: int,
121
+ ) -> MailboxHandle[wandb_sync_pb2.ServerSyncResponse]:
122
+ """Send a ServerSyncRequest."""
123
+ sync = wandb_sync_pb2.ServerSyncRequest(id=id, parallelism=parallelism)
124
+ request = spb.ServerRequest(sync=sync)
125
+
126
+ handle = self._client.deliver(request)
127
+ return handle.map(lambda r: r.sync_response)
128
+
129
+ def sync_status(
130
+ self,
131
+ id: str,
132
+ ) -> MailboxHandle[wandb_sync_pb2.ServerSyncStatusResponse]:
133
+ """Send a ServerSyncStatusRequest."""
134
+ sync_status = wandb_sync_pb2.ServerSyncStatusRequest(id=id)
135
+ request = spb.ServerRequest(sync_status=sync_status)
136
+
137
+ handle = self._client.deliver(request)
138
+ return handle.map(lambda r: r.sync_status_response)
139
+
99
140
  def inform_init(
100
141
  self,
101
142
  settings: wandb_settings_pb2.Settings,
@@ -143,17 +184,6 @@ class ServiceConnection:
143
184
  else:
144
185
  return response.inform_attach_response.settings
145
186
 
146
- def inform_start(
147
- self,
148
- settings: wandb_settings_pb2.Settings,
149
- run_id: str,
150
- ) -> None:
151
- """Send a start request to the service."""
152
- request = spb.ServerInformStartRequest()
153
- request.settings.CopyFrom(settings)
154
- request._info.stream_id = run_id
155
- self._client.publish(spb.ServerRequest(inform_start=request))
156
-
157
187
  def teardown(self, exit_code: int) -> int | None:
158
188
  """Close the connection.
159
189
 
@@ -62,7 +62,7 @@ def wait_all_with_progress(
62
62
  start_time = time.monotonic()
63
63
 
64
64
  async def progress_loop_with_timeout() -> list[_T]:
65
- with asyncio_compat.cancel_on_exit(display_progress()):
65
+ async with asyncio_compat.cancel_on_exit(display_progress()):
66
66
  if timeout is not None:
67
67
  elapsed_time = time.monotonic() - start_time
68
68
  remaining_timeout = timeout - elapsed_time
wandb/sdk/wandb_init.py CHANGED
@@ -839,6 +839,13 @@ class _WandbInit:
839
839
  " and reinit is set to 'create_new', so continuing"
840
840
  )
841
841
 
842
+ elif settings.resume == "must":
843
+ raise wandb.Error(
844
+ "Cannot resume a run while another run is active."
845
+ " You must either finish it using run.finish(),"
846
+ " or use reinit='create_new' when calling wandb.init()."
847
+ )
848
+
842
849
  else:
843
850
  run_printer.display(
844
851
  "wandb.init() called while a run is active and reinit is"
@@ -864,7 +871,6 @@ class _WandbInit:
864
871
  backend.ensure_launched()
865
872
  self._logger.info("backend started and connected")
866
873
 
867
- # resuming needs access to the server, check server_status()?
868
874
  run = Run(
869
875
  config=config.base_no_artifacts,
870
876
  settings=settings,
@@ -1009,14 +1015,6 @@ class _WandbInit:
1009
1015
  run._set_run_obj(result.run_result.run)
1010
1016
 
1011
1017
  self._logger.info("starting run threads in backend")
1012
- # initiate run (stats and metadata probing)
1013
-
1014
- if service:
1015
- assert settings.run_id
1016
- service.inform_start(
1017
- settings=settings.to_proto(),
1018
- run_id=settings.run_id,
1019
- )
1020
1018
 
1021
1019
  assert backend.interface
1022
1020
 
@@ -1027,6 +1025,8 @@ class _WandbInit:
1027
1025
  except TimeoutError:
1028
1026
  pass
1029
1027
 
1028
+ backend.interface.publish_probe_system_info()
1029
+
1030
1030
  assert self._wl is not None
1031
1031
  self.run = run
1032
1032
 
wandb/sdk/wandb_run.py CHANGED
@@ -892,7 +892,19 @@ class Run:
892
892
  def tags(self, tags: Sequence) -> None:
893
893
  with telemetry.context(run=self) as tel:
894
894
  tel.feature.set_run_tags = True
895
- self._settings.run_tags = tuple(tags)
895
+
896
+ try:
897
+ self._settings.run_tags = tuple(tags)
898
+ except ValueError as e:
899
+ # For runtime tag setting, warn instead of crash
900
+ # Extract the core error message without the pydantic wrapper
901
+ error_msg = str(e)
902
+ if "Value error," in error_msg:
903
+ # Extract the actual error message after "Value error, "
904
+ error_msg = error_msg.split("Value error, ")[1].split(" [type=")[0]
905
+ wandb.termwarn(f"Invalid tag detected: {error_msg} Tags not updated.")
906
+ return
907
+
896
908
  if self._backend and self._backend.interface:
897
909
  self._backend.interface.publish_run(self)
898
910
 
@@ -1435,6 +1435,61 @@ class Settings(BaseModel, validate_assignment=True):
1435
1435
  raise UsageError("Sweep ID cannot contain only whitespace")
1436
1436
  return value
1437
1437
 
1438
+ @field_validator("run_tags", mode="before")
1439
+ @classmethod
1440
+ def validate_run_tags(cls, value):
1441
+ """Validate run tags.
1442
+
1443
+ Validates that each tag:
1444
+ - Is between 1 and 64 characters in length (inclusive)
1445
+ - Converts single string values to tuple format
1446
+ - Preserves None values
1447
+
1448
+ Args:
1449
+ value: A string, list, tuple, or None representing tags
1450
+
1451
+ Returns:
1452
+ tuple: A tuple of validated tags, or None
1453
+
1454
+ Raises:
1455
+ ValueError: If any tag is empty or exceeds 64 characters
1456
+
1457
+ <!-- lazydoc-ignore-classmethod: internal -->
1458
+ """
1459
+ if value is None:
1460
+ return None
1461
+
1462
+ # Convert to tuple if needed
1463
+ if isinstance(value, str):
1464
+ tags = (value,)
1465
+ else:
1466
+ tags = tuple(value)
1467
+
1468
+ # Validate each tag and accumulate errors
1469
+ errors = []
1470
+ for i, tag in enumerate(tags):
1471
+ tag_str = str(tag)
1472
+ if len(tag_str) == 0:
1473
+ errors.append(
1474
+ f"Tag at index {i} is empty. Tags must be between 1 and 64 characters"
1475
+ )
1476
+ elif len(tag_str) > 64:
1477
+ # Truncate long tags for display
1478
+ display_tag = (
1479
+ f"{tag_str[:20]}...{tag_str[-20:]}"
1480
+ if len(tag_str) > 43
1481
+ else tag_str
1482
+ )
1483
+ errors.append(
1484
+ f"Tag '{display_tag}' is {len(tag_str)} characters. Tags must be between 1 and 64 characters"
1485
+ )
1486
+
1487
+ # Raise combined error if any validation issues were found
1488
+ if errors:
1489
+ raise ValueError("; ".join(errors))
1490
+
1491
+ return tags
1492
+
1438
1493
  @field_validator("sweep_param_path", mode="before")
1439
1494
  @classmethod
1440
1495
  def validate_sweep_param_path(cls, value):
wandb/wandb_agent.py CHANGED
@@ -42,11 +42,42 @@ class AgentProcess:
42
42
  if command:
43
43
  if platform.system() == "Windows":
44
44
  kwargs = dict(creationflags=subprocess.CREATE_NEW_PROCESS_GROUP)
45
+ env.pop(wandb.env.SERVICE, None)
46
+ # TODO: Determine if we need the same stdin workaround as POSIX case below.
47
+ self._popen = subprocess.Popen(command, env=env, **kwargs)
45
48
  else:
46
- kwargs = dict(preexec_fn=os.setpgrp)
47
- if env.get(wandb.env.SERVICE):
48
- env.pop(wandb.env.SERVICE)
49
- self._popen = subprocess.Popen(command, env=env, **kwargs)
49
+ if sys.version_info >= (3, 11):
50
+ # preexec_fn=os.setpgrp is not thread-safe; process_group was introduced in
51
+ # python 3.11 to replace it, so use that when possible
52
+ kwargs = dict(process_group=0)
53
+ else:
54
+ kwargs = dict(preexec_fn=os.setpgrp)
55
+ env.pop(wandb.env.SERVICE, None)
56
+ # Upon spawning the subprocess in a new process group, the child's process group is
57
+ # not connected to the controlling terminal's stdin. If it tries to access stdin,
58
+ # it gets a SIGTTIN and blocks until we give it the terminal, which we don't want
59
+ # to do.
60
+ #
61
+ # By using subprocess.PIPE, we give it an independent stdin. However, it will still
62
+ # block if it tries to read from stdin, because we're not writing anything to it.
63
+ # We immediately close the subprocess's stdin here so it can fail fast and get an
64
+ # EOF.
65
+ #
66
+ # (One situation that makes this relevant is that importing `readline` even
67
+ # indirectly can cause the child to attempt to access stdin, which can trigger the
68
+ # deadlock. In Python 3.13, `import torch` indirectly imports `readline` via `pdb`,
69
+ # meaning `import torch` in a run script can deadlock unless we override stdin.
70
+ # See https://github.com/wandb/wandb/pull/10489 description for more details.)
71
+ #
72
+ # Also, we avoid spawning a new session because that breaks preempted child process
73
+ # handling.
74
+ self._popen = subprocess.Popen(
75
+ command,
76
+ env=env,
77
+ stdin=subprocess.PIPE,
78
+ **kwargs,
79
+ )
80
+ self._popen.stdin.close()
50
81
  elif function:
51
82
  self._proc = multiprocessing.Process(
52
83
  target=self._start,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: wandb
3
- Version: 0.21.3
3
+ Version: 0.22.0
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,22 @@
1
1
  package_readme.md,sha256=U9047nyMDICgctm1HLm4HfXwFnFKsEn2m77hsYPUZ1I,4298
2
+ wandb-0.22.0.dist-info/RECORD,,
3
+ wandb-0.22.0.dist-info/WHEEL,sha256=B_HTF0nESsbkeA2UeB8YgKrtPrxyKFORYURx7Qxu8Xw,101
4
+ wandb-0.22.0.dist-info/entry_points.txt,sha256=v4FCOZ9gW7Pc6KLsmgQqpCiKTrA1wh2XHmNf-NUP1-I,67
5
+ wandb-0.22.0.dist-info/METADATA,sha256=jqSNk4WszyTI53qqeGx5pF8HMBRTkPoVGbtlskZAvcA,10244
6
+ wandb-0.22.0.dist-info/licenses/LICENSE,sha256=izOKRJpGOx1PrJiGOKR0HsNdlB5JdH2d0Z4P7a7ssTc,1081
2
7
  wandb/env.py,sha256=DuzNj6MX0DRDQ8Y_t80jTLC3wiroLZPxA7otwASoE44,14012
3
- wandb/__init__.pyi,sha256=6Ue5DZ0TuA0ePk4x3mqB92oYAs0qpSN97oZSmGDPEy4,46397
8
+ wandb/__init__.pyi,sha256=pyl-wE3R8aNuV7oMfElBiRgTOi4z4Uua2a8ajOV1g8o,46397
4
9
  wandb/util.py,sha256=pLo26E7AbBaGFpWra5Vumm2JENYTaDCpzWMZaQAzihY,65381
5
10
  wandb/wandb_run.py,sha256=RRjZweHEMpfTyQghzOrSZdmViIItT9wLJYzcZ4nlvjk,128
6
- wandb/_iterutils.py,sha256=NX6MaIE3JzPXsqKNXUKdnpIlX0spGG8HwGIQt5VASrk,2400
7
- wandb/__init__.py,sha256=ETf3KRXvmJSJ0PcRetJjkk98iZNPly_nk0FsH5xKj_0,6771
11
+ wandb/_iterutils.py,sha256=sGQvC8x9Wq1UHbqheUk44U3ckS_HO4bg0x0mGVES308,2748
12
+ wandb/__init__.py,sha256=drA89ktg5RtK4d_gQBB4farK-sUtcFVKLv_17KBRUjk,6771
8
13
  wandb/data_types.py,sha256=M-wqAO0FtIqvj28556u3h4nzSwlRcbxhXoX0B9jlJSo,2283
14
+ wandb/_analytics.py,sha256=XkUDTTo599nAU7HsnX2yzox6NdcJoPrlDLWcd7U4WfY,1986
9
15
  wandb/wandb_controller.py,sha256=SksJdgwn14PpnUoIaBjJ9Ki4Nksl9BpQGGn42hT0xZg,24936
10
16
  wandb/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
11
- wandb/wandb_agent.py,sha256=kdlK_NZRZRNkjXRUha7Q-1fDOARf7v0TyIr_a-aRXKk,20868
17
+ wandb/wandb_agent.py,sha256=JWRqi6f_np-4XGcNz0QdKE6OmYvCdSQ2K6gcE-oJF9w,22815
12
18
  wandb/sklearn.py,sha256=hbPkefhS39A1RRymn0nHZZmKM2TrOd4xjlkthTZe9pY,803
19
+ wandb/_strutils.py,sha256=IDRQWWX-DqeKjrJHQUGOgM8DOlM5inpZLPeWhomMc84,1391
13
20
  wandb/__main__.py,sha256=gripuDgB7J8wMMeJt4CIBRjn1BMSFr5zvsrt585Pnj4,64
14
21
  wandb/trigger.py,sha256=PaitU3sX6ekGkd2R8iD6d_VtI72ypF7LaPBXh3rXY7Q,615
15
22
  wandb/jupyter.py,sha256=NEH-o2QdHfKorPmeOHORLRq25Am64GBDwuAPFz-x7uk,17323
@@ -34,24 +41,24 @@ wandb/apis/public/files.py,sha256=V2j_bXnxn0uhyzA7_AB0MJmNPJbqbIzdpRhE7WPJwCI,13
34
41
  wandb/apis/public/users.py,sha256=Aqj_H-iseCLSW81ZVRUa-q9CYgcHFy2wWX-Ty9uH_f0,5350
35
42
  wandb/apis/public/query_generator.py,sha256=AHbdUYBnZRqQSOTFoVVsAZRN1FFA5dSfHpi665zhgc0,6527
36
43
  wandb/apis/public/teams.py,sha256=DJNV5RYy-DJ6SCIuUfxcQdSwRY9VjZouzoGVF5gb3oo,6615
37
- wandb/apis/public/__init__.py,sha256=Alli9os1BnRCEXEeCPiQbDU1Di3_jMz993sguXX9Qyg,1214
44
+ wandb/apis/public/__init__.py,sha256=PoSy81060xI1NJ5mzco0LqrGh3VRL-o6QUeIWzIuafM,2196
38
45
  wandb/apis/public/jobs.py,sha256=PH_S8Oi1QngXMzhS5hxJUjrbkoRDOnKewBXX9Tcn34U,26302
39
- wandb/apis/public/api.py,sha256=A9GLrA_HPp0DWZL-OAnEER_7voc6stkZpug0jEz4A3g,88222
46
+ wandb/apis/public/api.py,sha256=exIA8kGjDyPic2ac87XKNmH4STJneDrOmMC6LUtQ5l4,88433
40
47
  wandb/apis/public/utils.py,sha256=62ux6zpRpVug_y-_PaHUSOkPcHMTNFknAPqcINJSHFg,7893
41
- wandb/apis/public/automations.py,sha256=54Ugi3TZgQMApbMB5_rDPFpNeRL6hn1D_zdQP51fKFQ,2615
48
+ wandb/apis/public/automations.py,sha256=YISVkOYAUijYSDpZ4fBfi36__azXgsUzE0jviTpz64Q,2645
42
49
  wandb/apis/public/reports.py,sha256=r72ms_TKM_CgTExOUZyNA2xFzttnHeFLsNpeBwv5DMk,19819
43
50
  wandb/apis/public/sweeps.py,sha256=lPxp8yoIh60vjmfsCOfhsMReuV3aVzNBc_JGJdh0CzY,12946
44
- wandb/apis/public/artifacts.py,sha256=ItcccWPcxd-Au_eHrEFsyDIu4Gy9JkPlfya7kL4PLEU,34968
51
+ wandb/apis/public/artifacts.py,sha256=Au3aDNJHjMZ4Fu3EXeBq7i89ianI434g1ZJXPIrvj5U,34999
45
52
  wandb/apis/public/projects.py,sha256=fhCtsD9iSY43JypBC9BVfBi-zraLh2I4MU4hTx3w45g,8018
46
- wandb/apis/public/runs.py,sha256=_xZiYXLfF7bWNCj3fTjA7hyPKHyqUxAQ2zWWCAw5Btk,41991
53
+ wandb/apis/public/runs.py,sha256=Sf6TMNNSp4u0qpSjqdN1LAtCc6wJTaVEC26ztbvVB9c,42547
47
54
  wandb/apis/public/integrations.py,sha256=sDpClnpwCew3MO3M_yhxMSESzYcrM38zDXWoOyOiy4E,7260
48
55
  wandb/apis/public/const.py,sha256=icNtcS3gTCtvevLWuTOCqm0FHEfLQ0P80mA69dWeEXs,121
49
56
  wandb/apis/public/history.py,sha256=ZBXoVmrNuzq7tPj0Rwgk3TJvOGDaGKEDlXj1hm3p7fc,6288
50
- wandb/apis/public/registries/registry.py,sha256=fNX2Iy3yG2skLPIsp0ityR1opQDeTKXIy38VjDDkXCQ,13725
51
- wandb/apis/public/registries/_freezable_list.py,sha256=E7qnLNnw1RF6ClQXbtkg3LRpOMs5jx2L5HiSY3RzTMo,6368
57
+ wandb/apis/public/registries/registry.py,sha256=5ajI4xJwFVB7bCNNwWXlK5gSCUfiPfMTkuDuSx9ptcs,13840
58
+ wandb/apis/public/registries/_freezable_list.py,sha256=O5WrsYW5GKrVg6VWM93_zlxxtsw3FeE5E5X3xMGG9UY,6370
52
59
  wandb/apis/public/registries/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
53
- wandb/apis/public/registries/registries_search.py,sha256=hG2pvDTnoKbPQbrpk3i_96e3_-4q4FM5OFjGqVRDnOc,11358
54
- wandb/apis/public/registries/_utils.py,sha256=Bn_rSe4WAArDw0UdUjkOQkvJ3RDe0O7B6JINAca2BXQ,4291
60
+ wandb/apis/public/registries/registries_search.py,sha256=dkYJm9dxg6pmPQafMJKmTTJ-hKkVwN6l2BpbDGkoYZc,11434
61
+ wandb/apis/public/registries/_utils.py,sha256=VXkUNQ2ruYb8284QB1qOtMQyN-VpNSOIqig8uUTWzNA,4297
55
62
  wandb/apis/reports/__init__.py,sha256=5ZkKvOqwks3UmVeaPuwIZYwyV8_afsGbtybDOXYjSsg,32
56
63
  wandb/apis/reports/v1/__init__.py,sha256=L5l1BqMaap-w5wXCzn8pC8RXB7_72MsjTx8HeLuC3XU,263
57
64
  wandb/apis/reports/v2/__init__.py,sha256=jdLiTqf5QIRxnWH8drWV9Y06bZEhI5N6uGGSKAT7tv0,263
@@ -73,35 +80,42 @@ wandb/proto/wandb_server_pb2.py,sha256=82Cf27PnDjHbkQT_-ZPjQyI0AVYd9YWoAlABrGPD-
73
80
  wandb/proto/wandb_base_pb2.py,sha256=h09-9fMDbMC82T3jWHzmh8MB8llZ9o9za0uBOF_bL_s,385
74
81
  wandb/proto/wandb_internal_pb2.py,sha256=hTpbURqJyoNcwHD7o3k0ofmKgZdmKEYUm9sBqLHa5iA,628
75
82
  wandb/proto/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
76
- wandb/proto/wandb_generate_proto.py,sha256=KO1hlAUBGHQRNKsddhcSXvh5a6rmFM3kshKTWftbWwY,1278
83
+ wandb/proto/wandb_generate_proto.py,sha256=10rKLrX1cxKh7iJulmIJXSob4vZzLxDAk_Vf9acgVdU,1302
84
+ wandb/proto/wandb_sync_pb2.py,sha256=CjyWIcWc6tM1zgOPwN8OssJebfoUou6QlXVDarwnt90,385
77
85
  wandb/proto/wandb_deprecated.py,sha256=HGCueNNxy04yz-iUsCeg3-XNKlFAVMdwyiy3muDlmtk,2776
78
86
  wandb/proto/wandb_telemetry_pb2.py,sha256=Y9uzA6O9yUJ3HKqYOi86hg-mZ49NtSzQ_XRFSCONolA,405
79
- wandb/proto/v6/wandb_settings_pb2.py,sha256=pAJA82SYCRtZs7OgUQL-OYs1Kkp1iyVayoVmRLaI6O4,18830
80
- wandb/proto/v6/wandb_server_pb2.py,sha256=jH4AJat2sz9hR88er6D4yb-6bNLY5nPW5oX5CuHjBLc,7786
81
- wandb/proto/v6/wandb_base_pb2.py,sha256=5NJU1W7zgKLIsKL5brRoOL4HcLOxWieIKlWEe1IM0_g,1821
82
- wandb/proto/v6/wandb_internal_pb2.py,sha256=6hPu_RQk9gjGLXQk9i6X50GWAXqOMdpL5VpsHhMZgog,58420
83
- wandb/proto/v6/wandb_telemetry_pb2.py,sha256=WjxRYwGaG2PCMJdgtTtDMJ-bHIwrxcuMoPXIlxjaKmc,12489
87
+ wandb/proto/v6/wandb_settings_pb2.py,sha256=JgZ1_m_lESIniTlQksExgamInIA3CH0a2rzjLsT6yvs,18830
88
+ wandb/proto/v6/wandb_server_pb2.py,sha256=653uvl0HXdl3U1ZOpI5Hqz6LCmdxhfld_FdUtun7e70,7817
89
+ wandb/proto/v6/wandb_base_pb2.py,sha256=33R_7uY3eNy3D-UOpqU9NqkKOXxxBi-qCBRvFygjB1Y,1821
90
+ wandb/proto/v6/wandb_internal_pb2.py,sha256=pbPcHvptz44p7fRxzNhi_-QQCivACIR3yKx8zhpWugU,58670
91
+ wandb/proto/v6/wandb_sync_pb2.py,sha256=XWh-qK2trRF2U-_YwWtfUBLjxKOyqlqEkWzNxPMNJps,2817
92
+ wandb/proto/v6/wandb_telemetry_pb2.py,sha256=ggidm5T1n3w8UzWusXy825TtWmUd5GUJ9_jQV7nrjkA,12565
84
93
  wandb/proto/v5/wandb_settings_pb2.py,sha256=12an1CH04EdQAZ0EPeJHFXhVbLcKXIGco3iKFvv8gnI,18577
85
- wandb/proto/v5/wandb_server_pb2.py,sha256=f55mk3Z77xUnq_tAbTd_Q75CiOJz6ppPbZT7CoeF7-I,7535
94
+ wandb/proto/v5/wandb_server_pb2.py,sha256=PnUMsWWwoSI4v8677z8hWbYmu9B908dFl_JHoOQ0uM4,7566
86
95
  wandb/proto/v5/wandb_base_pb2.py,sha256=u7VVWdExJ4WDkYNMV-xvWvyQ-NTIbAqToTKtgEqt_Lg,1572
87
- wandb/proto/v5/wandb_internal_pb2.py,sha256=3mhizPA8Vz9jomlm24K_VkPz_5rYwxo59Yp0gtLZKNk,58167
88
- wandb/proto/v5/wandb_telemetry_pb2.py,sha256=uvwzA99caZZECCcP8uoCIcfWuSDBeGns12fxTaLdx0Q,12235
96
+ wandb/proto/v5/wandb_internal_pb2.py,sha256=4tHCAv4H5a8xu-imjiagBDMtE44EF08gaVjwD3Y4lto,58417
97
+ wandb/proto/v5/wandb_sync_pb2.py,sha256=gWaYPn-xONgmLr5b1zlfo8dgEoJ7aTPe3mFz-yffmc8,2568
98
+ wandb/proto/v5/wandb_telemetry_pb2.py,sha256=zl_Thc55nmp-ukAQCkSckEgW-9MkBQJFWZEx_sui2D4,12311
89
99
  wandb/proto/v4/wandb_settings_pb2.py,sha256=gPObgqI1Uy3BushWew48n8rgCLCsH06cMFCIGbP7EHg,18221
90
- wandb/proto/v4/wandb_server_pb2.py,sha256=NiG6Xv9CDvxc8v8NmnM237jyYqMuRyE_nqmLAMZVdI8,6977
100
+ wandb/proto/v4/wandb_server_pb2.py,sha256=h7_ErrgaVqnjTH0RpMZQY3Ywr0syLRCaUMHnidjSeYY,7056
91
101
  wandb/proto/v4/wandb_base_pb2.py,sha256=El5lnZMRpkc1W4SlZgeKoDPqWiJau0BG8QfigMMt6bM,1422
92
- wandb/proto/v4/wandb_internal_pb2.py,sha256=-dqDoDEWpLdHKXd1bzWerxLjo6Ne3Z9L4lQnD7abc0I,53820
102
+ wandb/proto/v4/wandb_internal_pb2.py,sha256=wlzbx5ieapAqHwB_gAybYl08T-r-ueErRj81WzgNpqI,54046
93
103
  wandb/proto/v4/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
94
- wandb/proto/v4/wandb_telemetry_pb2.py,sha256=USZm11BMckOpGikXKaGZ2Hg1WW17RgDtKhpaP9eTa-k,11965
104
+ wandb/proto/v4/wandb_sync_pb2.py,sha256=_TRXu8KCGH-t0LZQSbUEE6MN4oUSBHspiXXa-sLtJFo,2346
105
+ wandb/proto/v4/wandb_telemetry_pb2.py,sha256=JD6TcSwHajE1zO63IsYHBODp5JSXitoCdB45-l1oQ0A,12041
95
106
  wandb/proto/v3/wandb_settings_pb2.py,sha256=GlmZKFANXdZmqv-glm8pgM9XxHXhzf1JWNYIgtKLJGw,21846
96
- wandb/proto/v3/wandb_server_pb2.py,sha256=LQCUmuy0NFDo20N9uCUiE5VPyhP5r929WKtniae4CdQ,15514
107
+ wandb/proto/v3/wandb_server_pb2.py,sha256=33NuxrfmMp_vPnyFilHrWJf3S15CBRpGy3vinjt-okY,14710
97
108
  wandb/proto/v3/wandb_base_pb2.py,sha256=_nsr_HW4Fdz62-KiXGo6Dw0_9bwdXz07auZkkH2QfSI,2355
98
- wandb/proto/v3/wandb_internal_pb2.py,sha256=hfl3IkpolrHcs2YsU2RCx8VDXVVh245X_u50eM4-F1U,117096
109
+ wandb/proto/v3/wandb_internal_pb2.py,sha256=t2LbE_C_G0srgskByufxdZk1ZfBmFTjPiqfWukgbsQs,117748
99
110
  wandb/proto/v3/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
100
- wandb/proto/v3/wandb_telemetry_pb2.py,sha256=YUFe_KdIEM8Pq7lBnlsPefMgEOOjjqTLArRC_Wpsmwc,14518
101
- wandb/bin/wandb-core,sha256=zgjrr-Y0PuRC4em-DKMBWyKbOSUWl1-E34D4nMC5UbY,40875874
102
- wandb/bin/gpu_stats,sha256=tkFw8BswSm3X8W--Klsm_jKQ4Y7xoshIxxpDmzIPA1s,9284336
111
+ wandb/proto/v3/wandb_sync_pb2.py,sha256=5W0xeuOyrzIK9Adm1MxkJv6_I6bpxHuO_OggCwG0WDc,4720
112
+ wandb/proto/v3/wandb_telemetry_pb2.py,sha256=zK5kHr1qp4sabaj7MGU990CekdNqU2pPu-iFW0U-qrA,14594
113
+ wandb/bin/wandb-core,sha256=k9A-4w-pTUSH-bARuGmnG5RAliYiSxw7Lh0Vjipv--A,40960978
114
+ wandb/bin/gpu_stats,sha256=17CMw53056RG8ci3Uq28sP54fa-iH_86gD58KA4pWrk,9284352
103
115
  wandb/integration/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
104
- wandb/integration/weave/weave.py,sha256=8V62eSOJ676v4QZCflESlZx1nX2KYjI7MbHjIzXID_E,1938
116
+ wandb/integration/dspy/__init__.py,sha256=gC1FQ9NNB9Npa7zi_QmrzmxkfYvWreTm2AQtf0b2Ol0,106
117
+ wandb/integration/dspy/dspy.py,sha256=Lp8JnIPXDwSVzHCX-JHs7aDUL8JmfoupD3tzwE06eIo,15526
118
+ wandb/integration/weave/weave.py,sha256=XLmRy3x-r0JlPXbX3OF8Qk6i5cg60L3S3Yx56ZqiROI,3555
105
119
  wandb/integration/weave/interface.py,sha256=7PMQEDN9rOGMmhf_EKAsViYQ65wl6YccJcQGSLCJQCQ,1165
106
120
  wandb/integration/weave/__init__.py,sha256=SW1X2J6az3XTbAKmxfi0O0R9qBuJRv7o9SITiJmiRUg,158
107
121
  wandb/integration/yolov8/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -198,19 +212,20 @@ wandb/old/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
198
212
  wandb/old/core.py,sha256=bIIFlU3_E2hvrVCzMQk1VcwJtxbadbAZwDC0qsF4C2g,1501
199
213
  wandb/old/summary.py,sha256=FZrkTyycUy6MRY1n4q7713rlTV7h-CMr8_kNoeb-wzY,13856
200
214
  wandb/old/settings.py,sha256=Cug-8ImuV4_x8HFGOnlATuh0iJ4JOUfmymguPFqlXvE,6482
201
- wandb/cli/beta.py,sha256=Mq-5A-XXH3VLIvhWPxA84DFPeirNMYGPSQ53H78Xkjc,5187
215
+ wandb/cli/beta.py,sha256=2eOAKaB5fvLwYMIORweGKudtvsGQVw1y7dy80keC2Z8,2145
202
216
  wandb/cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
217
+ wandb/cli/beta_sync.py,sha256=koCN9sCXlUsT6Ko02UEEnocWp2NPD34gh2xxoF63K4s,6932
203
218
  wandb/cli/cli.py,sha256=3_2SuxOv4a9Ha9SuGvVuc3RFvWueb0wuJQy8HrXFzww,95045
204
219
  wandb/mpmain/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
205
220
  wandb/mpmain/__main__.py,sha256=bLhspPeHQvNMyRNR7xi9v-02XfW1mhJY2yBWI3bYtbg,57
206
221
  wandb/sdk/wandb_config.py,sha256=uvbpaV3yObsYsaYedYde95B4CzDZBlaU3zOPJ7tPkhs,10692
207
222
  wandb/sdk/wandb_alerts.py,sha256=SwBPBiXRxknMTMGbsVoMMWqWK65UWMcKAdTWZtdwAeo,193
208
- wandb/sdk/wandb_run.py,sha256=lE3CC5MME5KXiW5S_3OYHi9WxFQZ9IU-VmMdXzfh044,146743
223
+ wandb/sdk/wandb_run.py,sha256=Gm-qGNc_yfb9OTrsW3I3XbS1om-Hf0CoqCZtHJvN_tg,147263
209
224
  wandb/sdk/wandb_sync.py,sha256=GNC8xYqT56ws4aw6Vd_mV_Ck-InEbqnyioSqHIybDug,2106
210
225
  wandb/sdk/__init__.py,sha256=N-GTAC0AzbZF2J8RzB33DTmYk9u-jubllCwvhWrPgsE,813
211
- wandb/sdk/wandb_init.py,sha256=ga7mq1njTU4XlamnUvo_aEx4LqLHE_gbNQvE6VhXCmQ,60890
226
+ wandb/sdk/wandb_init.py,sha256=Tm6uPySy6RTkYbjVU72yIj5L_XIf6kZZ-y1GUSyNUno,60948
212
227
  wandb/sdk/wandb_helper.py,sha256=IbJ7opO8UkfwCDekSjRYIrGBblUxnTPBfp1EdesfF4U,1824
213
- wandb/sdk/wandb_settings.py,sha256=b9di8PJ1QaWTAe6g5pBwVpIgSOXciLEW_hBpQbFXZkE,72928
228
+ wandb/sdk/wandb_settings.py,sha256=HxT3wVdNm-bAKjwi8TxfOiS_OCFF0ej3SorfYurNDXI,74652
214
229
  wandb/sdk/wandb_summary.py,sha256=yQdOVIPrZaZanhBQ7yuSfPLX0x6dxwkN_KAn4SgjSZU,4536
215
230
  wandb/sdk/wandb_watch.py,sha256=kN5qgovHkUPyUeNypoPg7tsPg-P8AKhYD8hDx46nZas,4746
216
231
  wandb/sdk/wandb_login.py,sha256=JY0GTqi8taj8im7yPE9bjnbMIhCNmBmpP2Z4tYRPdUc,11325
@@ -224,9 +239,9 @@ wandb/sdk/integration_utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMp
224
239
  wandb/sdk/integration_utils/auto_logging.py,sha256=90aPWkkZM9KPb4aYel1c-Yr8YV50cFBt1bVAAc2z45s,8205
225
240
  wandb/sdk/interface/summary_record.py,sha256=-wDv_zLYueeUY8IzyF9NPYnYwF3iBpUWbrsGcHAd2YM,1677
226
241
  wandb/sdk/interface/constants.py,sha256=NJNBFr7LkshLI837D3LU3JuEURLzBwza9H-kxcy4ihw,60
227
- wandb/sdk/interface/interface.py,sha256=eHQEQinq_tU8uCM3I_nqDXvyjEGrt3cs4a_S8D9b9KU,37888
242
+ wandb/sdk/interface/interface.py,sha256=fWsb3DFI_t0TQAjEiJb5smK4AHKkKnmJ_Lp2J5F0m6w,38225
228
243
  wandb/sdk/interface/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
229
- wandb/sdk/interface/interface_shared.py,sha256=xao8S8qfko61b-RMSHN7iEuCxQFhMmLbdF8DdmISMGg,17738
244
+ wandb/sdk/interface/interface_shared.py,sha256=irWT8BQS5wIg_1qTnCoogrOiN1wzIS4wCey93HUAhkI,18121
230
245
  wandb/sdk/interface/interface_queue.py,sha256=aSohv4Mi6v9LF4ytMjSiZIPYj5egE5wTQmTZZfmGfmg,1160
231
246
  wandb/sdk/interface/interface_sock.py,sha256=PeLR8W-M2l81kELzpwRbWAfhj4pOlyOXP1aVMjwDMNQ,1377
232
247
  wandb/sdk/artifacts/storage_policy.py,sha256=b87WYRCrzKBKy0WBNjZIB_98_YbnqP7eKS3CoKT_Ig0,2216
@@ -234,8 +249,8 @@ wandb/sdk/artifacts/artifact_state.py,sha256=JbPVinN8Vaq16IKdPtFmiYbBdBtCKLDMVU_
234
249
  wandb/sdk/artifacts/_factories.py,sha256=gs_fTayk46y5MwLZxhvsx-UekuNKJYX7ZfLaWsk0OTs,543
235
250
  wandb/sdk/artifacts/artifact_ttl.py,sha256=kD_JfKVcQzZlif6PF-WKnemucWPwcISq8hX6Y8lKtY8,122
236
251
  wandb/sdk/artifacts/storage_layout.py,sha256=JeI2uVqreJynIVNhFVvh7Acm-Wem25ueFQvcxg_svZU,109
237
- wandb/sdk/artifacts/artifact.py,sha256=HydpYBKmYlwNAkDI_eflXrgPWeuvn9fj3XNlUSlwQUA,103250
238
- wandb/sdk/artifacts/_validators.py,sha256=ZDAaFH2LJ_OlxQ2B4ejryx4RFZHfKQKwbuX3FL-DsjM,10948
252
+ wandb/sdk/artifacts/artifact.py,sha256=H6pls8tPxOHJj2G883BrTST6OU8aLDSirVnW9UL3Ch4,103211
253
+ wandb/sdk/artifacts/_validators.py,sha256=WHh1XK8V6A4MAjONSgiszTy83-7_72eIfC1RgrDqNDs,11122
239
254
  wandb/sdk/artifacts/_internal_artifact.py,sha256=Jx79CVB5xfuJCXTmmRIN8yegqknsqKNpKJa-WJmCO3w,1975
240
255
  wandb/sdk/artifacts/artifact_file_cache.py,sha256=pTl4ah6_Bv_vX24tA_jEa9ZPpkF3UdW7TUtRYD2jluY,9874
241
256
  wandb/sdk/artifacts/artifact_saver.py,sha256=RwJIveLn87UE3_tk5zAJ8ry-TAvxwTS94yNAChwhLAk,9654
@@ -243,23 +258,24 @@ wandb/sdk/artifacts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSu
243
258
  wandb/sdk/artifacts/artifact_manifest_entry.py,sha256=pA-3qBKpjOM3axaSyn131Pu1ikSZIJUxDGYKzm2eF0o,8693
244
259
  wandb/sdk/artifacts/artifact_manifest.py,sha256=ZBdtazpTXt0X_8F4y6O-SDmrTY69hCp0HckCXbnZkII,2534
245
260
  wandb/sdk/artifacts/artifact_instance_cache.py,sha256=atSUDvKjkp6by6QY0w2FLMrFUg9UKc8TIrMVWGauV64,501
246
- wandb/sdk/artifacts/exceptions.py,sha256=w0ScWmElSSHHFeh_HQ-Wae4P1U1RMztDCXN0PhyejbE,2333
261
+ wandb/sdk/artifacts/exceptions.py,sha256=AoSQ-g92IyvBY5h_sMTbE5ReSiw7Yu4eMwdr_zLPB-o,2357
247
262
  wandb/sdk/artifacts/storage_handler.py,sha256=ebMCKXvvn7z_eYunXriTOYescstuBbNbxn7MDW9qZAw,1834
248
263
  wandb/sdk/artifacts/staging.py,sha256=QNbPQhlW-w2liQ_5ZgGJaxsp-prPrOAZ1InmCx3N9Zk,890
249
264
  wandb/sdk/artifacts/artifact_download_logger.py,sha256=bS4v544rFcTOTRTXMUSd6tfLUXzezbIogDpQmZUjah0,1537
250
265
  wandb/sdk/artifacts/_graphql_fragments.py,sha256=Nsiuy7lsY1jGR6pqqkqhplXnmZf9JmGeh7YznPsNfTc,581
251
- wandb/sdk/artifacts/storage_policies/wandb_storage_policy.py,sha256=Ro0QRAyo0TXi7pRhyToBuzQMeHYHuyof8G9jPZHwCIQ,22137
266
+ wandb/sdk/artifacts/storage_policies/wandb_storage_policy.py,sha256=OjIspIbkhv13oqT0KhvUtlG-V02C9QFpchiMLlViuHo,19598
267
+ wandb/sdk/artifacts/storage_policies/_factories.py,sha256=r5vJ-TJvGnGNMviWozdCQjl0r7INizjU4eC0KPfF45I,2249
252
268
  wandb/sdk/artifacts/storage_policies/register.py,sha256=xT7kUxubtLqyE-9S6U9E4mCo1PtXl0ZEJ6gVQiS-kGQ,49
253
269
  wandb/sdk/artifacts/storage_policies/__init__.py,sha256=bgpWKElL-3iHcLO8pF-L8oezG-dQbp_6vcCYo7CEFAU,226
254
- wandb/sdk/artifacts/storage_handlers/s3_handler.py,sha256=BBpAXn_UCwK4OK8XA50wKI7nQM98ncYjrxCu21w6l6c,12861
270
+ wandb/sdk/artifacts/storage_handlers/s3_handler.py,sha256=B2ysOvIESV3Wa-IXOT1VFw4jkj8lG6Kzo4xFKjd-v_U,12839
255
271
  wandb/sdk/artifacts/storage_handlers/wb_local_artifact_handler.py,sha256=MpYHgEkbjt1VCUV-lfg1f3MscOK10tZHSJwOFjCzGBg,2562
256
272
  wandb/sdk/artifacts/storage_handlers/wb_artifact_handler.py,sha256=sKu9VRCcgd9DYPPdCN49Fl63g6_HfHX124xnnFyZPe8,4764
257
273
  wandb/sdk/artifacts/storage_handlers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
258
274
  wandb/sdk/artifacts/storage_handlers/multi_handler.py,sha256=GZ9wAfVSuZE3IGL5F5ojM_GPrRqYIYTJxWSsqFn9HiI,1842
259
275
  wandb/sdk/artifacts/storage_handlers/azure_handler.py,sha256=Y0B79t9xDrXo361O9x6VFPQWJOozIPlzQRaGx6768Sw,8333
260
- wandb/sdk/artifacts/storage_handlers/local_file_handler.py,sha256=SiRfKwfr9brkm0tDhMDpgxhHH6FOlasRaliznL9zyN0,5470
261
- wandb/sdk/artifacts/storage_handlers/http_handler.py,sha256=sdzBqZyQ_6WKtlcqIfxE6QzDNWy1Kw7rKp4f0OCTYuw,4033
262
- wandb/sdk/artifacts/storage_handlers/gcs_handler.py,sha256=V2ttv1qsOP5Ns8aN-l5qt1J1OF1UKEUBos0EvW_SBD0,8509
276
+ wandb/sdk/artifacts/storage_handlers/local_file_handler.py,sha256=BuRUvWgyX5pbBfVGUXnhvNXU0WcOp2M1vdPOywzGKpg,5433
277
+ wandb/sdk/artifacts/storage_handlers/http_handler.py,sha256=r-Q1nSxUDruxeDMsWcs6OQ9Dyn0xS6SJ1lVKugOOSR8,3920
278
+ wandb/sdk/artifacts/storage_handlers/gcs_handler.py,sha256=NZElfTpmkGffTpiN1-yAfeKoGnXxBL4YgmnvmnDz_h8,8472
263
279
  wandb/sdk/artifacts/storage_handlers/tracking_handler.py,sha256=4MFqhnVciygmANKOrMSZwew4TXAFg5Q7zAZFz0FbpWM,2487
264
280
  wandb/sdk/artifacts/artifact_manifests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
265
281
  wandb/sdk/artifacts/artifact_manifests/artifact_manifest_v1.py,sha256=nQt76-WzeO1L8NoMc7DAuwWE4LhNrgL6Fn9eaOPChX0,3497
@@ -334,7 +350,7 @@ wandb/sdk/verify/verify.py,sha256=Z7-QyYaro0-I0iIv4r9X7argyq2ks_SyOl_TGE9KYHE,18
334
350
  wandb/sdk/mailbox/mailbox_handle.py,sha256=HVNF7VKvMIQi5JdhwRPMyElvf5dtQCx_4zOw21Hxn6g,4011
335
351
  wandb/sdk/mailbox/__init__.py,sha256=C4x3ym_hymymKFZiI1Q0HPlGx5x5CzeKPVF229Z2V8w,856
336
352
  wandb/sdk/mailbox/response_handle.py,sha256=nRUe3tTC6-dmQAsRT2AaD3tWaQfXPZRJHgLLrIroOJ4,2816
337
- wandb/sdk/mailbox/wait_with_progress.py,sha256=NTIzP9aTeHIyD4tMo5lIH1-OTZf0j4enB5M5xfIXMK0,3090
353
+ wandb/sdk/mailbox/wait_with_progress.py,sha256=xurloFYzaYjJVcmayHJBNXIjB2vT1r3IBzi6yP_ymSM,3096
338
354
  wandb/sdk/mailbox/mailbox.py,sha256=R9H0MCNt3dhDfCZXu0qZIbYa4mJtxXucOzKvR4smss8,4806
339
355
  wandb/sdk/launch/wandb_reference.py,sha256=t4REjZz5lwB9fjDW2eo8uRgw9KeLsPeZ1Uu8tiFDBfA,4253
340
356
  wandb/sdk/launch/_launch.py,sha256=V4CvEVWawFIZaxwFGa0KnBCsVisZeaaYH4wwaeWAnTY,11815
@@ -454,36 +470,37 @@ wandb/sdk/lib/hashutil.py,sha256=Heudn0Prj3C-1Ypyq4IU1QfflRJrJMbgoreTGnWGraE,359
454
470
  wandb/sdk/lib/wb_logging.py,sha256=9km7TAnJRSwBTQaFSYA4BmQZV3_Gb0y1PBlzqEOdUHA,4839
455
471
  wandb/sdk/lib/module.py,sha256=p4vKIq-rfj-txcUfj0RdknLlb-8sCNmwakn49HTWdsQ,1916
456
472
  wandb/sdk/lib/handler_util.py,sha256=mT9CKsmboq4lPWElsi4uo9ORHhx6OYTr7KY2QtgbM6M,589
457
- wandb/sdk/lib/progress.py,sha256=VRRX-P9YoiqyCUdZmoE1II5uy5qv4QI1m5Yzn8zbbRM,10021
458
- wandb/sdk/lib/gql_request.py,sha256=-KRTtT2zqn7pTOBcl41IBdbvQ25YCrxVurROpRqrWqw,2399
459
- wandb/sdk/lib/asyncio_compat.py,sha256=zOcgHL4C-ymc8vVS4y5pTtTes-EyCL9X1eXOTXLswwk,6993
473
+ wandb/sdk/lib/progress.py,sha256=bjj2xuPk6PMQD6wFW66nVttvc921i8KWGS3evbOJP44,10075
474
+ wandb/sdk/lib/gql_request.py,sha256=XzBmCX-X3yx7rvyA6qWuzBFLTeMO7Nb-dmapaKp-pLY,2665
475
+ wandb/sdk/lib/asyncio_compat.py,sha256=WRBv3Xj0rU5lnxFmsOTpoWad3dXWvN_D0TS5zEbIps8,9321
460
476
  wandb/sdk/lib/config_util.py,sha256=Y00nnEcq0zspuDb0yqraxRuo5JIUh1HflDvZYppeDyk,2893
461
477
  wandb/sdk/lib/apikey.py,sha256=s2uw8B2O53rCpBCDgiWyF8ceQH9MNpOdaTil1uvy-O0,11097
462
- wandb/sdk/lib/printer.py,sha256=V8PVsqo9kOueeCVjgCSB-mhRLVYuIAfLJMlOazlu4FA,16242
478
+ wandb/sdk/lib/printer.py,sha256=HH9hdBwj78F4K_HPVD6y3Eip0uRSdugqvFr6NX_v85w,16018
463
479
  wandb/sdk/lib/fsm.py,sha256=2fRiEF2jF95xDoVVbOmeIRaxMqlOv0bCv4RD8F2Ivj0,5044
464
480
  wandb/sdk/lib/lazyloader.py,sha256=4Seis4C8Ph6a2-3scfYqeHh7KjKG6PO0WJ2ZPW30O0o,1891
465
481
  wandb/sdk/lib/service/service_process.py,sha256=EDv7zYeUpF4NgN4ClTlzyUtfs75CiimdmLxTqvo72Tg,3100
466
482
  wandb/sdk/lib/service/service_port_file.py,sha256=Oonq46Ml4vKR-JTcxx4exi5MthGYRvIqy8hCv84Lc5k,2943
467
483
  wandb/sdk/lib/service/service_token.py,sha256=2J68CZqNqN4sRIkI7oDUpqX6vhfWQi8pXNzU_hUxoGc,5107
468
- wandb/sdk/lib/service/service_connection.py,sha256=ieTG8XWo8Prlvhq1NChsVcd-XEIkLENLkXdzdl-GrTQ,6067
484
+ wandb/sdk/lib/service/service_connection.py,sha256=8ujlC9VB3s0fOUaW1ef2cOxvrRU_Ak-dDEOM9FSDmqk,7132
469
485
  wandb/sdk/lib/service/ipc_support.py,sha256=UPa-bV_wY25WhYmMelVyLGZzbztSz2LSf2SUhVB-omQ,341
470
486
  wandb/sdk/lib/service/service_client.py,sha256=uLyOOsLI_W5C9YeU_LTqGJSN0tDbq8nSh2HWWnyNjTQ,3218
471
- wandb/_pydantic/__init__.py,sha256=p1Rwdo5z3rgoQgVDz6pgcWzs5eitB2JlgVN6QeFyN0Y,662
472
- wandb/_pydantic/v1_compat.py,sha256=pHEdEVlJv5WSs91o742Cl19Xb_sOiODLVMKSIPuf290,11423
487
+ wandb/_pydantic/field_types.py,sha256=8xuUOQ9KyD6EDVQl3f0wmizIZEX2X4EtmafSSTGmMsU,839
488
+ wandb/_pydantic/__init__.py,sha256=0J7_kuTpGQyMJBVJI9RYvFYhl2_DZZ3aLALB2XT01ao,634
489
+ wandb/_pydantic/v1_compat.py,sha256=kwtbMei9ibcS3pLbVFI7wOyF7VSoQVjZthP5xQG4yEM,12315
473
490
  wandb/_pydantic/utils.py,sha256=XcnRAEOdjANLxvr_FMnMPKmqv4f2HwjbNo-5J_JKKe0,2810
474
- wandb/_pydantic/base.py,sha256=qOgf1LEMPO3o1kiYli9kOf2ZQLuP0GEMa8Qx2pDnJGY,4277
491
+ wandb/_pydantic/base.py,sha256=LzRNwpVgyj8j7OBuBEEb_lUwae-WDRZxAGRiZhmNykE,2598
475
492
  wandb/automations/scopes.py,sha256=8H6bxXqffuQHOV__Od28mm29A6ptvVPe9fg0cnKQB-M,2310
476
- wandb/automations/_validators.py,sha256=5rEU_gC0TRx1UvFVyqCcQU6knAKsZHhTW3z_lU8eZBY,5002
477
- wandb/automations/events.py,sha256=ZvAn6347jkp9Ex8h9gVtjXTHyOzREa-RX2J_8w8Tfgs,10443
478
- wandb/automations/actions.py,sha256=7B1DKNYjnSIZKFZ1e0UeEOAxCz0Y11j8iy9TA2kOBA4,7391
493
+ wandb/automations/_validators.py,sha256=jCHTm0qo8SZsQuypZfOEbTUrMqb3yAOXjH-ssvcbwB4,5736
494
+ wandb/automations/events.py,sha256=vXBfejBGzRP6UuM3DRnBlOH1JYRs25N0FhWyUehlEEU,10464
495
+ wandb/automations/actions.py,sha256=Ai0H6_xrqOZqRcN3rLbQr0y1o3Dg2gfChXY3JnPspak,7429
479
496
  wandb/automations/__init__.py,sha256=rX1bkA2ZpN6CHlyjf6gpwFhWYmrRdGVs14Sm1Z9RBjA,2365
480
497
  wandb/automations/automations.py,sha256=95Mw-WjGSp5XUdIlW6qX-lDxbVPufwJC2rxEhn87R3g,2642
481
498
  wandb/automations/integrations.py,sha256=ok3oBN8c8DMEbjt-wpFViwTd_FC-6nwRMuamsDAOiQc,1059
482
499
  wandb/automations/_utils.py,sha256=3a39L976vsrckevwYLNHiHA5bcs-YlCdOwIuJ8UG3jc,8269
483
500
  wandb/automations/_filters/run_metrics.py,sha256=bTgFimrEej0HS3RYWCdfUD5qeCNDWxyOTptn9qHhxMA,12879
484
- wandb/automations/_filters/expressions.py,sha256=JRnjqjeiqBJ7jq1HetO_6YQ9NFNOT6QQMl0Vm_wA2Q4,6603
501
+ wandb/automations/_filters/expressions.py,sha256=pAhjWPExgw4ks9RmgAb7_deAtRhimPONB00iewQqIT8,6636
485
502
  wandb/automations/_filters/__init__.py,sha256=UxAEPbeI7wUqZY-w8FgsMU4Jp5rgSxwuQXc_VhdpDWE,466
486
- wandb/automations/_filters/operators.py,sha256=BVk6wogQCE05fsHoD3oupiOym1ka_fFYT-17S7rPcqc,7159
503
+ wandb/automations/_filters/operators.py,sha256=s-M00trfqVifiqOykKM0F9QmE7DWOPdAae5dJogf5VU,7193
487
504
  wandb/automations/_generated/integrations_by_entity.py,sha256=mRAf-LVgyWEmoGIKsI6CKPmuHbX2-Y1qpRzOKIAVW6c,501
488
505
  wandb/automations/_generated/update_automation.py,sha256=M58fqPcHAAYReJ45GU68FZAUCxERvTtWhNLlpiQJEag,340
489
506
  wandb/automations/_generated/enums.py,sha256=HHw1endeSevcOoy27zEz1XMaCbe50DXdf8CLbtYbFPk,869
@@ -897,8 +914,3 @@ wandb/vendor/promise-2.3.0/wandb_promise/schedulers/asyncio.py,sha256=Z94PwkAXd8
897
914
  wandb/vendor/promise-2.3.0/wandb_promise/schedulers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
898
915
  wandb/analytics/__init__.py,sha256=WG_Mh20Hr8d3vDmGMcfDXCMEIew3uzDYZAJwFsrbAug,50
899
916
  wandb/analytics/sentry.py,sha256=XFrWH5ZBE4l2mS2aGIMRDG65TnVcFzsjthvnuqPqJDs,8440
900
- wandb-0.21.3.dist-info/RECORD,,
901
- wandb-0.21.3.dist-info/WHEEL,sha256=B_HTF0nESsbkeA2UeB8YgKrtPrxyKFORYURx7Qxu8Xw,101
902
- wandb-0.21.3.dist-info/entry_points.txt,sha256=v4FCOZ9gW7Pc6KLsmgQqpCiKTrA1wh2XHmNf-NUP1-I,67
903
- wandb-0.21.3.dist-info/METADATA,sha256=pdPj-uVCk7VXWSMS41uu-XQMGjmri-ThueGrYuB63v4,10244
904
- wandb-0.21.3.dist-info/licenses/LICENSE,sha256=izOKRJpGOx1PrJiGOKR0HsNdlB5JdH2d0Z4P7a7ssTc,1081
File without changes