wandb 0.19.9__py3-none-musllinux_1_2_aarch64.whl → 0.19.11__py3-none-musllinux_1_2_aarch64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- wandb/__init__.py +1 -1
- wandb/__init__.pyi +6 -3
- wandb/_pydantic/__init__.py +14 -8
- wandb/_pydantic/base.py +51 -36
- wandb/_pydantic/utils.py +73 -0
- wandb/_pydantic/v1_compat.py +79 -57
- wandb/apis/public/__init__.py +2 -2
- wandb/apis/public/api.py +684 -4
- wandb/apis/public/artifacts.py +377 -677
- wandb/apis/public/automations.py +69 -0
- wandb/apis/public/integrations.py +180 -0
- wandb/apis/public/projects.py +29 -0
- wandb/apis/public/registries/__init__.py +0 -0
- wandb/apis/public/registries/_freezable_list.py +179 -0
- wandb/apis/public/{registries.py → registries/registries_search.py} +22 -129
- wandb/apis/public/registries/registry.py +357 -0
- wandb/apis/public/registries/utils.py +140 -0
- wandb/apis/public/runs.py +58 -56
- wandb/apis/public/utils.py +107 -1
- wandb/automations/__init__.py +73 -0
- wandb/automations/_filters/__init__.py +40 -0
- wandb/automations/_filters/expressions.py +181 -0
- wandb/automations/_filters/operators.py +258 -0
- wandb/automations/_filters/run_metrics.py +332 -0
- wandb/automations/_generated/__init__.py +177 -0
- wandb/automations/_generated/create_automation.py +17 -0
- wandb/automations/_generated/create_generic_webhook_integration.py +43 -0
- wandb/automations/_generated/delete_automation.py +17 -0
- wandb/automations/_generated/enums.py +33 -0
- wandb/automations/_generated/fragments.py +358 -0
- wandb/automations/_generated/generic_webhook_integrations_by_entity.py +22 -0
- wandb/automations/_generated/get_automations.py +24 -0
- wandb/automations/_generated/get_automations_by_entity.py +26 -0
- wandb/automations/_generated/input_types.py +104 -0
- wandb/automations/_generated/integrations_by_entity.py +22 -0
- wandb/automations/_generated/operations.py +647 -0
- wandb/automations/_generated/slack_integrations_by_entity.py +22 -0
- wandb/automations/_generated/update_automation.py +17 -0
- wandb/automations/_utils.py +237 -0
- wandb/automations/_validators.py +165 -0
- wandb/automations/actions.py +220 -0
- wandb/automations/automations.py +87 -0
- wandb/automations/events.py +287 -0
- wandb/automations/integrations.py +45 -0
- wandb/automations/scopes.py +78 -0
- wandb/beta/workflows.py +9 -10
- wandb/bin/gpu_stats +0 -0
- wandb/bin/wandb-core +0 -0
- wandb/cli/cli.py +3 -3
- wandb/env.py +11 -0
- wandb/integration/keras/keras.py +2 -1
- wandb/integration/langchain/wandb_tracer.py +2 -1
- wandb/jupyter.py +137 -118
- wandb/old/settings.py +4 -1
- wandb/old/summary.py +0 -2
- wandb/proto/v3/wandb_internal_pb2.py +297 -292
- wandb/proto/v3/wandb_settings_pb2.py +2 -2
- wandb/proto/v3/wandb_telemetry_pb2.py +10 -10
- wandb/proto/v4/wandb_internal_pb2.py +292 -292
- wandb/proto/v4/wandb_settings_pb2.py +2 -2
- wandb/proto/v4/wandb_telemetry_pb2.py +10 -10
- wandb/proto/v5/wandb_internal_pb2.py +292 -292
- wandb/proto/v5/wandb_settings_pb2.py +2 -2
- wandb/proto/v5/wandb_telemetry_pb2.py +10 -10
- wandb/proto/v6/wandb_base_pb2.py +41 -0
- wandb/proto/v6/wandb_internal_pb2.py +393 -0
- wandb/proto/v6/wandb_server_pb2.py +78 -0
- wandb/proto/v6/wandb_settings_pb2.py +58 -0
- wandb/proto/v6/wandb_telemetry_pb2.py +52 -0
- wandb/proto/wandb_base_pb2.py +2 -0
- wandb/proto/wandb_deprecated.py +8 -0
- wandb/proto/wandb_internal_pb2.py +3 -1
- wandb/proto/wandb_server_pb2.py +2 -0
- wandb/proto/wandb_settings_pb2.py +2 -0
- wandb/proto/wandb_telemetry_pb2.py +2 -0
- wandb/sdk/artifacts/_generated/__init__.py +289 -0
- wandb/sdk/artifacts/_generated/add_aliases.py +21 -0
- wandb/sdk/artifacts/_generated/artifact_collection_membership_files.py +43 -0
- wandb/sdk/artifacts/_generated/artifact_version_files.py +36 -0
- wandb/sdk/artifacts/_generated/create_artifact_collection_tag_assignments.py +36 -0
- wandb/sdk/artifacts/_generated/delete_aliases.py +21 -0
- wandb/sdk/artifacts/_generated/delete_artifact_collection_tag_assignments.py +25 -0
- wandb/sdk/artifacts/_generated/delete_artifact_portfolio.py +35 -0
- wandb/sdk/artifacts/_generated/delete_artifact_sequence.py +35 -0
- wandb/sdk/artifacts/_generated/enums.py +17 -0
- wandb/sdk/artifacts/_generated/fetch_linked_artifacts.py +67 -0
- wandb/sdk/artifacts/_generated/fragments.py +221 -0
- wandb/sdk/artifacts/_generated/input_types.py +28 -0
- wandb/sdk/artifacts/_generated/move_artifact_collection.py +35 -0
- wandb/sdk/artifacts/_generated/operations.py +611 -0
- wandb/sdk/artifacts/_generated/project_artifact_collection.py +101 -0
- wandb/sdk/artifacts/_generated/project_artifact_collections.py +33 -0
- wandb/sdk/artifacts/_generated/project_artifact_type.py +24 -0
- wandb/sdk/artifacts/_generated/project_artifact_types.py +24 -0
- wandb/sdk/artifacts/_generated/project_artifacts.py +42 -0
- wandb/sdk/artifacts/_generated/run_input_artifacts.py +51 -0
- wandb/sdk/artifacts/_generated/run_output_artifacts.py +51 -0
- wandb/sdk/artifacts/_generated/update_artifact.py +26 -0
- wandb/sdk/artifacts/_generated/update_artifact_portfolio.py +35 -0
- wandb/sdk/artifacts/_generated/update_artifact_sequence.py +35 -0
- wandb/sdk/artifacts/_graphql_fragments.py +57 -79
- wandb/sdk/artifacts/_validators.py +120 -1
- wandb/sdk/artifacts/artifact.py +419 -215
- wandb/sdk/artifacts/artifact_file_cache.py +4 -6
- wandb/sdk/artifacts/artifact_manifest_entry.py +13 -3
- wandb/sdk/artifacts/storage_handlers/azure_handler.py +1 -0
- wandb/sdk/artifacts/storage_policies/wandb_storage_policy.py +182 -1
- wandb/sdk/artifacts/storage_policy.py +3 -0
- wandb/sdk/data_types/base_types/media.py +2 -3
- wandb/sdk/data_types/base_types/wb_value.py +34 -11
- wandb/sdk/data_types/html.py +36 -9
- wandb/sdk/data_types/image.py +12 -12
- wandb/sdk/data_types/table.py +5 -0
- wandb/sdk/data_types/trace_tree.py +2 -0
- wandb/sdk/data_types/utils.py +1 -1
- wandb/sdk/data_types/video.py +59 -57
- wandb/sdk/interface/interface.py +4 -3
- wandb/sdk/internal/internal_api.py +21 -31
- wandb/sdk/internal/profiler.py +6 -5
- wandb/sdk/internal/run.py +13 -6
- wandb/sdk/internal/sender.py +5 -2
- wandb/sdk/launch/sweeps/utils.py +8 -0
- wandb/sdk/lib/apikey.py +25 -4
- wandb/sdk/lib/asyncio_compat.py +1 -1
- wandb/sdk/lib/deprecate.py +13 -22
- wandb/sdk/lib/disabled.py +2 -1
- wandb/sdk/lib/printer.py +37 -8
- wandb/sdk/lib/printer_asyncio.py +46 -0
- wandb/sdk/lib/redirect.py +10 -5
- wandb/sdk/projects/_generated/__init__.py +47 -0
- wandb/sdk/projects/_generated/delete_project.py +22 -0
- wandb/sdk/projects/_generated/enums.py +4 -0
- wandb/sdk/projects/_generated/fetch_registry.py +22 -0
- wandb/sdk/projects/_generated/fragments.py +41 -0
- wandb/sdk/projects/_generated/input_types.py +13 -0
- wandb/sdk/projects/_generated/operations.py +88 -0
- wandb/sdk/projects/_generated/rename_project.py +27 -0
- wandb/sdk/projects/_generated/upsert_registry_project.py +27 -0
- wandb/sdk/service/server_sock.py +19 -14
- wandb/sdk/service/service.py +18 -8
- wandb/sdk/service/streams.py +5 -0
- wandb/sdk/verify/verify.py +6 -3
- wandb/sdk/wandb_init.py +217 -70
- wandb/sdk/wandb_login.py +13 -4
- wandb/sdk/wandb_run.py +419 -295
- wandb/sdk/wandb_settings.py +27 -10
- wandb/sdk/wandb_setup.py +61 -0
- wandb/util.py +33 -29
- {wandb-0.19.9.dist-info → wandb-0.19.11.dist-info}/METADATA +5 -5
- {wandb-0.19.9.dist-info → wandb-0.19.11.dist-info}/RECORD +153 -83
- wandb/_globals.py +0 -19
- wandb/sdk/internal/_generated/base.py +0 -226
- wandb/sdk/internal/_generated/typing_compat.py +0 -14
- {wandb-0.19.9.dist-info → wandb-0.19.11.dist-info}/WHEEL +0 -0
- {wandb-0.19.9.dist-info → wandb-0.19.11.dist-info}/entry_points.txt +0 -0
- {wandb-0.19.9.dist-info → wandb-0.19.11.dist-info}/licenses/LICENSE +0 -0
wandb/sdk/wandb_settings.py
CHANGED
@@ -246,7 +246,7 @@ class Settings(BaseModel, validate_assignment=True):
|
|
246
246
|
|
247
247
|
"wrap_emu" - Same as "wrap" but captures output through an emulator.
|
248
248
|
Derived from the `wrap` setting and should not be set manually.
|
249
|
-
|
249
|
+
"""
|
250
250
|
|
251
251
|
console_multipart: bool = False
|
252
252
|
"""Whether to produce multipart console log files."""
|
@@ -376,6 +376,7 @@ class Settings(BaseModel, validate_assignment=True):
|
|
376
376
|
"default",
|
377
377
|
"return_previous",
|
378
378
|
"finish_previous",
|
379
|
+
"create_new",
|
379
380
|
],
|
380
381
|
bool,
|
381
382
|
] = "default"
|
@@ -384,8 +385,14 @@ class Settings(BaseModel, validate_assignment=True):
|
|
384
385
|
Options:
|
385
386
|
- "default": Use "finish_previous" in notebooks and "return_previous"
|
386
387
|
otherwise.
|
387
|
-
- "return_previous": Return the
|
388
|
-
|
388
|
+
- "return_previous": Return the most recently created run
|
389
|
+
that is not yet finished. This does not update `wandb.run`; see
|
390
|
+
the "create_new" option.
|
391
|
+
- "finish_previous": Finish all active runs, then return a new run.
|
392
|
+
- "create_new": Create a new run without modifying other active runs.
|
393
|
+
Does not update `wandb.run` and top-level functions like `wandb.log`.
|
394
|
+
Because of this, some older integrations that rely on the global run
|
395
|
+
will not work.
|
389
396
|
|
390
397
|
Can also be a boolean, but this is deprecated. False is the same as
|
391
398
|
"return_previous", and True is the same as "finish_previous".
|
@@ -458,11 +465,7 @@ class Settings(BaseModel, validate_assignment=True):
|
|
458
465
|
save_code: Optional[bool] = None
|
459
466
|
"""Whether to save the code associated with the run."""
|
460
467
|
|
461
|
-
settings_system: str =
|
462
|
-
default_factory=lambda: _path_convert(
|
463
|
-
os.path.join("~", ".config", "wandb", "settings")
|
464
|
-
)
|
465
|
-
)
|
468
|
+
settings_system: Optional[str] = None
|
466
469
|
"""Path to the system-wide settings file."""
|
467
470
|
|
468
471
|
show_colors: Optional[bool] = None
|
@@ -689,6 +692,12 @@ class Settings(BaseModel, validate_assignment=True):
|
|
689
692
|
This does not disable user-provided summary updates.
|
690
693
|
"""
|
691
694
|
|
695
|
+
x_server_side_expand_glob_metrics: bool = False
|
696
|
+
"""Flag to delegate glob matching of metrics in define_metric to the server.
|
697
|
+
|
698
|
+
If the server does not support this, the client will perform the glob matching.
|
699
|
+
"""
|
700
|
+
|
692
701
|
x_service_transport: Optional[str] = None
|
693
702
|
"""Transport method for communication with the wandb service."""
|
694
703
|
|
@@ -1052,9 +1061,12 @@ class Settings(BaseModel, validate_assignment=True):
|
|
1052
1061
|
@field_validator("settings_system", mode="after")
|
1053
1062
|
@classmethod
|
1054
1063
|
def validate_settings_system(cls, value):
|
1055
|
-
if
|
1064
|
+
if value is None:
|
1065
|
+
return None
|
1066
|
+
elif isinstance(value, pathlib.Path):
|
1056
1067
|
return str(_path_convert(value))
|
1057
|
-
|
1068
|
+
else:
|
1069
|
+
return _path_convert(value)
|
1058
1070
|
|
1059
1071
|
@field_validator("x_service_wait", mode="after")
|
1060
1072
|
@classmethod
|
@@ -1662,6 +1674,11 @@ class Settings(BaseModel, validate_assignment=True):
|
|
1662
1674
|
if not root:
|
1663
1675
|
return None
|
1664
1676
|
|
1677
|
+
# For windows if the root and program are on different drives,
|
1678
|
+
# os.path.relpath will raise a ValueError.
|
1679
|
+
if not util.are_paths_on_same_drive(root, program):
|
1680
|
+
return None
|
1681
|
+
|
1665
1682
|
full_path_to_program = os.path.join(
|
1666
1683
|
root, os.path.relpath(os.getcwd(), root), program
|
1667
1684
|
)
|
wandb/sdk/wandb_setup.py
CHANGED
@@ -15,18 +15,21 @@ from __future__ import annotations
|
|
15
15
|
|
16
16
|
import logging
|
17
17
|
import os
|
18
|
+
import pathlib
|
18
19
|
import sys
|
19
20
|
import threading
|
20
21
|
from typing import TYPE_CHECKING, Any, Union
|
21
22
|
|
22
23
|
import wandb
|
23
24
|
import wandb.integration.sagemaker as sagemaker
|
25
|
+
from wandb.env import CONFIG_DIR
|
24
26
|
from wandb.sdk.lib import import_hooks, wb_logging
|
25
27
|
|
26
28
|
from . import wandb_settings
|
27
29
|
from .lib import config_util, server
|
28
30
|
|
29
31
|
if TYPE_CHECKING:
|
32
|
+
from wandb.sdk import wandb_run
|
30
33
|
from wandb.sdk.lib.service_connection import ServiceConnection
|
31
34
|
from wandb.sdk.wandb_settings import Settings
|
32
35
|
|
@@ -83,6 +86,8 @@ class _WandbSetup:
|
|
83
86
|
) -> None:
|
84
87
|
self._connection: ServiceConnection | None = None
|
85
88
|
|
89
|
+
self._active_runs: list[wandb_run.Run] = []
|
90
|
+
|
86
91
|
self._environ = environ or dict(os.environ)
|
87
92
|
self._sweep_config: dict | None = None
|
88
93
|
self._config: dict | None = None
|
@@ -100,6 +105,52 @@ class _WandbSetup:
|
|
100
105
|
self._check()
|
101
106
|
self._setup()
|
102
107
|
|
108
|
+
def add_active_run(self, run: wandb_run.Run) -> None:
|
109
|
+
"""Append a run to the active runs list.
|
110
|
+
|
111
|
+
This must be called when a run is initialized.
|
112
|
+
|
113
|
+
Args:
|
114
|
+
run: A newly initialized run.
|
115
|
+
"""
|
116
|
+
if run not in self._active_runs:
|
117
|
+
self._active_runs.append(run)
|
118
|
+
|
119
|
+
def remove_active_run(self, run: wandb_run.Run) -> None:
|
120
|
+
"""Remove the run from the active runs list.
|
121
|
+
|
122
|
+
This must be called when a run is finished.
|
123
|
+
|
124
|
+
Args:
|
125
|
+
run: A run that is finished or crashed.
|
126
|
+
"""
|
127
|
+
try:
|
128
|
+
self._active_runs.remove(run)
|
129
|
+
except ValueError:
|
130
|
+
pass # Removing a run multiple times is not an error.
|
131
|
+
|
132
|
+
@property
|
133
|
+
def most_recent_active_run(self) -> wandb_run.Run | None:
|
134
|
+
"""The most recently initialized run that is not yet finished."""
|
135
|
+
if not self._active_runs:
|
136
|
+
return None
|
137
|
+
|
138
|
+
return self._active_runs[-1]
|
139
|
+
|
140
|
+
def finish_all_active_runs(self) -> None:
|
141
|
+
"""Finish all unfinished runs.
|
142
|
+
|
143
|
+
NOTE: This is slightly inefficient as it finishes runs one at a time.
|
144
|
+
This only exists to support using the `reinit="finish_previous"`
|
145
|
+
setting together with `reinit="create_new"` which does not seem to be a
|
146
|
+
useful pattern. Since `"create_new"` should eventually become the
|
147
|
+
default and only behavior, it does not seem worth optimizing.
|
148
|
+
"""
|
149
|
+
# Take a snapshot as each call to `finish()` modifies `_active_runs`.
|
150
|
+
runs_copy = list(self._active_runs)
|
151
|
+
for run in runs_copy:
|
152
|
+
run.finish()
|
153
|
+
|
103
154
|
def _settings_setup(
|
104
155
|
self,
|
105
156
|
settings: Settings | None,
|
@@ -112,6 +163,16 @@ class _WandbSetup:
|
|
112
163
|
self._logger.info(f"Configure stats pid to {pid}")
|
113
164
|
s.x_stats_pid = pid
|
114
165
|
|
166
|
+
if settings and settings.settings_system:
|
167
|
+
s.settings_system = settings.settings_system
|
168
|
+
elif config_dir_str := os.getenv(CONFIG_DIR, None):
|
169
|
+
config_dir = pathlib.Path(config_dir_str).expanduser()
|
170
|
+
s.settings_system = str(config_dir / "settings")
|
171
|
+
else:
|
172
|
+
s.settings_system = str(
|
173
|
+
pathlib.Path("~", ".config", "wandb", "settings").expanduser()
|
174
|
+
)
|
175
|
+
|
115
176
|
# load settings from the system config
|
116
177
|
if s.settings_system:
|
117
178
|
self._logger.info(f"Loading settings from {s.settings_system}")
|
wandb/util.py
CHANGED
@@ -51,6 +51,11 @@ from typing import (
|
|
51
51
|
Union,
|
52
52
|
)
|
53
53
|
|
54
|
+
if sys.version_info < (3, 10):
|
55
|
+
from typing_extensions import TypeGuard
|
56
|
+
else:
|
57
|
+
from typing import TypeGuard
|
58
|
+
|
54
59
|
import requests
|
55
60
|
import yaml
|
56
61
|
|
@@ -184,6 +189,13 @@ class LazyModuleState:
|
|
184
189
|
self.module.__spec__.loader.exec_module(self.module)
|
185
190
|
self.module.__class__ = types.ModuleType
|
186
191
|
|
192
|
+
# Set the submodule as an attribute on the parent module
|
193
|
+
# This enables access to the submodule via normal attribute access.
|
194
|
+
parent, _, child = self.module.__name__.rpartition(".")
|
195
|
+
if parent:
|
196
|
+
parent_module = sys.modules[parent]
|
197
|
+
setattr(parent_module, child, self.module)
|
198
|
+
|
187
199
|
|
188
200
|
class LazyModule(types.ModuleType):
|
189
201
|
def __getattribute__(self, name: str) -> Any:
|
@@ -1060,18 +1072,6 @@ def has_num(dictionary: Mapping, key: Any) -> bool:
|
|
1060
1072
|
return key in dictionary and isinstance(dictionary[key], numbers.Number)
|
1061
1073
|
|
1062
1074
|
|
1063
|
-
def get_log_file_path() -> str:
|
1064
|
-
"""Log file path used in error messages.
|
1065
|
-
|
1066
|
-
It would probably be better if this pointed to a log file in a
|
1067
|
-
run directory.
|
1068
|
-
"""
|
1069
|
-
# TODO(jhr, cvp): refactor
|
1070
|
-
if wandb.run is not None:
|
1071
|
-
return wandb.run._settings.log_internal
|
1072
|
-
return os.path.join("wandb", "debug-internal.log")
|
1073
|
-
|
1074
|
-
|
1075
1075
|
def docker_image_regex(image: str) -> Any:
|
1076
1076
|
"""Regex match for valid docker image names."""
|
1077
1077
|
if image:
|
@@ -1438,6 +1438,24 @@ def auto_project_name(program: Optional[str]) -> str:
|
|
1438
1438
|
return str(project.replace(os.sep, "_"))
|
1439
1439
|
|
1440
1440
|
|
1441
|
+
def are_paths_on_same_drive(path1: str, path2: str) -> bool:
|
1442
|
+
"""Check if two paths are on the same drive.
|
1443
|
+
|
1444
|
+
This check is only relevant on Windows,
|
1445
|
+
since the concept of drives only exists on Windows.
|
1446
|
+
"""
|
1447
|
+
if platform.system() != "Windows":
|
1448
|
+
return True
|
1449
|
+
|
1450
|
+
try:
|
1451
|
+
path1_drive = pathlib.Path(path1).resolve().drive
|
1452
|
+
path2_drive = pathlib.Path(path2).resolve().drive
|
1453
|
+
return path1_drive == path2_drive
|
1454
|
+
# If either path is not a valid windows path, an OSError is raised.
|
1455
|
+
except OSError:
|
1456
|
+
return False
|
1457
|
+
|
1458
|
+
|
1441
1459
|
# TODO(hugh): Deprecate version here and use wandb/sdk/lib/paths.py
|
1442
1460
|
def to_forward_slash_path(path: str) -> str:
|
1443
1461
|
if platform.system() == "Windows":
|
@@ -1698,15 +1716,15 @@ def _resolve_aliases(aliases: Optional[Union[str, Iterable[str]]]) -> List[str]:
|
|
1698
1716
|
raise ValueError("`aliases` must be Iterable or None") from exc
|
1699
1717
|
|
1700
1718
|
|
1701
|
-
def _is_artifact_object(v: Any) ->
|
1719
|
+
def _is_artifact_object(v: Any) -> "TypeGuard[wandb.Artifact]":
|
1702
1720
|
return isinstance(v, wandb.Artifact)
|
1703
1721
|
|
1704
1722
|
|
1705
|
-
def _is_artifact_string(v: Any) ->
|
1723
|
+
def _is_artifact_string(v: Any) -> "TypeGuard[str]":
|
1706
1724
|
return isinstance(v, str) and v.startswith("wandb-artifact://")
|
1707
1725
|
|
1708
1726
|
|
1709
|
-
def _is_artifact_version_weave_dict(v: Any) ->
|
1727
|
+
def _is_artifact_version_weave_dict(v: Any) -> "TypeGuard[dict]":
|
1710
1728
|
return isinstance(v, dict) and v.get("_type") == "artifactVersion"
|
1711
1729
|
|
1712
1730
|
|
@@ -1750,20 +1768,6 @@ def _get_max_cli_version() -> Union[str, None]:
|
|
1750
1768
|
return str(max_cli_version) if max_cli_version is not None else None
|
1751
1769
|
|
1752
1770
|
|
1753
|
-
def _is_offline() -> bool:
|
1754
|
-
"""Returns true if wandb is configured to be offline.
|
1755
|
-
|
1756
|
-
If there is an active run, returns whether the run is offline.
|
1757
|
-
Otherwise, returns the default mode, which is affected by explicit settings
|
1758
|
-
passed to `wandb.setup()`, environment variables, and W&B configuration
|
1759
|
-
files.
|
1760
|
-
"""
|
1761
|
-
if wandb.run:
|
1762
|
-
return wandb.run.settings._offline
|
1763
|
-
else:
|
1764
|
-
return wandb.setup().settings._offline
|
1765
|
-
|
1766
|
-
|
1767
1771
|
def ensure_text(
|
1768
1772
|
string: Union[str, bytes], encoding: str = "utf-8", errors: str = "strict"
|
1769
1773
|
) -> str:
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: wandb
|
3
|
-
Version: 0.19.
|
3
|
+
Version: 0.19.11
|
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
|
@@ -52,10 +52,10 @@ Requires-Dist: docker-pycreds>=0.4.0
|
|
52
52
|
Requires-Dist: eval-type-backport; python_version < '3.10'
|
53
53
|
Requires-Dist: gitpython!=3.1.29,>=1.0.0
|
54
54
|
Requires-Dist: platformdirs
|
55
|
-
Requires-Dist: protobuf!=4.21.0,!=5.28.0,<
|
56
|
-
Requires-Dist: protobuf!=4.21.0,!=5.28.0,<
|
57
|
-
Requires-Dist: protobuf!=4.21.0,!=5.28.0,<
|
58
|
-
Requires-Dist: protobuf!=4.21.0,!=5.28.0,<
|
55
|
+
Requires-Dist: protobuf!=4.21.0,!=5.28.0,<7,>=3.12.0; python_version < '3.9' and sys_platform == 'linux'
|
56
|
+
Requires-Dist: protobuf!=4.21.0,!=5.28.0,<7,>=3.15.0; python_version == '3.9' and sys_platform == 'linux'
|
57
|
+
Requires-Dist: protobuf!=4.21.0,!=5.28.0,<7,>=3.19.0; python_version > '3.9' and sys_platform == 'linux'
|
58
|
+
Requires-Dist: protobuf!=4.21.0,!=5.28.0,<7,>=3.19.0; sys_platform != 'linux'
|
59
59
|
Requires-Dist: psutil>=5.0.0
|
60
60
|
Requires-Dist: pydantic<3
|
61
61
|
Requires-Dist: pyyaml
|