wandb 0.22.1__py3-none-win32.whl → 0.22.3__py3-none-win32.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 +7 -4
 - 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.exe +0 -0
 - wandb/bin/wandb-core +0 -0
 - wandb/cli/beta.py +23 -3
 - wandb/cli/beta_leet.py +75 -0
 - wandb/cli/beta_sync.py +1 -1
 - wandb/cli/cli.py +34 -7
 - wandb/errors/term.py +8 -8
 - wandb/jupyter.py +0 -51
 - wandb/old/settings.py +6 -6
 - wandb/proto/v3/wandb_api_pb2.py +86 -0
 - 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_api_pb2.py +37 -0
 - 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_api_pb2.py +38 -0
 - 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_api_pb2.py +48 -0
 - 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/proto/wandb_api_pb2.py +18 -0
 - wandb/proto/wandb_generate_proto.py +1 -0
 - 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 +249 -244
 - wandb/sdk/artifacts/artifact_file_cache.py +1 -1
 - wandb/sdk/artifacts/artifact_manifest.py +37 -32
 - wandb/sdk/artifacts/artifact_manifest_entry.py +82 -133
 - wandb/sdk/artifacts/artifact_manifests/artifact_manifest_v1.py +43 -61
 - wandb/sdk/artifacts/storage_handler.py +18 -12
 - wandb/sdk/artifacts/storage_handlers/azure_handler.py +11 -6
 - wandb/sdk/artifacts/storage_handlers/gcs_handler.py +17 -12
 - wandb/sdk/artifacts/storage_handlers/http_handler.py +9 -4
 - wandb/sdk/artifacts/storage_handlers/local_file_handler.py +10 -6
 - wandb/sdk/artifacts/storage_handlers/multi_handler.py +5 -4
 - wandb/sdk/artifacts/storage_handlers/s3_handler.py +10 -8
 - wandb/sdk/artifacts/storage_handlers/tracking_handler.py +6 -4
 - wandb/sdk/artifacts/storage_handlers/wb_artifact_handler.py +24 -21
 - wandb/sdk/artifacts/storage_handlers/wb_local_artifact_handler.py +4 -2
 - wandb/sdk/artifacts/storage_policies/_multipart.py +187 -0
 - wandb/sdk/artifacts/storage_policies/wandb_storage_policy.py +61 -242
 - wandb/sdk/artifacts/storage_policy.py +25 -12
 - wandb/sdk/data_types/image.py +2 -2
 - wandb/sdk/data_types/object_3d.py +67 -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/internal/job_builder.py +27 -10
 - wandb/sdk/internal/sender.py +4 -1
 - wandb/sdk/launch/create_job.py +2 -1
 - 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 +151 -125
 - 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 +11 -14
 - wandb/sdk/wandb_run.py +14 -48
 - wandb/sdk/wandb_settings.py +114 -30
 - {wandb-0.22.1.dist-info → wandb-0.22.3.dist-info}/METADATA +2 -1
 - {wandb-0.22.1.dist-info → wandb-0.22.3.dist-info}/RECORD +154 -146
 - 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.1.dist-info → wandb-0.22.3.dist-info}/WHEEL +0 -0
 - {wandb-0.22.1.dist-info → wandb-0.22.3.dist-info}/entry_points.txt +0 -0
 - {wandb-0.22.1.dist-info → wandb-0.22.3.dist-info}/licenses/LICENSE +0 -0
 
| 
         @@ -7,18 +7,18 @@ from typing import Literal, Optional, Union 
     | 
|
| 
       7 
7 
     | 
    
         | 
| 
       8 
8 
     | 
    
         
             
            from pydantic import Field
         
     | 
| 
       9 
9 
     | 
    
         | 
| 
       10 
     | 
    
         
            -
            from wandb._pydantic import  
     | 
| 
      
 10 
     | 
    
         
            +
            from wandb._pydantic import GQLResult, Typename
         
     | 
| 
       11 
11 
     | 
    
         | 
| 
       12 
12 
     | 
    
         
             
            from .fragments import GenericWebhookIntegrationFields
         
     | 
| 
       13 
13 
     | 
    
         | 
| 
       14 
14 
     | 
    
         | 
| 
       15 
     | 
    
         
            -
            class CreateGenericWebhookIntegration( 
     | 
| 
      
 15 
     | 
    
         
            +
            class CreateGenericWebhookIntegration(GQLResult):
         
     | 
| 
       16 
16 
     | 
    
         
             
                create_generic_webhook_integration: Optional[
         
     | 
| 
       17 
17 
     | 
    
         
             
                    CreateGenericWebhookIntegrationCreateGenericWebhookIntegration
         
     | 
| 
       18 
18 
     | 
    
         
             
                ] = Field(alias="createGenericWebhookIntegration")
         
     | 
| 
       19 
19 
     | 
    
         | 
| 
       20 
20 
     | 
    
         | 
| 
       21 
     | 
    
         
            -
            class CreateGenericWebhookIntegrationCreateGenericWebhookIntegration( 
     | 
| 
      
 21 
     | 
    
         
            +
            class CreateGenericWebhookIntegrationCreateGenericWebhookIntegration(GQLResult):
         
     | 
| 
       22 
22 
     | 
    
         
             
                integration: Union[
         
     | 
| 
       23 
23 
     | 
    
         
             
                    CreateGenericWebhookIntegrationCreateGenericWebhookIntegrationIntegrationIntegration,
         
     | 
| 
       24 
24 
     | 
    
         
             
                    GenericWebhookIntegrationFields,
         
     | 
| 
         @@ -26,7 +26,7 @@ class CreateGenericWebhookIntegrationCreateGenericWebhookIntegration(GQLBase): 
     | 
|
| 
       26 
26 
     | 
    
         | 
| 
       27 
27 
     | 
    
         | 
| 
       28 
28 
     | 
    
         
             
            class CreateGenericWebhookIntegrationCreateGenericWebhookIntegrationIntegrationIntegration(
         
     | 
| 
       29 
     | 
    
         
            -
                 
     | 
| 
      
 29 
     | 
    
         
            +
                GQLResult
         
     | 
| 
       30 
30 
     | 
    
         
             
            ):
         
     | 
| 
       31 
31 
     | 
    
         
             
                typename__: Typename[
         
     | 
| 
       32 
32 
     | 
    
         
             
                    Literal["GitHubOAuthIntegration", "Integration", "SlackIntegration"]
         
     | 
| 
         @@ -3,12 +3,12 @@ 
     | 
|
| 
       3 
3 
     | 
    
         | 
| 
       4 
4 
     | 
    
         
             
            from __future__ import annotations
         
     | 
| 
       5 
5 
     | 
    
         | 
| 
       6 
     | 
    
         
            -
            from wandb._pydantic import  
     | 
| 
      
 6 
     | 
    
         
            +
            from wandb._pydantic import GQLResult
         
     | 
| 
       7 
7 
     | 
    
         | 
| 
       8 
8 
     | 
    
         
             
            from .fragments import DeleteAutomationResult
         
     | 
| 
       9 
9 
     | 
    
         | 
| 
       10 
10 
     | 
    
         | 
| 
       11 
     | 
    
         
            -
            class DeleteAutomation( 
     | 
| 
      
 11 
     | 
    
         
            +
            class DeleteAutomation(GQLResult):
         
     | 
| 
       12 
12 
     | 
    
         
             
                result: DeleteAutomationResult
         
     | 
| 
       13 
13 
     | 
    
         | 
| 
       14 
14 
     | 
    
         | 
| 
         @@ -9,36 +9,36 @@ from typing import List, Literal, Optional, Union 
     | 
|
| 
       9 
9 
     | 
    
         
             
            from pydantic import Field
         
     | 
| 
       10 
10 
     | 
    
         
             
            from typing_extensions import Annotated
         
     | 
| 
       11 
11 
     | 
    
         | 
| 
       12 
     | 
    
         
            -
            from wandb._pydantic import  
     | 
| 
      
 12 
     | 
    
         
            +
            from wandb._pydantic import GQLId, GQLResult, Typename
         
     | 
| 
       13 
13 
     | 
    
         | 
| 
       14 
14 
     | 
    
         
             
            from .enums import AlertSeverity, EventTriggeringConditionType
         
     | 
| 
       15 
15 
     | 
    
         | 
| 
       16 
16 
     | 
    
         | 
| 
       17 
     | 
    
         
            -
            class ArtifactPortfolioScopeFields( 
     | 
| 
      
 17 
     | 
    
         
            +
            class ArtifactPortfolioScopeFields(GQLResult):
         
     | 
| 
       18 
18 
     | 
    
         
             
                typename__: Typename[Literal["ArtifactPortfolio"]] = "ArtifactPortfolio"
         
     | 
| 
       19 
19 
     | 
    
         
             
                id: GQLId
         
     | 
| 
       20 
20 
     | 
    
         
             
                name: str
         
     | 
| 
       21 
21 
     | 
    
         | 
| 
       22 
22 
     | 
    
         | 
| 
       23 
     | 
    
         
            -
            class ArtifactSequenceScopeFields( 
     | 
| 
      
 23 
     | 
    
         
            +
            class ArtifactSequenceScopeFields(GQLResult):
         
     | 
| 
       24 
24 
     | 
    
         
             
                typename__: Typename[Literal["ArtifactSequence"]] = "ArtifactSequence"
         
     | 
| 
       25 
25 
     | 
    
         
             
                id: GQLId
         
     | 
| 
       26 
26 
     | 
    
         
             
                name: str
         
     | 
| 
       27 
27 
     | 
    
         | 
| 
       28 
28 
     | 
    
         | 
| 
       29 
     | 
    
         
            -
            class CreateAutomationResult( 
     | 
| 
      
 29 
     | 
    
         
            +
            class CreateAutomationResult(GQLResult):
         
     | 
| 
       30 
30 
     | 
    
         
             
                typename__: Typename[Literal["CreateFilterTriggerPayload"]] = (
         
     | 
| 
       31 
31 
     | 
    
         
             
                    "CreateFilterTriggerPayload"
         
     | 
| 
       32 
32 
     | 
    
         
             
                )
         
     | 
| 
       33 
33 
     | 
    
         
             
                trigger: Optional[TriggerFields]
         
     | 
| 
       34 
34 
     | 
    
         | 
| 
       35 
35 
     | 
    
         | 
| 
       36 
     | 
    
         
            -
            class DeleteAutomationResult( 
     | 
| 
      
 36 
     | 
    
         
            +
            class DeleteAutomationResult(GQLResult):
         
     | 
| 
       37 
37 
     | 
    
         
             
                typename__: Typename[Literal["DeleteTriggerPayload"]] = "DeleteTriggerPayload"
         
     | 
| 
       38 
38 
     | 
    
         
             
                success: bool
         
     | 
| 
       39 
39 
     | 
    
         | 
| 
       40 
40 
     | 
    
         | 
| 
       41 
     | 
    
         
            -
            class FilterEventFields( 
     | 
| 
      
 41 
     | 
    
         
            +
            class FilterEventFields(GQLResult):
         
     | 
| 
       42 
42 
     | 
    
         
             
                typename__: Typename[Literal["FilterEventTriggeringCondition"]] = (
         
     | 
| 
       43 
43 
     | 
    
         
             
                    "FilterEventTriggeringCondition"
         
     | 
| 
       44 
44 
     | 
    
         
             
                )
         
     | 
| 
         @@ -46,7 +46,7 @@ class FilterEventFields(GQLBase): 
     | 
|
| 
       46 
46 
     | 
    
         
             
                filter: str
         
     | 
| 
       47 
47 
     | 
    
         | 
| 
       48 
48 
     | 
    
         | 
| 
       49 
     | 
    
         
            -
            class GenericWebhookActionFields( 
     | 
| 
      
 49 
     | 
    
         
            +
            class GenericWebhookActionFields(GQLResult):
         
     | 
| 
       50 
50 
     | 
    
         
             
                typename__: Typename[Literal["GenericWebhookTriggeredAction"]] = (
         
     | 
| 
       51 
51 
     | 
    
         
             
                    "GenericWebhookTriggeredAction"
         
     | 
| 
       52 
52 
     | 
    
         
             
                )
         
     | 
| 
         @@ -57,19 +57,19 @@ class GenericWebhookActionFields(GQLBase): 
     | 
|
| 
       57 
57 
     | 
    
         
             
                request_payload: Optional[str] = Field(alias="requestPayload")
         
     | 
| 
       58 
58 
     | 
    
         | 
| 
       59 
59 
     | 
    
         | 
| 
       60 
     | 
    
         
            -
            class GenericWebhookActionFieldsIntegrationIntegration( 
     | 
| 
      
 60 
     | 
    
         
            +
            class GenericWebhookActionFieldsIntegrationIntegration(GQLResult):
         
     | 
| 
       61 
61 
     | 
    
         
             
                typename__: Typename[
         
     | 
| 
       62 
62 
     | 
    
         
             
                    Literal["GitHubOAuthIntegration", "Integration", "SlackIntegration"]
         
     | 
| 
       63 
63 
     | 
    
         
             
                ]
         
     | 
| 
       64 
64 
     | 
    
         | 
| 
       65 
65 
     | 
    
         | 
| 
       66 
     | 
    
         
            -
            class GenericWebhookIntegrationConnectionFields( 
     | 
| 
      
 66 
     | 
    
         
            +
            class GenericWebhookIntegrationConnectionFields(GQLResult):
         
     | 
| 
       67 
67 
     | 
    
         
             
                typename__: Typename[Literal["IntegrationConnection"]] = "IntegrationConnection"
         
     | 
| 
       68 
68 
     | 
    
         
             
                page_info: PageInfoFields = Field(alias="pageInfo")
         
     | 
| 
       69 
69 
     | 
    
         
             
                edges: List[GenericWebhookIntegrationConnectionFieldsEdges]
         
     | 
| 
       70 
70 
     | 
    
         | 
| 
       71 
71 
     | 
    
         | 
| 
       72 
     | 
    
         
            -
            class GenericWebhookIntegrationConnectionFieldsEdges( 
     | 
| 
      
 72 
     | 
    
         
            +
            class GenericWebhookIntegrationConnectionFieldsEdges(GQLResult):
         
     | 
| 
       73 
73 
     | 
    
         
             
                cursor: str
         
     | 
| 
       74 
74 
     | 
    
         
             
                node: Optional[
         
     | 
| 
       75 
75 
     | 
    
         
             
                    Annotated[
         
     | 
| 
         @@ -82,13 +82,13 @@ class GenericWebhookIntegrationConnectionFieldsEdges(GQLBase): 
     | 
|
| 
       82 
82 
     | 
    
         
             
                ]
         
     | 
| 
       83 
83 
     | 
    
         | 
| 
       84 
84 
     | 
    
         | 
| 
       85 
     | 
    
         
            -
            class GenericWebhookIntegrationConnectionFieldsEdgesNodeIntegration( 
     | 
| 
      
 85 
     | 
    
         
            +
            class GenericWebhookIntegrationConnectionFieldsEdgesNodeIntegration(GQLResult):
         
     | 
| 
       86 
86 
     | 
    
         
             
                typename__: Typename[
         
     | 
| 
       87 
87 
     | 
    
         
             
                    Literal["GitHubOAuthIntegration", "Integration", "SlackIntegration"]
         
     | 
| 
       88 
88 
     | 
    
         
             
                ]
         
     | 
| 
       89 
89 
     | 
    
         | 
| 
       90 
90 
     | 
    
         | 
| 
       91 
     | 
    
         
            -
            class GenericWebhookIntegrationFields( 
     | 
| 
      
 91 
     | 
    
         
            +
            class GenericWebhookIntegrationFields(GQLResult):
         
     | 
| 
       92 
92 
     | 
    
         
             
                typename__: Typename[Literal["GenericWebhookIntegration"]] = (
         
     | 
| 
       93 
93 
     | 
    
         
             
                    "GenericWebhookIntegration"
         
     | 
| 
       94 
94 
     | 
    
         
             
                )
         
     | 
| 
         @@ -97,13 +97,13 @@ class GenericWebhookIntegrationFields(GQLBase): 
     | 
|
| 
       97 
97 
     | 
    
         
             
                url_endpoint: str = Field(alias="urlEndpoint")
         
     | 
| 
       98 
98 
     | 
    
         | 
| 
       99 
99 
     | 
    
         | 
| 
       100 
     | 
    
         
            -
            class IntegrationConnectionFields( 
     | 
| 
      
 100 
     | 
    
         
            +
            class IntegrationConnectionFields(GQLResult):
         
     | 
| 
       101 
101 
     | 
    
         
             
                typename__: Typename[Literal["IntegrationConnection"]] = "IntegrationConnection"
         
     | 
| 
       102 
102 
     | 
    
         
             
                page_info: PageInfoFields = Field(alias="pageInfo")
         
     | 
| 
       103 
103 
     | 
    
         
             
                edges: List[IntegrationConnectionFieldsEdges]
         
     | 
| 
       104 
104 
     | 
    
         | 
| 
       105 
105 
     | 
    
         | 
| 
       106 
     | 
    
         
            -
            class IntegrationConnectionFieldsEdges( 
     | 
| 
      
 106 
     | 
    
         
            +
            class IntegrationConnectionFieldsEdges(GQLResult):
         
     | 
| 
       107 
107 
     | 
    
         
             
                cursor: str
         
     | 
| 
       108 
108 
     | 
    
         
             
                node: Optional[
         
     | 
| 
       109 
109 
     | 
    
         
             
                    Annotated[
         
     | 
| 
         @@ -117,16 +117,16 @@ class IntegrationConnectionFieldsEdges(GQLBase): 
     | 
|
| 
       117 
117 
     | 
    
         
             
                ]
         
     | 
| 
       118 
118 
     | 
    
         | 
| 
       119 
119 
     | 
    
         | 
| 
       120 
     | 
    
         
            -
            class IntegrationConnectionFieldsEdgesNodeIntegration( 
     | 
| 
      
 120 
     | 
    
         
            +
            class IntegrationConnectionFieldsEdgesNodeIntegration(GQLResult):
         
     | 
| 
       121 
121 
     | 
    
         
             
                typename__: Typename[Literal["GitHubOAuthIntegration", "Integration"]]
         
     | 
| 
       122 
122 
     | 
    
         | 
| 
       123 
123 
     | 
    
         | 
| 
       124 
     | 
    
         
            -
            class NoOpActionFields( 
     | 
| 
      
 124 
     | 
    
         
            +
            class NoOpActionFields(GQLResult):
         
     | 
| 
       125 
125 
     | 
    
         
             
                typename__: Typename[Literal["NoOpTriggeredAction"]] = "NoOpTriggeredAction"
         
     | 
| 
       126 
126 
     | 
    
         
             
                no_op: Optional[bool] = Field(alias="noOp")
         
     | 
| 
       127 
127 
     | 
    
         | 
| 
       128 
128 
     | 
    
         | 
| 
       129 
     | 
    
         
            -
            class NotificationActionFields( 
     | 
| 
      
 129 
     | 
    
         
            +
            class NotificationActionFields(GQLResult):
         
     | 
| 
       130 
130 
     | 
    
         
             
                typename__: Typename[Literal["NotificationTriggeredAction"]] = (
         
     | 
| 
       131 
131 
     | 
    
         
             
                    "NotificationTriggeredAction"
         
     | 
| 
       132 
132 
     | 
    
         
             
                )
         
     | 
| 
         @@ -138,56 +138,56 @@ class NotificationActionFields(GQLBase): 
     | 
|
| 
       138 
138 
     | 
    
         
             
                severity: Optional[AlertSeverity]
         
     | 
| 
       139 
139 
     | 
    
         | 
| 
       140 
140 
     | 
    
         | 
| 
       141 
     | 
    
         
            -
            class NotificationActionFieldsIntegrationIntegration( 
     | 
| 
      
 141 
     | 
    
         
            +
            class NotificationActionFieldsIntegrationIntegration(GQLResult):
         
     | 
| 
       142 
142 
     | 
    
         
             
                typename__: Typename[
         
     | 
| 
       143 
143 
     | 
    
         
             
                    Literal["GenericWebhookIntegration", "GitHubOAuthIntegration", "Integration"]
         
     | 
| 
       144 
144 
     | 
    
         
             
                ]
         
     | 
| 
       145 
145 
     | 
    
         | 
| 
       146 
146 
     | 
    
         | 
| 
       147 
     | 
    
         
            -
            class PageInfoFields( 
     | 
| 
      
 147 
     | 
    
         
            +
            class PageInfoFields(GQLResult):
         
     | 
| 
       148 
148 
     | 
    
         
             
                end_cursor: Optional[str] = Field(alias="endCursor")
         
     | 
| 
       149 
149 
     | 
    
         
             
                has_next_page: bool = Field(alias="hasNextPage")
         
     | 
| 
       150 
150 
     | 
    
         | 
| 
       151 
151 
     | 
    
         | 
| 
       152 
     | 
    
         
            -
            class ProjectConnectionFields( 
     | 
| 
      
 152 
     | 
    
         
            +
            class ProjectConnectionFields(GQLResult):
         
     | 
| 
       153 
153 
     | 
    
         
             
                typename__: Typename[Literal["ProjectConnection"]] = "ProjectConnection"
         
     | 
| 
       154 
154 
     | 
    
         
             
                page_info: PageInfoFields = Field(alias="pageInfo")
         
     | 
| 
       155 
155 
     | 
    
         
             
                edges: List[ProjectConnectionFieldsEdges]
         
     | 
| 
       156 
156 
     | 
    
         | 
| 
       157 
157 
     | 
    
         | 
| 
       158 
     | 
    
         
            -
            class ProjectConnectionFieldsEdges( 
     | 
| 
      
 158 
     | 
    
         
            +
            class ProjectConnectionFieldsEdges(GQLResult):
         
     | 
| 
       159 
159 
     | 
    
         
             
                cursor: str
         
     | 
| 
       160 
160 
     | 
    
         
             
                node: Optional[ProjectConnectionFieldsEdgesNode]
         
     | 
| 
       161 
161 
     | 
    
         | 
| 
       162 
162 
     | 
    
         | 
| 
       163 
     | 
    
         
            -
            class ProjectConnectionFieldsEdgesNode( 
     | 
| 
      
 163 
     | 
    
         
            +
            class ProjectConnectionFieldsEdgesNode(GQLResult):
         
     | 
| 
       164 
164 
     | 
    
         
             
                triggers: List[TriggerFields]
         
     | 
| 
       165 
165 
     | 
    
         | 
| 
       166 
166 
     | 
    
         | 
| 
       167 
     | 
    
         
            -
            class ProjectScopeFields( 
     | 
| 
      
 167 
     | 
    
         
            +
            class ProjectScopeFields(GQLResult):
         
     | 
| 
       168 
168 
     | 
    
         
             
                typename__: Typename[Literal["Project"]] = "Project"
         
     | 
| 
       169 
169 
     | 
    
         
             
                id: GQLId
         
     | 
| 
       170 
170 
     | 
    
         
             
                name: str
         
     | 
| 
       171 
171 
     | 
    
         | 
| 
       172 
172 
     | 
    
         | 
| 
       173 
     | 
    
         
            -
            class QueueJobActionFields( 
     | 
| 
      
 173 
     | 
    
         
            +
            class QueueJobActionFields(GQLResult):
         
     | 
| 
       174 
174 
     | 
    
         
             
                typename__: Typename[Literal["QueueJobTriggeredAction"]] = "QueueJobTriggeredAction"
         
     | 
| 
       175 
175 
     | 
    
         
             
                queue: Optional[QueueJobActionFieldsQueue]
         
     | 
| 
       176 
176 
     | 
    
         
             
                template: str
         
     | 
| 
       177 
177 
     | 
    
         | 
| 
       178 
178 
     | 
    
         | 
| 
       179 
     | 
    
         
            -
            class QueueJobActionFieldsQueue( 
     | 
| 
      
 179 
     | 
    
         
            +
            class QueueJobActionFieldsQueue(GQLResult):
         
     | 
| 
       180 
180 
     | 
    
         
             
                id: GQLId
         
     | 
| 
       181 
181 
     | 
    
         
             
                name: str
         
     | 
| 
       182 
182 
     | 
    
         | 
| 
       183 
183 
     | 
    
         | 
| 
       184 
     | 
    
         
            -
            class SlackIntegrationConnectionFields( 
     | 
| 
      
 184 
     | 
    
         
            +
            class SlackIntegrationConnectionFields(GQLResult):
         
     | 
| 
       185 
185 
     | 
    
         
             
                typename__: Typename[Literal["IntegrationConnection"]] = "IntegrationConnection"
         
     | 
| 
       186 
186 
     | 
    
         
             
                page_info: PageInfoFields = Field(alias="pageInfo")
         
     | 
| 
       187 
187 
     | 
    
         
             
                edges: List[SlackIntegrationConnectionFieldsEdges]
         
     | 
| 
       188 
188 
     | 
    
         | 
| 
       189 
189 
     | 
    
         | 
| 
       190 
     | 
    
         
            -
            class SlackIntegrationConnectionFieldsEdges( 
     | 
| 
      
 190 
     | 
    
         
            +
            class SlackIntegrationConnectionFieldsEdges(GQLResult):
         
     | 
| 
       191 
191 
     | 
    
         
             
                cursor: str
         
     | 
| 
       192 
192 
     | 
    
         
             
                node: Optional[
         
     | 
| 
       193 
193 
     | 
    
         
             
                    Annotated[
         
     | 
| 
         @@ -200,20 +200,20 @@ class SlackIntegrationConnectionFieldsEdges(GQLBase): 
     | 
|
| 
       200 
200 
     | 
    
         
             
                ]
         
     | 
| 
       201 
201 
     | 
    
         | 
| 
       202 
202 
     | 
    
         | 
| 
       203 
     | 
    
         
            -
            class SlackIntegrationConnectionFieldsEdgesNodeIntegration( 
     | 
| 
      
 203 
     | 
    
         
            +
            class SlackIntegrationConnectionFieldsEdgesNodeIntegration(GQLResult):
         
     | 
| 
       204 
204 
     | 
    
         
             
                typename__: Typename[
         
     | 
| 
       205 
205 
     | 
    
         
             
                    Literal["GenericWebhookIntegration", "GitHubOAuthIntegration", "Integration"]
         
     | 
| 
       206 
206 
     | 
    
         
             
                ]
         
     | 
| 
       207 
207 
     | 
    
         | 
| 
       208 
208 
     | 
    
         | 
| 
       209 
     | 
    
         
            -
            class SlackIntegrationFields( 
     | 
| 
      
 209 
     | 
    
         
            +
            class SlackIntegrationFields(GQLResult):
         
     | 
| 
       210 
210 
     | 
    
         
             
                typename__: Typename[Literal["SlackIntegration"]] = "SlackIntegration"
         
     | 
| 
       211 
211 
     | 
    
         
             
                id: GQLId
         
     | 
| 
       212 
212 
     | 
    
         
             
                team_name: str = Field(alias="teamName")
         
     | 
| 
       213 
213 
     | 
    
         
             
                channel_name: str = Field(alias="channelName")
         
     | 
| 
       214 
214 
     | 
    
         | 
| 
       215 
215 
     | 
    
         | 
| 
       216 
     | 
    
         
            -
            class TriggerFields( 
     | 
| 
      
 216 
     | 
    
         
            +
            class TriggerFields(GQLResult):
         
     | 
| 
       217 
217 
     | 
    
         
             
                typename__: Typename[Literal["Trigger"]] = "Trigger"
         
     | 
| 
       218 
218 
     | 
    
         
             
                id: GQLId
         
     | 
| 
       219 
219 
     | 
    
         
             
                created_at: datetime = Field(alias="createdAt")
         
     | 
| 
         @@ -233,7 +233,7 @@ class TriggerFields(GQLBase): 
     | 
|
| 
       233 
233 
     | 
    
         
             
                ] = Field(discriminator="typename__")
         
     | 
| 
       234 
234 
     | 
    
         | 
| 
       235 
235 
     | 
    
         | 
| 
       236 
     | 
    
         
            -
            class UpdateAutomationResult( 
     | 
| 
      
 236 
     | 
    
         
            +
            class UpdateAutomationResult(GQLResult):
         
     | 
| 
       237 
237 
     | 
    
         
             
                typename__: Typename[Literal["UpdateFilterTriggerPayload"]] = (
         
     | 
| 
       238 
238 
     | 
    
         
             
                    "UpdateFilterTriggerPayload"
         
     | 
| 
       239 
239 
     | 
    
         
             
                )
         
     | 
| 
         @@ -270,24 +270,3 @@ SlackIntegrationConnectionFieldsEdgesNodeIntegration.model_rebuild() 
     | 
|
| 
       270 
270 
     | 
    
         
             
            SlackIntegrationFields.model_rebuild()
         
     | 
| 
       271 
271 
     | 
    
         
             
            TriggerFields.model_rebuild()
         
     | 
| 
       272 
272 
     | 
    
         
             
            UpdateAutomationResult.model_rebuild()
         
     | 
| 
       273 
     | 
    
         
            -
            ArtifactPortfolioScopeFields.model_rebuild()
         
     | 
| 
       274 
     | 
    
         
            -
            ArtifactSequenceScopeFields.model_rebuild()
         
     | 
| 
       275 
     | 
    
         
            -
            FilterEventFields.model_rebuild()
         
     | 
| 
       276 
     | 
    
         
            -
            GenericWebhookActionFields.model_rebuild()
         
     | 
| 
       277 
     | 
    
         
            -
            GenericWebhookIntegrationFields.model_rebuild()
         
     | 
| 
       278 
     | 
    
         
            -
            GenericWebhookIntegrationFields.model_rebuild()
         
     | 
| 
       279 
     | 
    
         
            -
            GenericWebhookIntegrationFields.model_rebuild()
         
     | 
| 
       280 
     | 
    
         
            -
            NoOpActionFields.model_rebuild()
         
     | 
| 
       281 
     | 
    
         
            -
            NotificationActionFields.model_rebuild()
         
     | 
| 
       282 
     | 
    
         
            -
            PageInfoFields.model_rebuild()
         
     | 
| 
       283 
     | 
    
         
            -
            PageInfoFields.model_rebuild()
         
     | 
| 
       284 
     | 
    
         
            -
            PageInfoFields.model_rebuild()
         
     | 
| 
       285 
     | 
    
         
            -
            PageInfoFields.model_rebuild()
         
     | 
| 
       286 
     | 
    
         
            -
            ProjectScopeFields.model_rebuild()
         
     | 
| 
       287 
     | 
    
         
            -
            QueueJobActionFields.model_rebuild()
         
     | 
| 
       288 
     | 
    
         
            -
            SlackIntegrationFields.model_rebuild()
         
     | 
| 
       289 
     | 
    
         
            -
            SlackIntegrationFields.model_rebuild()
         
     | 
| 
       290 
     | 
    
         
            -
            SlackIntegrationFields.model_rebuild()
         
     | 
| 
       291 
     | 
    
         
            -
            TriggerFields.model_rebuild()
         
     | 
| 
       292 
     | 
    
         
            -
            TriggerFields.model_rebuild()
         
     | 
| 
       293 
     | 
    
         
            -
            TriggerFields.model_rebuild()
         
     | 
| 
         @@ -5,16 +5,16 @@ from __future__ import annotations 
     | 
|
| 
       5 
5 
     | 
    
         | 
| 
       6 
6 
     | 
    
         
             
            from typing import Optional
         
     | 
| 
       7 
7 
     | 
    
         | 
| 
       8 
     | 
    
         
            -
            from wandb._pydantic import  
     | 
| 
      
 8 
     | 
    
         
            +
            from wandb._pydantic import GQLResult
         
     | 
| 
       9 
9 
     | 
    
         | 
| 
       10 
10 
     | 
    
         
             
            from .fragments import GenericWebhookIntegrationConnectionFields
         
     | 
| 
       11 
11 
     | 
    
         | 
| 
       12 
12 
     | 
    
         | 
| 
       13 
     | 
    
         
            -
            class GenericWebhookIntegrationsByEntity( 
     | 
| 
      
 13 
     | 
    
         
            +
            class GenericWebhookIntegrationsByEntity(GQLResult):
         
     | 
| 
       14 
14 
     | 
    
         
             
                entity: Optional[GenericWebhookIntegrationsByEntityEntity]
         
     | 
| 
       15 
15 
     | 
    
         | 
| 
       16 
16 
     | 
    
         | 
| 
       17 
     | 
    
         
            -
            class GenericWebhookIntegrationsByEntityEntity( 
     | 
| 
      
 17 
     | 
    
         
            +
            class GenericWebhookIntegrationsByEntityEntity(GQLResult):
         
     | 
| 
       18 
18 
     | 
    
         
             
                integrations: Optional[GenericWebhookIntegrationConnectionFields]
         
     | 
| 
       19 
19 
     | 
    
         | 
| 
       20 
20 
     | 
    
         | 
| 
         @@ -7,16 +7,16 @@ from typing import Optional 
     | 
|
| 
       7 
7 
     | 
    
         | 
| 
       8 
8 
     | 
    
         
             
            from pydantic import Field
         
     | 
| 
       9 
9 
     | 
    
         | 
| 
       10 
     | 
    
         
            -
            from wandb._pydantic import  
     | 
| 
      
 10 
     | 
    
         
            +
            from wandb._pydantic import GQLResult
         
     | 
| 
       11 
11 
     | 
    
         | 
| 
       12 
12 
     | 
    
         
             
            from .fragments import ProjectConnectionFields
         
     | 
| 
       13 
13 
     | 
    
         | 
| 
       14 
14 
     | 
    
         | 
| 
       15 
     | 
    
         
            -
            class GetAutomations( 
     | 
| 
      
 15 
     | 
    
         
            +
            class GetAutomations(GQLResult):
         
     | 
| 
       16 
16 
     | 
    
         
             
                search_scope: Optional[GetAutomationsSearchScope] = Field(alias="searchScope")
         
     | 
| 
       17 
17 
     | 
    
         | 
| 
       18 
18 
     | 
    
         | 
| 
       19 
     | 
    
         
            -
            class GetAutomationsSearchScope( 
     | 
| 
      
 19 
     | 
    
         
            +
            class GetAutomationsSearchScope(GQLResult):
         
     | 
| 
       20 
20 
     | 
    
         
             
                projects: Optional[ProjectConnectionFields]
         
     | 
| 
       21 
21 
     | 
    
         | 
| 
       22 
22 
     | 
    
         | 
| 
         @@ -7,18 +7,18 @@ from typing import Optional 
     | 
|
| 
       7 
7 
     | 
    
         | 
| 
       8 
8 
     | 
    
         
             
            from pydantic import Field
         
     | 
| 
       9 
9 
     | 
    
         | 
| 
       10 
     | 
    
         
            -
            from wandb._pydantic import  
     | 
| 
      
 10 
     | 
    
         
            +
            from wandb._pydantic import GQLResult
         
     | 
| 
       11 
11 
     | 
    
         | 
| 
       12 
12 
     | 
    
         
             
            from .fragments import ProjectConnectionFields
         
     | 
| 
       13 
13 
     | 
    
         | 
| 
       14 
14 
     | 
    
         | 
| 
       15 
     | 
    
         
            -
            class GetAutomationsByEntity( 
     | 
| 
      
 15 
     | 
    
         
            +
            class GetAutomationsByEntity(GQLResult):
         
     | 
| 
       16 
16 
     | 
    
         
             
                search_scope: Optional[GetAutomationsByEntitySearchScope] = Field(
         
     | 
| 
       17 
17 
     | 
    
         
             
                    alias="searchScope"
         
     | 
| 
       18 
18 
     | 
    
         
             
                )
         
     | 
| 
       19 
19 
     | 
    
         | 
| 
       20 
20 
     | 
    
         | 
| 
       21 
     | 
    
         
            -
            class GetAutomationsByEntitySearchScope( 
     | 
| 
      
 21 
     | 
    
         
            +
            class GetAutomationsByEntitySearchScope(GQLResult):
         
     | 
| 
       22 
22 
     | 
    
         
             
                projects: Optional[ProjectConnectionFields]
         
     | 
| 
       23 
23 
     | 
    
         | 
| 
       24 
24 
     | 
    
         | 
| 
         @@ -7,7 +7,7 @@ from typing import Optional 
     | 
|
| 
       7 
7 
     | 
    
         | 
| 
       8 
8 
     | 
    
         
             
            from pydantic import Field
         
     | 
| 
       9 
9 
     | 
    
         | 
| 
       10 
     | 
    
         
            -
            from wandb._pydantic import  
     | 
| 
      
 10 
     | 
    
         
            +
            from wandb._pydantic import GQLId, GQLInput
         
     | 
| 
       11 
11 
     | 
    
         | 
| 
       12 
12 
     | 
    
         
             
            from .enums import (
         
     | 
| 
       13 
13 
     | 
    
         
             
                AlertSeverity,
         
     | 
| 
         @@ -17,7 +17,7 @@ from .enums import ( 
     | 
|
| 
       17 
17 
     | 
    
         
             
            )
         
     | 
| 
       18 
18 
     | 
    
         | 
| 
       19 
19 
     | 
    
         | 
| 
       20 
     | 
    
         
            -
            class CreateGenericWebhookIntegrationInput( 
     | 
| 
      
 20 
     | 
    
         
            +
            class CreateGenericWebhookIntegrationInput(GQLInput):
         
     | 
| 
       21 
21 
     | 
    
         
             
                entity_name: str = Field(alias="entityName")
         
     | 
| 
       22 
22 
     | 
    
         
             
                url_endpoint: str = Field(alias="urlEndpoint")
         
     | 
| 
       23 
23 
     | 
    
         
             
                name: str
         
     | 
| 
         @@ -26,28 +26,28 @@ class CreateGenericWebhookIntegrationInput(GQLBase): 
     | 
|
| 
       26 
26 
     | 
    
         
             
                client_mutation_id: Optional[str] = Field(alias="clientMutationId", default=None)
         
     | 
| 
       27 
27 
     | 
    
         | 
| 
       28 
28 
     | 
    
         | 
| 
       29 
     | 
    
         
            -
            class QueueJobActionInput( 
     | 
| 
      
 29 
     | 
    
         
            +
            class QueueJobActionInput(GQLInput):
         
     | 
| 
       30 
30 
     | 
    
         
             
                queue_id: GQLId = Field(alias="queueID")
         
     | 
| 
       31 
31 
     | 
    
         
             
                template: str
         
     | 
| 
       32 
32 
     | 
    
         | 
| 
       33 
33 
     | 
    
         | 
| 
       34 
     | 
    
         
            -
            class NotificationActionInput( 
     | 
| 
      
 34 
     | 
    
         
            +
            class NotificationActionInput(GQLInput):
         
     | 
| 
       35 
35 
     | 
    
         
             
                integration_id: GQLId = Field(alias="integrationID")
         
     | 
| 
       36 
36 
     | 
    
         
             
                title: Optional[str] = None
         
     | 
| 
       37 
37 
     | 
    
         
             
                message: Optional[str] = None
         
     | 
| 
       38 
38 
     | 
    
         
             
                severity: Optional[AlertSeverity] = None
         
     | 
| 
       39 
39 
     | 
    
         | 
| 
       40 
40 
     | 
    
         | 
| 
       41 
     | 
    
         
            -
            class GenericWebhookActionInput( 
     | 
| 
      
 41 
     | 
    
         
            +
            class GenericWebhookActionInput(GQLInput):
         
     | 
| 
       42 
42 
     | 
    
         
             
                integration_id: GQLId = Field(alias="integrationID")
         
     | 
| 
       43 
43 
     | 
    
         
             
                request_payload: Optional[str] = Field(alias="requestPayload", default=None)
         
     | 
| 
       44 
44 
     | 
    
         | 
| 
       45 
45 
     | 
    
         | 
| 
       46 
     | 
    
         
            -
            class NoOpTriggeredActionInput( 
     | 
| 
      
 46 
     | 
    
         
            +
            class NoOpTriggeredActionInput(GQLInput):
         
     | 
| 
       47 
47 
     | 
    
         
             
                no_op: Optional[bool] = Field(alias="noOp", default=None)
         
     | 
| 
       48 
48 
     | 
    
         | 
| 
       49 
49 
     | 
    
         | 
| 
       50 
     | 
    
         
            -
            class TriggeredActionConfig( 
     | 
| 
      
 50 
     | 
    
         
            +
            class TriggeredActionConfig(GQLInput):
         
     | 
| 
       51 
51 
     | 
    
         
             
                queue_job_action_input: Optional[QueueJobActionInput] = Field(
         
     | 
| 
       52 
52 
     | 
    
         
             
                    alias="queueJobActionInput", default=None
         
     | 
| 
       53 
53 
     | 
    
         
             
                )
         
     | 
| 
         @@ -62,7 +62,7 @@ class TriggeredActionConfig(GQLBase): 
     | 
|
| 
       62 
62 
     | 
    
         
             
                )
         
     | 
| 
       63 
63 
     | 
    
         | 
| 
       64 
64 
     | 
    
         | 
| 
       65 
     | 
    
         
            -
            class CreateFilterTriggerInput( 
     | 
| 
      
 65 
     | 
    
         
            +
            class CreateFilterTriggerInput(GQLInput):
         
     | 
| 
       66 
66 
     | 
    
         
             
                name: str
         
     | 
| 
       67 
67 
     | 
    
         
             
                description: Optional[str] = None
         
     | 
| 
       68 
68 
     | 
    
         
             
                triggering_event_type: EventTriggeringConditionType = Field(
         
     | 
| 
         @@ -79,7 +79,7 @@ class CreateFilterTriggerInput(GQLBase): 
     | 
|
| 
       79 
79 
     | 
    
         
             
                client_mutation_id: Optional[str] = Field(alias="clientMutationId", default=None)
         
     | 
| 
       80 
80 
     | 
    
         | 
| 
       81 
81 
     | 
    
         | 
| 
       82 
     | 
    
         
            -
            class UpdateFilterTriggerInput( 
     | 
| 
      
 82 
     | 
    
         
            +
            class UpdateFilterTriggerInput(GQLInput):
         
     | 
| 
       83 
83 
     | 
    
         
             
                id: GQLId
         
     | 
| 
       84 
84 
     | 
    
         
             
                name: Optional[str] = None
         
     | 
| 
       85 
85 
     | 
    
         
             
                description: Optional[str] = None
         
     | 
| 
         @@ -5,16 +5,16 @@ from __future__ import annotations 
     | 
|
| 
       5 
5 
     | 
    
         | 
| 
       6 
6 
     | 
    
         
             
            from typing import Optional
         
     | 
| 
       7 
7 
     | 
    
         | 
| 
       8 
     | 
    
         
            -
            from wandb._pydantic import  
     | 
| 
      
 8 
     | 
    
         
            +
            from wandb._pydantic import GQLResult
         
     | 
| 
       9 
9 
     | 
    
         | 
| 
       10 
10 
     | 
    
         
             
            from .fragments import IntegrationConnectionFields
         
     | 
| 
       11 
11 
     | 
    
         | 
| 
       12 
12 
     | 
    
         | 
| 
       13 
     | 
    
         
            -
            class IntegrationsByEntity( 
     | 
| 
      
 13 
     | 
    
         
            +
            class IntegrationsByEntity(GQLResult):
         
     | 
| 
       14 
14 
     | 
    
         
             
                entity: Optional[IntegrationsByEntityEntity]
         
     | 
| 
       15 
15 
     | 
    
         | 
| 
       16 
16 
     | 
    
         | 
| 
       17 
     | 
    
         
            -
            class IntegrationsByEntityEntity( 
     | 
| 
      
 17 
     | 
    
         
            +
            class IntegrationsByEntityEntity(GQLResult):
         
     | 
| 
       18 
18 
     | 
    
         
             
                integrations: Optional[IntegrationConnectionFields]
         
     | 
| 
       19 
19 
     | 
    
         | 
| 
       20 
20 
     | 
    
         | 
| 
         @@ -272,8 +272,8 @@ fragment TriggerFields on Trigger { 
     | 
|
| 
       272 
272 
     | 
    
         
             
            """
         
     | 
| 
       273 
273 
     | 
    
         | 
| 
       274 
274 
     | 
    
         
             
            CREATE_AUTOMATION_GQL = """
         
     | 
| 
       275 
     | 
    
         
            -
            mutation CreateAutomation($ 
     | 
| 
       276 
     | 
    
         
            -
              result: createFilterTrigger(input: $ 
     | 
| 
      
 275 
     | 
    
         
            +
            mutation CreateAutomation($input: CreateFilterTriggerInput!) {
         
     | 
| 
      
 276 
     | 
    
         
            +
              result: createFilterTrigger(input: $input) {
         
     | 
| 
       277 
277 
     | 
    
         
             
                ...CreateAutomationResult
         
     | 
| 
       278 
278 
     | 
    
         
             
              }
         
     | 
| 
       279 
279 
     | 
    
         
             
            }
         
     | 
| 
         @@ -386,8 +386,8 @@ fragment TriggerFields on Trigger { 
     | 
|
| 
       386 
386 
     | 
    
         
             
            """
         
     | 
| 
       387 
387 
     | 
    
         | 
| 
       388 
388 
     | 
    
         
             
            UPDATE_AUTOMATION_GQL = """
         
     | 
| 
       389 
     | 
    
         
            -
            mutation UpdateAutomation($ 
     | 
| 
       390 
     | 
    
         
            -
              result: updateFilterTrigger(input: $ 
     | 
| 
      
 389 
     | 
    
         
            +
            mutation UpdateAutomation($input: UpdateFilterTriggerInput!) {
         
     | 
| 
      
 390 
     | 
    
         
            +
              result: updateFilterTrigger(input: $input) {
         
     | 
| 
       391 
391 
     | 
    
         
             
                ...UpdateAutomationResult
         
     | 
| 
       392 
392 
     | 
    
         
             
              }
         
     | 
| 
       393 
393 
     | 
    
         
             
            }
         
     | 
| 
         @@ -629,8 +629,8 @@ fragment PageInfoFields on PageInfo { 
     | 
|
| 
       629 
629 
     | 
    
         
             
            """
         
     | 
| 
       630 
630 
     | 
    
         | 
| 
       631 
631 
     | 
    
         
             
            CREATE_GENERIC_WEBHOOK_INTEGRATION_GQL = """
         
     | 
| 
       632 
     | 
    
         
            -
            mutation CreateGenericWebhookIntegration($ 
     | 
| 
       633 
     | 
    
         
            -
              createGenericWebhookIntegration(input: $ 
     | 
| 
      
 632 
     | 
    
         
            +
            mutation CreateGenericWebhookIntegration($input: CreateGenericWebhookIntegrationInput!) {
         
     | 
| 
      
 633 
     | 
    
         
            +
              createGenericWebhookIntegration(input: $input) {
         
     | 
| 
       634 
634 
     | 
    
         
             
                integration {
         
     | 
| 
       635 
635 
     | 
    
         
             
                  __typename
         
     | 
| 
       636 
636 
     | 
    
         
             
                  ...GenericWebhookIntegrationFields
         
     | 
| 
         @@ -5,16 +5,16 @@ from __future__ import annotations 
     | 
|
| 
       5 
5 
     | 
    
         | 
| 
       6 
6 
     | 
    
         
             
            from typing import Optional
         
     | 
| 
       7 
7 
     | 
    
         | 
| 
       8 
     | 
    
         
            -
            from wandb._pydantic import  
     | 
| 
      
 8 
     | 
    
         
            +
            from wandb._pydantic import GQLResult
         
     | 
| 
       9 
9 
     | 
    
         | 
| 
       10 
10 
     | 
    
         
             
            from .fragments import SlackIntegrationConnectionFields
         
     | 
| 
       11 
11 
     | 
    
         | 
| 
       12 
12 
     | 
    
         | 
| 
       13 
     | 
    
         
            -
            class SlackIntegrationsByEntity( 
     | 
| 
      
 13 
     | 
    
         
            +
            class SlackIntegrationsByEntity(GQLResult):
         
     | 
| 
       14 
14 
     | 
    
         
             
                entity: Optional[SlackIntegrationsByEntityEntity]
         
     | 
| 
       15 
15 
     | 
    
         | 
| 
       16 
16 
     | 
    
         | 
| 
       17 
     | 
    
         
            -
            class SlackIntegrationsByEntityEntity( 
     | 
| 
      
 17 
     | 
    
         
            +
            class SlackIntegrationsByEntityEntity(GQLResult):
         
     | 
| 
       18 
18 
     | 
    
         
             
                integrations: Optional[SlackIntegrationConnectionFields]
         
     | 
| 
       19 
19 
     | 
    
         | 
| 
       20 
20 
     | 
    
         | 
| 
         @@ -5,12 +5,12 @@ from __future__ import annotations 
     | 
|
| 
       5 
5 
     | 
    
         | 
| 
       6 
6 
     | 
    
         
             
            from typing import Optional
         
     | 
| 
       7 
7 
     | 
    
         | 
| 
       8 
     | 
    
         
            -
            from wandb._pydantic import  
     | 
| 
      
 8 
     | 
    
         
            +
            from wandb._pydantic import GQLResult
         
     | 
| 
       9 
9 
     | 
    
         | 
| 
       10 
10 
     | 
    
         
             
            from .fragments import UpdateAutomationResult
         
     | 
| 
       11 
11 
     | 
    
         | 
| 
       12 
12 
     | 
    
         | 
| 
       13 
     | 
    
         
            -
            class UpdateAutomation( 
     | 
| 
      
 13 
     | 
    
         
            +
            class UpdateAutomation(GQLResult):
         
     | 
| 
       14 
14 
     | 
    
         
             
                result: Optional[UpdateAutomationResult]
         
     | 
| 
       15 
15 
     | 
    
         | 
| 
       16 
16 
     | 
    
         | 
    
        wandb/automations/_utils.py
    CHANGED
    
    | 
         @@ -5,7 +5,7 @@ from typing import Any, Collection, Final, Optional, Protocol, TypedDict 
     | 
|
| 
       5 
5 
     | 
    
         
             
            from pydantic import Field
         
     | 
| 
       6 
6 
     | 
    
         
             
            from typing_extensions import Annotated, Self, Unpack
         
     | 
| 
       7 
7 
     | 
    
         | 
| 
       8 
     | 
    
         
            -
            from wandb._pydantic import  
     | 
| 
      
 8 
     | 
    
         
            +
            from wandb._pydantic import GQLId, GQLInput, computed_field, model_validator, to_json
         
     | 
| 
       9 
9 
     | 
    
         | 
| 
       10 
10 
     | 
    
         
             
            from ._filters import MongoLikeFilter
         
     | 
| 
       11 
11 
     | 
    
         
             
            from ._generated import (
         
     | 
| 
         @@ -132,7 +132,7 @@ class WriteAutomationsKwargs(TypedDict, total=False): 
     | 
|
| 
       132 
132 
     | 
    
         
             
                action: InputAction
         
     | 
| 
       133 
133 
     | 
    
         | 
| 
       134 
134 
     | 
    
         | 
| 
       135 
     | 
    
         
            -
            class ValidatedCreateInput( 
     | 
| 
      
 135 
     | 
    
         
            +
            class ValidatedCreateInput(GQLInput, extra="forbid", frozen=True):
         
     | 
| 
       136 
136 
     | 
    
         
             
                """Validated automation parameters, prepared for creating a new automation.
         
     | 
| 
       137 
137 
     | 
    
         | 
| 
       138 
138 
     | 
    
         
             
                Note: Users should never need to instantiate this class directly.
         
     | 
| 
         @@ -205,7 +205,7 @@ def prepare_to_create( 
     | 
|
| 
       205 
205 
     | 
    
         
             
                # "unset" value.  If this proves insufficient, revisit in the future,
         
     | 
| 
       206 
206 
     | 
    
         
             
                # as it should be reasonably easy to implement a custom sentinel
         
     | 
| 
       207 
207 
     | 
    
         
             
                # type later on.
         
     | 
| 
       208 
     | 
    
         
            -
                obj_dict = {**obj.model_dump( 
     | 
| 
      
 208 
     | 
    
         
            +
                obj_dict = {**obj.model_dump(), **kwargs} if obj else kwargs
         
     | 
| 
       209 
209 
     | 
    
         
             
                validated = ValidatedCreateInput(**obj_dict)
         
     | 
| 
       210 
210 
     | 
    
         
             
                return CreateFilterTriggerInput.model_validate(validated)
         
     | 
| 
       211 
211 
     | 
    
         | 
    
        wandb/automations/actions.py
    CHANGED
    
    | 
         @@ -74,12 +74,12 @@ class _SavedActionWebhookIntegration(GQLBase, extra="allow"): 
     | 
|
| 
       74 
74 
     | 
    
         
             
                id: GQLId
         
     | 
| 
       75 
75 
     | 
    
         | 
| 
       76 
76 
     | 
    
         | 
| 
       77 
     | 
    
         
            -
            class SavedNotificationAction(NotificationActionFields):
         
     | 
| 
      
 77 
     | 
    
         
            +
            class SavedNotificationAction(NotificationActionFields, frozen=False):
         
     | 
| 
       78 
78 
     | 
    
         
             
                action_type: Literal[ActionType.NOTIFICATION] = ActionType.NOTIFICATION
         
     | 
| 
       79 
79 
     | 
    
         
             
                integration: _SavedActionSlackIntegration
         
     | 
| 
       80 
80 
     | 
    
         | 
| 
       81 
81 
     | 
    
         | 
| 
       82 
     | 
    
         
            -
            class SavedWebhookAction(GenericWebhookActionFields):
         
     | 
| 
      
 82 
     | 
    
         
            +
            class SavedWebhookAction(GenericWebhookActionFields, frozen=False):
         
     | 
| 
       83 
83 
     | 
    
         
             
                action_type: Literal[ActionType.GENERIC_WEBHOOK] = ActionType.GENERIC_WEBHOOK
         
     | 
| 
       84 
84 
     | 
    
         
             
                integration: _SavedActionWebhookIntegration
         
     | 
| 
       85 
85 
     | 
    
         | 
| 
         @@ -92,7 +92,7 @@ class SavedWebhookAction(GenericWebhookActionFields): 
     | 
|
| 
       92 
92 
     | 
    
         
             
                ] = None  # type: ignore[assignment]
         
     | 
| 
       93 
93 
     | 
    
         | 
| 
       94 
94 
     | 
    
         | 
| 
       95 
     | 
    
         
            -
            class SavedNoOpAction(NoOpActionFields, frozen= 
     | 
| 
      
 95 
     | 
    
         
            +
            class SavedNoOpAction(NoOpActionFields, frozen=False):
         
     | 
| 
       96 
96 
     | 
    
         
             
                action_type: Literal[ActionType.NO_OP] = ActionType.NO_OP
         
     | 
| 
       97 
97 
     | 
    
         | 
| 
       98 
98 
     | 
    
         
             
                no_op: Annotated[bool, BeforeValidator(default_if_none)] = True
         
     | 
    
        wandb/automations/automations.py
    CHANGED
    
    | 
         @@ -6,7 +6,7 @@ from typing import Optional 
     | 
|
| 
       6 
6 
     | 
    
         
             
            from pydantic import Field
         
     | 
| 
       7 
7 
     | 
    
         
             
            from typing_extensions import Annotated
         
     | 
| 
       8 
8 
     | 
    
         | 
| 
       9 
     | 
    
         
            -
            from wandb._pydantic import  
     | 
| 
      
 9 
     | 
    
         
            +
            from wandb._pydantic import GQLId, GQLInput
         
     | 
| 
       10 
10 
     | 
    
         | 
| 
       11 
11 
     | 
    
         
             
            from ._generated import TriggerFields
         
     | 
| 
       12 
12 
     | 
    
         
             
            from .actions import InputAction, SavedAction
         
     | 
| 
         @@ -15,9 +15,10 @@ from .scopes import AutomationScope 
     | 
|
| 
       15 
15 
     | 
    
         | 
| 
       16 
16 
     | 
    
         | 
| 
       17 
17 
     | 
    
         
             
            # ------------------------------------------------------------------------------
         
     | 
| 
       18 
     | 
    
         
            -
            # Saved types: for parsing response data from saved automations
         
     | 
| 
       19 
     | 
    
         
            -
             
     | 
| 
       20 
     | 
    
         
            -
             
     | 
| 
      
 18 
     | 
    
         
            +
            # Saved types: for parsing response data from saved automations while allowing
         
     | 
| 
      
 19 
     | 
    
         
            +
            # local editing.
         
     | 
| 
      
 20 
     | 
    
         
            +
            class Automation(TriggerFields, frozen=False):
         
     | 
| 
      
 21 
     | 
    
         
            +
                """A local instance of a saved W&B automation that supports editing."""
         
     | 
| 
       21 
22 
     | 
    
         | 
| 
       22 
23 
     | 
    
         
             
                id: GQLId
         
     | 
| 
       23 
24 
     | 
    
         | 
| 
         @@ -48,7 +49,7 @@ class Automation(TriggerFields): 
     | 
|
| 
       48 
49 
     | 
    
         
             
                """The action that will execute when this automation is triggered."""
         
     | 
| 
       49 
50 
     | 
    
         | 
| 
       50 
51 
     | 
    
         | 
| 
       51 
     | 
    
         
            -
            class NewAutomation( 
     | 
| 
      
 52 
     | 
    
         
            +
            class NewAutomation(GQLInput, extra="forbid", validate_default=False):
         
     | 
| 
       52 
53 
     | 
    
         
             
                """A new automation to be created."""
         
     | 
| 
       53 
54 
     | 
    
         | 
| 
       54 
55 
     | 
    
         
             
                name: Optional[str] = None
         
     | 
    
        wandb/bin/gpu_stats.exe
    CHANGED
    
    | 
         Binary file 
     | 
    
        wandb/bin/wandb-core
    CHANGED
    
    | 
         Binary file 
     | 
    
        wandb/cli/beta.py
    CHANGED
    
    | 
         @@ -9,16 +9,17 @@ import pathlib 
     | 
|
| 
       9 
9 
     | 
    
         | 
| 
       10 
10 
     | 
    
         
             
            import click
         
     | 
| 
       11 
11 
     | 
    
         | 
| 
      
 12 
     | 
    
         
            +
            import wandb
         
     | 
| 
       12 
13 
     | 
    
         
             
            from wandb.errors import WandbCoreNotAvailableError
         
     | 
| 
       13 
14 
     | 
    
         
             
            from wandb.util import get_core_path
         
     | 
| 
       14 
15 
     | 
    
         | 
| 
       15 
16 
     | 
    
         | 
| 
       16 
17 
     | 
    
         
             
            @click.group()
         
     | 
| 
       17 
18 
     | 
    
         
             
            def beta():
         
     | 
| 
       18 
     | 
    
         
            -
                """Beta versions of wandb CLI commands. 
     | 
| 
       19 
     | 
    
         
            -
                # this is the future that requires wandb-core!
         
     | 
| 
       20 
     | 
    
         
            -
                import wandb.env
         
     | 
| 
      
 19 
     | 
    
         
            +
                """Beta versions of wandb CLI commands.
         
     | 
| 
       21 
20 
     | 
    
         | 
| 
      
 21 
     | 
    
         
            +
                These commands may change or even completely break in any release of wandb.
         
     | 
| 
      
 22 
     | 
    
         
            +
                """
         
     | 
| 
       22 
23 
     | 
    
         
             
                wandb._sentry.configure_scope(process_context="wandb_beta")
         
     | 
| 
       23 
24 
     | 
    
         | 
| 
       24 
25 
     | 
    
         
             
                try:
         
     | 
| 
         @@ -32,6 +33,21 @@ def beta(): 
     | 
|
| 
       32 
33 
     | 
    
         
             
                    )
         
     | 
| 
       33 
34 
     | 
    
         | 
| 
       34 
35 
     | 
    
         | 
| 
      
 36 
     | 
    
         
            +
            @beta.command()
         
     | 
| 
      
 37 
     | 
    
         
            +
            @click.argument("path", nargs=1, type=click.Path(exists=True), required=False)
         
     | 
| 
      
 38 
     | 
    
         
            +
            def leet(path: str | None = None) -> None:
         
     | 
| 
      
 39 
     | 
    
         
            +
                """Launch W&B LEET: the Lightweight Experiment Exploration Tool.
         
     | 
| 
      
 40 
     | 
    
         
            +
             
     | 
| 
      
 41 
     | 
    
         
            +
                LEET is a terminal UI for viewing a W&B run specified by an optional PATH.
         
     | 
| 
      
 42 
     | 
    
         
            +
             
     | 
| 
      
 43 
     | 
    
         
            +
                PATH can include a .wandb file or a run directory containing a .wandb file.
         
     | 
| 
      
 44 
     | 
    
         
            +
                If PATH is not provided, the command will look for the latest run.
         
     | 
| 
      
 45 
     | 
    
         
            +
                """
         
     | 
| 
      
 46 
     | 
    
         
            +
                from . import beta_leet
         
     | 
| 
      
 47 
     | 
    
         
            +
             
     | 
| 
      
 48 
     | 
    
         
            +
                beta_leet.launch(path)
         
     | 
| 
      
 49 
     | 
    
         
            +
             
     | 
| 
      
 50 
     | 
    
         
            +
             
     | 
| 
       35 
51 
     | 
    
         
             
            @beta.command()
         
     | 
| 
       36 
52 
     | 
    
         
             
            @click.argument("paths", type=click.Path(exists=True), nargs=-1)
         
     | 
| 
       37 
53 
     | 
    
         
             
            @click.option(
         
     | 
| 
         @@ -67,6 +83,10 @@ def sync( 
     | 
|
| 
       67 
83 
     | 
    
         
             
            ) -> None:
         
     | 
| 
       68 
84 
     | 
    
         
             
                """Upload .wandb files specified by PATHS.
         
     | 
| 
       69 
85 
     | 
    
         | 
| 
      
 86 
     | 
    
         
            +
                This is a beta re-implementation of `wandb sync`.
         
     | 
| 
      
 87 
     | 
    
         
            +
                It is not feature complete, not guaranteed to work, and may change
         
     | 
| 
      
 88 
     | 
    
         
            +
                in backward-incompatible ways in any release of wandb.
         
     | 
| 
      
 89 
     | 
    
         
            +
             
     | 
| 
       70 
90 
     | 
    
         
             
                PATHS can include .wandb files, run directories containing .wandb files,
         
     | 
| 
       71 
91 
     | 
    
         
             
                and "wandb" directories containing run directories.
         
     | 
| 
       72 
92 
     | 
    
         |