wandb 0.22.2__py3-none-musllinux_1_2_aarch64.whl → 0.22.3__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 +2 -2
 - wandb/_pydantic/__init__.py +8 -1
 - wandb/_pydantic/base.py +54 -18
 - wandb/_pydantic/field_types.py +8 -3
 - wandb/_pydantic/pagination.py +46 -0
 - wandb/_pydantic/utils.py +2 -2
 - wandb/apis/public/api.py +24 -19
 - wandb/apis/public/artifacts.py +259 -270
 - wandb/apis/public/registries/_utils.py +40 -54
 - wandb/apis/public/registries/registries_search.py +70 -85
 - wandb/apis/public/registries/registry.py +173 -156
 - wandb/apis/public/runs.py +27 -6
 - wandb/apis/public/utils.py +43 -20
 - wandb/automations/_generated/create_automation.py +2 -2
 - wandb/automations/_generated/create_generic_webhook_integration.py +4 -4
 - wandb/automations/_generated/delete_automation.py +2 -2
 - wandb/automations/_generated/fragments.py +31 -52
 - wandb/automations/_generated/generic_webhook_integrations_by_entity.py +3 -3
 - wandb/automations/_generated/get_automations.py +3 -3
 - wandb/automations/_generated/get_automations_by_entity.py +3 -3
 - wandb/automations/_generated/input_types.py +9 -9
 - wandb/automations/_generated/integrations_by_entity.py +3 -3
 - wandb/automations/_generated/operations.py +6 -6
 - wandb/automations/_generated/slack_integrations_by_entity.py +3 -3
 - wandb/automations/_generated/update_automation.py +2 -2
 - wandb/automations/_utils.py +3 -3
 - wandb/automations/actions.py +3 -3
 - wandb/automations/automations.py +6 -5
 - wandb/bin/gpu_stats +0 -0
 - wandb/bin/wandb-core +0 -0
 - wandb/cli/beta.py +8 -2
 - wandb/cli/beta_leet.py +2 -1
 - wandb/cli/beta_sync.py +1 -1
 - wandb/errors/term.py +8 -8
 - wandb/jupyter.py +0 -51
 - wandb/old/settings.py +6 -6
 - wandb/proto/v3/wandb_internal_pb2.py +351 -352
 - wandb/proto/v3/wandb_server_pb2.py +38 -37
 - wandb/proto/v3/wandb_settings_pb2.py +2 -2
 - wandb/proto/v3/wandb_sync_pb2.py +19 -6
 - wandb/proto/v4/wandb_internal_pb2.py +351 -352
 - wandb/proto/v4/wandb_server_pb2.py +38 -37
 - wandb/proto/v4/wandb_settings_pb2.py +2 -2
 - wandb/proto/v4/wandb_sync_pb2.py +10 -6
 - wandb/proto/v5/wandb_internal_pb2.py +351 -352
 - wandb/proto/v5/wandb_server_pb2.py +38 -37
 - wandb/proto/v5/wandb_settings_pb2.py +2 -2
 - wandb/proto/v5/wandb_sync_pb2.py +10 -6
 - wandb/proto/v6/wandb_internal_pb2.py +351 -352
 - wandb/proto/v6/wandb_server_pb2.py +38 -37
 - wandb/proto/v6/wandb_settings_pb2.py +2 -2
 - wandb/proto/v6/wandb_sync_pb2.py +10 -6
 - wandb/sdk/artifacts/_generated/__init__.py +96 -40
 - wandb/sdk/artifacts/_generated/add_aliases.py +3 -3
 - wandb/sdk/artifacts/_generated/add_artifact_collection_tags.py +26 -0
 - wandb/sdk/artifacts/_generated/artifact_by_id.py +2 -2
 - wandb/sdk/artifacts/_generated/artifact_by_name.py +3 -3
 - wandb/sdk/artifacts/_generated/artifact_collection_membership_file_urls.py +27 -8
 - wandb/sdk/artifacts/_generated/artifact_collection_membership_files.py +27 -8
 - wandb/sdk/artifacts/_generated/artifact_created_by.py +7 -20
 - wandb/sdk/artifacts/_generated/artifact_file_urls.py +19 -6
 - wandb/sdk/artifacts/_generated/artifact_membership_by_name.py +26 -0
 - wandb/sdk/artifacts/_generated/artifact_type.py +5 -5
 - wandb/sdk/artifacts/_generated/artifact_used_by.py +8 -17
 - wandb/sdk/artifacts/_generated/artifact_version_files.py +19 -8
 - wandb/sdk/artifacts/_generated/delete_aliases.py +3 -3
 - wandb/sdk/artifacts/_generated/delete_artifact.py +4 -4
 - wandb/sdk/artifacts/_generated/delete_artifact_collection_tags.py +23 -0
 - wandb/sdk/artifacts/_generated/delete_artifact_portfolio.py +4 -4
 - wandb/sdk/artifacts/_generated/delete_artifact_sequence.py +4 -4
 - wandb/sdk/artifacts/_generated/delete_registry.py +21 -0
 - wandb/sdk/artifacts/_generated/fetch_artifact_manifest.py +8 -20
 - wandb/sdk/artifacts/_generated/fetch_linked_artifacts.py +13 -35
 - wandb/sdk/artifacts/_generated/fetch_org_info_from_entity.py +28 -0
 - wandb/sdk/artifacts/_generated/fetch_registries.py +18 -8
 - wandb/sdk/{projects → artifacts}/_generated/fetch_registry.py +4 -4
 - wandb/sdk/artifacts/_generated/fragments.py +183 -333
 - wandb/sdk/artifacts/_generated/input_types.py +133 -7
 - wandb/sdk/artifacts/_generated/link_artifact.py +5 -5
 - wandb/sdk/artifacts/_generated/operations.py +1053 -548
 - wandb/sdk/artifacts/_generated/project_artifact_collection.py +9 -77
 - wandb/sdk/artifacts/_generated/project_artifact_collections.py +21 -9
 - wandb/sdk/artifacts/_generated/project_artifact_type.py +3 -3
 - wandb/sdk/artifacts/_generated/project_artifact_types.py +19 -6
 - wandb/sdk/artifacts/_generated/project_artifacts.py +7 -8
 - wandb/sdk/artifacts/_generated/registry_collections.py +21 -9
 - wandb/sdk/artifacts/_generated/registry_versions.py +20 -9
 - wandb/sdk/artifacts/_generated/rename_registry.py +25 -0
 - wandb/sdk/artifacts/_generated/run_input_artifacts.py +5 -9
 - wandb/sdk/artifacts/_generated/run_output_artifacts.py +5 -9
 - wandb/sdk/artifacts/_generated/type_info.py +2 -2
 - wandb/sdk/artifacts/_generated/unlink_artifact.py +3 -5
 - wandb/sdk/artifacts/_generated/update_artifact.py +3 -3
 - wandb/sdk/artifacts/_generated/update_artifact_collection_type.py +28 -0
 - wandb/sdk/artifacts/_generated/update_artifact_portfolio.py +7 -16
 - wandb/sdk/artifacts/_generated/update_artifact_sequence.py +7 -16
 - wandb/sdk/artifacts/_generated/upsert_registry.py +25 -0
 - wandb/sdk/artifacts/_gqlutils.py +170 -6
 - wandb/sdk/artifacts/_models/__init__.py +9 -0
 - wandb/sdk/artifacts/_models/artifact_collection.py +109 -0
 - wandb/sdk/artifacts/_models/manifest.py +26 -0
 - wandb/sdk/artifacts/_models/pagination.py +26 -0
 - wandb/sdk/artifacts/_models/registry.py +100 -0
 - wandb/sdk/artifacts/_validators.py +45 -27
 - wandb/sdk/artifacts/artifact.py +220 -215
 - wandb/sdk/artifacts/artifact_file_cache.py +1 -1
 - wandb/sdk/artifacts/artifact_manifest.py +37 -32
 - wandb/sdk/artifacts/artifact_manifest_entry.py +80 -125
 - wandb/sdk/artifacts/artifact_manifests/artifact_manifest_v1.py +43 -61
 - wandb/sdk/artifacts/storage_handlers/gcs_handler.py +8 -6
 - wandb/sdk/data_types/image.py +2 -2
 - wandb/sdk/interface/interface.py +72 -64
 - wandb/sdk/interface/interface_queue.py +27 -18
 - wandb/sdk/interface/interface_shared.py +61 -23
 - wandb/sdk/interface/interface_sock.py +9 -5
 - wandb/sdk/internal/_generated/server_features_query.py +4 -4
 - wandb/sdk/launch/inputs/schema.py +13 -10
 - wandb/sdk/lib/apikey.py +8 -12
 - wandb/sdk/lib/asyncio_compat.py +1 -1
 - wandb/sdk/lib/asyncio_manager.py +5 -5
 - wandb/sdk/lib/console_capture.py +38 -30
 - wandb/sdk/lib/progress.py +159 -64
 - wandb/sdk/lib/retry.py +3 -2
 - wandb/sdk/lib/service/service_connection.py +2 -2
 - wandb/sdk/lib/wb_logging.py +2 -1
 - wandb/sdk/mailbox/mailbox.py +1 -1
 - wandb/sdk/wandb_init.py +10 -13
 - wandb/sdk/wandb_run.py +9 -46
 - wandb/sdk/wandb_settings.py +102 -19
 - {wandb-0.22.2.dist-info → wandb-0.22.3.dist-info}/METADATA +2 -1
 - {wandb-0.22.2.dist-info → wandb-0.22.3.dist-info}/RECORD +135 -134
 - wandb/sdk/artifacts/_generated/artifact_via_membership_by_name.py +0 -26
 - wandb/sdk/artifacts/_generated/create_artifact_collection_tag_assignments.py +0 -36
 - wandb/sdk/artifacts/_generated/delete_artifact_collection_tag_assignments.py +0 -25
 - wandb/sdk/artifacts/_generated/move_artifact_collection.py +0 -35
 - wandb/sdk/projects/_generated/__init__.py +0 -26
 - wandb/sdk/projects/_generated/delete_project.py +0 -22
 - wandb/sdk/projects/_generated/enums.py +0 -4
 - wandb/sdk/projects/_generated/fragments.py +0 -41
 - wandb/sdk/projects/_generated/input_types.py +0 -13
 - wandb/sdk/projects/_generated/operations.py +0 -88
 - wandb/sdk/projects/_generated/rename_project.py +0 -27
 - wandb/sdk/projects/_generated/upsert_registry_project.py +0 -27
 - {wandb-0.22.2.dist-info → wandb-0.22.3.dist-info}/WHEEL +0 -0
 - {wandb-0.22.2.dist-info → wandb-0.22.3.dist-info}/entry_points.txt +0 -0
 - {wandb-0.22.2.dist-info → wandb-0.22.3.dist-info}/licenses/LICENSE +0 -0
 
    
        wandb/errors/term.py
    CHANGED
    
    | 
         @@ -224,10 +224,10 @@ class DynamicBlock: 
     | 
|
| 
       224 
224 
     | 
    
         
             
                """A handle to a changeable text area in the terminal."""
         
     | 
| 
       225 
225 
     | 
    
         | 
| 
       226 
226 
     | 
    
         
             
                def __init__(self):
         
     | 
| 
       227 
     | 
    
         
            -
                    self._lines_to_print = []
         
     | 
| 
      
 227 
     | 
    
         
            +
                    self._lines_to_print: list[str] = []
         
     | 
| 
       228 
228 
     | 
    
         
             
                    self._num_lines_printed = 0
         
     | 
| 
       229 
229 
     | 
    
         | 
| 
       230 
     | 
    
         
            -
                def set_text(self, text: str, prefix=True) -> None:
         
     | 
| 
      
 230 
     | 
    
         
            +
                def set_text(self, text: str, prefix: bool = True) -> None:
         
     | 
| 
       231 
231 
     | 
    
         
             
                    r"""Replace the text in this block.
         
     | 
| 
       232 
232 
     | 
    
         | 
| 
       233 
233 
     | 
    
         
             
                    Args:
         
     | 
| 
         @@ -335,12 +335,12 @@ def _raw_shorten(text: str, width: int) -> str: 
     | 
|
| 
       335 
335 
     | 
    
         | 
| 
       336 
336 
     | 
    
         | 
| 
       337 
337 
     | 
    
         
             
            def _log(
         
     | 
| 
       338 
     | 
    
         
            -
                string="",
         
     | 
| 
       339 
     | 
    
         
            -
                newline=True,
         
     | 
| 
       340 
     | 
    
         
            -
                repeat=True,
         
     | 
| 
       341 
     | 
    
         
            -
                prefix=True,
         
     | 
| 
       342 
     | 
    
         
            -
                silent=False,
         
     | 
| 
       343 
     | 
    
         
            -
                level=logging.INFO,
         
     | 
| 
      
 338 
     | 
    
         
            +
                string: str = "",
         
     | 
| 
      
 339 
     | 
    
         
            +
                newline: bool = True,
         
     | 
| 
      
 340 
     | 
    
         
            +
                repeat: bool = True,
         
     | 
| 
      
 341 
     | 
    
         
            +
                prefix: bool = True,
         
     | 
| 
      
 342 
     | 
    
         
            +
                silent: bool = False,
         
     | 
| 
      
 343 
     | 
    
         
            +
                level: int = logging.INFO,
         
     | 
| 
       344 
344 
     | 
    
         
             
            ) -> None:
         
     | 
| 
       345 
345 
     | 
    
         
             
                with _dynamic_text_lock, _l_above_dynamic_text():
         
     | 
| 
       346 
346 
     | 
    
         
             
                    if not repeat:
         
     | 
    
        wandb/jupyter.py
    CHANGED
    
    | 
         @@ -305,57 +305,6 @@ def attempt_kaggle_load_ipynb(): 
     | 
|
| 
       305 
305 
     | 
    
         
             
                return parsed
         
     | 
| 
       306 
306 
     | 
    
         | 
| 
       307 
307 
     | 
    
         | 
| 
       308 
     | 
    
         
            -
            def attempt_colab_login(
         
     | 
| 
       309 
     | 
    
         
            -
                app_url: str,
         
     | 
| 
       310 
     | 
    
         
            -
                referrer: str | None = None,
         
     | 
| 
       311 
     | 
    
         
            -
            ):
         
     | 
| 
       312 
     | 
    
         
            -
                """This renders an iframe to wandb in the hopes it posts back an api key."""
         
     | 
| 
       313 
     | 
    
         
            -
                from google.colab import output  # type: ignore
         
     | 
| 
       314 
     | 
    
         
            -
                from google.colab._message import MessageError  # type: ignore
         
     | 
| 
       315 
     | 
    
         
            -
                from IPython import display
         
     | 
| 
       316 
     | 
    
         
            -
             
     | 
| 
       317 
     | 
    
         
            -
                display.display(
         
     | 
| 
       318 
     | 
    
         
            -
                    display.Javascript(
         
     | 
| 
       319 
     | 
    
         
            -
                        """
         
     | 
| 
       320 
     | 
    
         
            -
                    window._wandbApiKey = new Promise((resolve, reject) => {{
         
     | 
| 
       321 
     | 
    
         
            -
                        function loadScript(url) {{
         
     | 
| 
       322 
     | 
    
         
            -
                        return new Promise(function(resolve, reject) {{
         
     | 
| 
       323 
     | 
    
         
            -
                            let newScript = document.createElement("script");
         
     | 
| 
       324 
     | 
    
         
            -
                            newScript.onerror = reject;
         
     | 
| 
       325 
     | 
    
         
            -
                            newScript.onload = resolve;
         
     | 
| 
       326 
     | 
    
         
            -
                            document.body.appendChild(newScript);
         
     | 
| 
       327 
     | 
    
         
            -
                            newScript.src = url;
         
     | 
| 
       328 
     | 
    
         
            -
                        }});
         
     | 
| 
       329 
     | 
    
         
            -
                        }}
         
     | 
| 
       330 
     | 
    
         
            -
                        loadScript("https://cdn.jsdelivr.net/npm/postmate/build/postmate.min.js").then(() => {{
         
     | 
| 
       331 
     | 
    
         
            -
                        const iframe = document.createElement('iframe')
         
     | 
| 
       332 
     | 
    
         
            -
                        iframe.style.cssText = "width:0;height:0;border:none"
         
     | 
| 
       333 
     | 
    
         
            -
                        document.body.appendChild(iframe)
         
     | 
| 
       334 
     | 
    
         
            -
                        const handshake = new Postmate({{
         
     | 
| 
       335 
     | 
    
         
            -
                            container: iframe,
         
     | 
| 
       336 
     | 
    
         
            -
                            url: '{}/authorize{}'
         
     | 
| 
       337 
     | 
    
         
            -
                        }});
         
     | 
| 
       338 
     | 
    
         
            -
                        const timeout = setTimeout(() => reject("Couldn't auto authenticate"), 5000)
         
     | 
| 
       339 
     | 
    
         
            -
                        handshake.then(function(child) {{
         
     | 
| 
       340 
     | 
    
         
            -
                            child.on('authorize', data => {{
         
     | 
| 
       341 
     | 
    
         
            -
                                clearTimeout(timeout)
         
     | 
| 
       342 
     | 
    
         
            -
                                resolve(data)
         
     | 
| 
       343 
     | 
    
         
            -
                            }});
         
     | 
| 
       344 
     | 
    
         
            -
                        }});
         
     | 
| 
       345 
     | 
    
         
            -
                        }})
         
     | 
| 
       346 
     | 
    
         
            -
                    }});
         
     | 
| 
       347 
     | 
    
         
            -
                """.format(
         
     | 
| 
       348 
     | 
    
         
            -
                            app_url.replace("http:", "https:"),
         
     | 
| 
       349 
     | 
    
         
            -
                            f"?ref={referrer}" if referrer else "",
         
     | 
| 
       350 
     | 
    
         
            -
                        )
         
     | 
| 
       351 
     | 
    
         
            -
                    )
         
     | 
| 
       352 
     | 
    
         
            -
                )
         
     | 
| 
       353 
     | 
    
         
            -
                try:
         
     | 
| 
       354 
     | 
    
         
            -
                    return output.eval_js("_wandbApiKey")
         
     | 
| 
       355 
     | 
    
         
            -
                except MessageError:
         
     | 
| 
       356 
     | 
    
         
            -
                    return None
         
     | 
| 
       357 
     | 
    
         
            -
             
     | 
| 
       358 
     | 
    
         
            -
             
     | 
| 
       359 
308 
     | 
    
         
             
            class Notebook:
         
     | 
| 
       360 
309 
     | 
    
         
             
                def __init__(self, settings: wandb.Settings) -> None:
         
     | 
| 
       361 
310 
     | 
    
         
             
                    self.outputs: dict[int, Any] = {}
         
     | 
    
        wandb/old/settings.py
    CHANGED
    
    | 
         @@ -51,15 +51,15 @@ class Settings: 
     | 
|
| 
       51 
51 
     | 
    
         
             
                    # write a temp file and then move it to the settings path
         
     | 
| 
       52 
52 
     | 
    
         
             
                    target_dir = os.path.dirname(settings_path)
         
     | 
| 
       53 
53 
     | 
    
         
             
                    with tempfile.NamedTemporaryFile(
         
     | 
| 
       54 
     | 
    
         
            -
                        "w 
     | 
| 
      
 54 
     | 
    
         
            +
                        mode="w", suffix=".tmp", delete=False, dir=target_dir
         
     | 
| 
       55 
55 
     | 
    
         
             
                    ) as fp:
         
     | 
| 
       56 
     | 
    
         
            -
                         
     | 
| 
       57 
     | 
    
         
            -
                         
     | 
| 
       58 
     | 
    
         
            -
             
     | 
| 
      
 56 
     | 
    
         
            +
                        settings.write(fp)
         
     | 
| 
      
 57 
     | 
    
         
            +
                        temp_path = fp.name
         
     | 
| 
      
 58 
     | 
    
         
            +
             
     | 
| 
       59 
59 
     | 
    
         
             
                    try:
         
     | 
| 
       60 
     | 
    
         
            -
                        os.replace( 
     | 
| 
      
 60 
     | 
    
         
            +
                        os.replace(temp_path, settings_path)
         
     | 
| 
       61 
61 
     | 
    
         
             
                    except AttributeError:
         
     | 
| 
       62 
     | 
    
         
            -
                        os.rename( 
     | 
| 
      
 62 
     | 
    
         
            +
                        os.rename(temp_path, settings_path)
         
     | 
| 
       63 
63 
     | 
    
         | 
| 
       64 
64 
     | 
    
         
             
                def set(self, section, key, value, globally=False, persist=False) -> None:
         
     | 
| 
       65 
65 
     | 
    
         
             
                    """Persist settings to disk if persist = True"""
         
     |