From e871f7ef88208f1acf3abd41f73717ae74f9355c Mon Sep 17 00:00:00 2001 From: Nicola Soranzo Date: Sat, 7 Dec 2024 19:24:26 +0000 Subject: [PATCH] Update pydantic to 2.10.3 Also: - Fix new mypy errors - Rebuild client API schema --- client/src/api/schema/schema.ts | 94 +------------------ .../dependencies/pinned-requirements.txt | 4 +- .../pinned-typecheck-requirements.txt | 4 +- lib/galaxy/schema/schema.py | 2 +- lib/galaxy/schema/workflows.py | 4 +- .../webapp/frontend/src/schema/schema.ts | 35 ------- 6 files changed, 12 insertions(+), 131 deletions(-) diff --git a/client/src/api/schema/schema.ts b/client/src/api/schema/schema.ts index 654d8e77594e..d1ce7e7aaa2f 100644 --- a/client/src/api/schema/schema.ts +++ b/client/src/api/schema/schema.ts @@ -6054,7 +6054,6 @@ export interface components { * Model class * @description The name of the database model class. * @constant - * @enum {string} */ model_class: "History"; /** @@ -6171,7 +6170,6 @@ export interface components { * Model class * @description The name of the database model class. * @constant - * @enum {string} */ model_class: "History"; /** @@ -6423,7 +6421,6 @@ export interface components { * Category * @default broadcast * @constant - * @enum {string} */ category: "broadcast"; /** @@ -6466,7 +6463,6 @@ export interface components { * Category * @default broadcast * @constant - * @enum {string} */ category: "broadcast"; content: components["schemas"]["BroadcastNotificationContent"]; @@ -6515,7 +6511,6 @@ export interface components { /** * Browsable * @constant - * @enum {boolean} */ browsable: true; /** @@ -6586,7 +6581,6 @@ export interface components { /** * Type * @constant - * @enum {string} */ type: "change_datatype"; }; @@ -6597,7 +6591,6 @@ export interface components { /** * Type * @constant - * @enum {string} */ type: "change_dbkey"; }; @@ -7276,7 +7269,6 @@ export interface components { * Model class * @description The name of the database model class. * @constant - * @enum {string} */ model_class: "Quota"; /** @@ -7368,7 +7360,6 @@ export interface components { * Model class * @description The name of the database model class. * @constant - * @enum {string} */ model_class: "User"; /** @@ -7798,7 +7789,6 @@ export interface components { * Model class * @description The name of the database model class. * @constant - * @enum {string} */ model_class: "DatasetCollectionElement"; /** @@ -7849,7 +7839,6 @@ export interface components { * Model class * @description The name of the database model class. * @constant - * @enum {string} */ model_class: "DatasetCollection"; /** @@ -7955,7 +7944,6 @@ export interface components { * Model class * @description The name of the database model class. * @constant - * @enum {string} */ model_class: "HistoryDatasetCollectionAssociation"; tags: components["schemas"]["TagCollection"]; @@ -8018,7 +8006,6 @@ export interface components { * Model class * @description The name of the database model class. * @constant - * @enum {string} */ model_class: "DatasetHash"; }; @@ -8320,7 +8307,6 @@ export interface components { * Model class * @description The name of the database model class. * @constant - * @enum {string} */ model_class: "DefaultQuotaAssociation"; /** @@ -8576,7 +8562,7 @@ export interface components { }; /** DisplayApplication */ DisplayApplication: { - /** Filename */ + /** Filename */ filename_: string; /** Id */ id: string; @@ -8735,7 +8721,6 @@ export interface components { * Source * @description The source of this dataset, which in the case of the model can only be `hdca`. * @constant - * @enum {string} */ src: "hdca"; }; @@ -8822,7 +8807,6 @@ export interface components { * Model class * @description The name of the database model class. * @constant - * @enum {string} */ model_class: "Job"; /** @@ -9057,7 +9041,6 @@ export interface components { }; /** * FavoriteObjectType - * @constant * @enum {string} */ FavoriteObjectType: "tools"; @@ -9483,7 +9466,6 @@ export interface components { /** * Src * @constant - * @enum {string} */ src: "ftp_import"; /** Tags */ @@ -9527,7 +9509,6 @@ export interface components { * Model class * @description The name of the database model class. * @constant - * @enum {string} */ model_class: "Group"; /** @@ -9547,7 +9528,6 @@ export interface components { * Model class * @description The name of the database model class. * @constant - * @enum {string} */ model_class: "GroupQuotaAssociation"; }; @@ -9565,7 +9545,6 @@ export interface components { * Model class * @description The name of the database model class. * @constant - * @enum {string} */ model_class: "Group"; /** name of the group */ @@ -9904,7 +9883,6 @@ export interface components { * @description TODO * @default file * @constant - * @enum {string} */ api_type: "file"; /** @@ -10011,7 +9989,6 @@ export interface components { * History Content Type * @description This is always `dataset` for datasets. * @constant - * @enum {string} */ history_content_type: "dataset"; /** @@ -10048,7 +10025,6 @@ export interface components { * Model class * @description The name of the database model class. * @constant - * @enum {string} */ model_class: "HistoryDatasetAssociation"; /** @@ -10097,7 +10073,6 @@ export interface components { * @description This is always `file` for datasets. * @default file * @constant - * @enum {string} */ type: "file"; /** @@ -10146,7 +10121,6 @@ export interface components { /** * Accessible * @constant - * @enum {boolean} */ accessible: false; /** Copied From Ldda Id */ @@ -10170,7 +10144,6 @@ export interface components { * History Content Type * @description This is always `dataset` for datasets. * @constant - * @enum {string} */ history_content_type: "dataset"; /** @@ -10250,7 +10223,6 @@ export interface components { * Model class * @description The name of the database model class. * @constant - * @enum {string} */ model_class: "HistoryDatasetAssociation"; /** Purged */ @@ -10308,7 +10280,6 @@ export interface components { * History Content Type * @description This is always `dataset` for datasets. * @constant - * @enum {string} */ history_content_type: "dataset"; /** @@ -10555,7 +10526,6 @@ export interface components { * History Content Type * @description This is always `dataset_collection` for dataset collections. * @constant - * @enum {string} */ history_content_type: "dataset_collection"; /** @@ -10592,7 +10562,6 @@ export interface components { * Model class * @description The name of the database model class. * @constant - * @enum {string} */ model_class: "HistoryDatasetCollectionAssociation"; /** @@ -10621,7 +10590,6 @@ export interface components { * @description This is always `collection` for dataset collections. * @default collection * @constant - * @enum {string} */ type: "collection"; /** @@ -10695,7 +10663,6 @@ export interface components { * History Content Type * @description This is always `dataset_collection` for dataset collections. * @constant - * @enum {string} */ history_content_type: "dataset_collection"; /** @@ -10727,7 +10694,6 @@ export interface components { * Model class * @description The name of the database model class. * @constant - * @enum {string} */ model_class: "HistoryDatasetCollectionAssociation"; /** @@ -10751,7 +10717,6 @@ export interface components { * @description This is always `collection` for dataset collections. * @default collection * @constant - * @enum {string} */ type: "collection"; /** @@ -10940,7 +10905,6 @@ export interface components { /** * Type * @constant - * @enum {string} */ type: "hdca"; }; @@ -11378,7 +11342,6 @@ export interface components { * Model class * @description The name of the database model class. * @constant - * @enum {string} */ model_class: "History"; /** @@ -11493,7 +11456,6 @@ export interface components { * Model class * @description The name of the database model class. * @constant - * @enum {string} */ model_class: "History"; /** @@ -11828,7 +11790,6 @@ export interface components { * Model class * @description The name of the database model class. * @constant - * @enum {string} */ model_class: "ToolShedRepository"; /** @@ -12100,7 +12061,6 @@ export interface components { /** * Model * @constant - * @enum {string} */ model: "WorkflowInvocation"; /** @@ -12140,7 +12100,6 @@ export interface components { * Source * @description Source model of the output dataset. * @constant - * @enum {string} */ src: "hda"; /** @@ -12161,7 +12120,6 @@ export interface components { * Source * @description Source model of the output dataset collection. * @constant - * @enum {string} */ src: "hdca"; /** @@ -12236,7 +12194,6 @@ export interface components { * Model class * @description The name of the database model class. * @constant - * @enum {string} */ model_class: "Report"; /** @@ -12244,7 +12201,6 @@ export interface components { * @description Format of the invocation report. * @default markdown * @constant - * @enum {string} */ render_format: "markdown"; /** @@ -12317,7 +12273,6 @@ export interface components { * Model class * @description The name of the database model class. * @constant - * @enum {string} */ model_class: "WorkflowInvocationStep"; /** @@ -12383,7 +12338,6 @@ export interface components { * @description The source model of the output. * @default hdca * @constant - * @enum {string} */ src: "hdca"; }; @@ -12398,7 +12352,6 @@ export interface components { /** * Model * @constant - * @enum {string} */ model: "ImplicitCollectionJobs"; /** @@ -12425,7 +12378,6 @@ export interface components { /** * Model * @constant - * @enum {string} */ model: "Job"; /** @@ -12452,7 +12404,6 @@ export interface components { /** * Model * @constant - * @enum {string} */ model: "WorkflowInvocationStep"; /** @@ -12481,7 +12432,6 @@ export interface components { * @description The source model of the output. * @default hda * @constant - * @enum {string} */ src: "hda"; /** @@ -12622,9 +12572,8 @@ export interface components { /** * Replacement Parameters * @description Class of parameters mostly used for string replacement in PJAs. In best practice workflows, these should be replaced with input parameters - * @default {} */ - replacement_params: Record | null; + replacement_params?: Record | null; /** * Require Exact Tool Versions * @description If true, exact tool versions are required for workflow invocation. @@ -12634,9 +12583,8 @@ export interface components { /** * Resource Parameters * @description If a workflow_resource_params_file file is defined and the target workflow is configured to consumer resource parameters, they can be specified with this parameter. See https://github.com/galaxyproject/galaxy/pull/4830 for more information. - * @default {} */ - resource_params: Record | null; + resource_params?: Record | null; /** * Scheduler * @description Scheduler to use for workflow invocation. @@ -12740,7 +12688,6 @@ export interface components { * Model class * @description The name of the database model class. * @constant - * @enum {string} */ model_class: "Job"; /** @@ -12923,7 +12870,6 @@ export interface components { * Model class * @description The name of the database model class. * @constant - * @enum {string} */ model_class: "Job"; /** @@ -13191,7 +13137,6 @@ export interface components { * Model class * @description The name of the database model class. * @constant - * @enum {string} */ model_class: "Job"; /** @@ -13387,7 +13332,6 @@ export interface components { * Model class * @description The name of the database model class. * @constant - * @enum {string} */ model_class: "LibraryDatasetDatasetAssociation"; /** Name */ @@ -13671,7 +13615,6 @@ export interface components { * Model class * @description The name of the database model class. * @constant - * @enum {string} */ model_class: "LibraryDataset"; /** Name */ @@ -13716,7 +13659,6 @@ export interface components { * Model class * @description The name of the database model class. * @constant - * @enum {string} */ model_class: "LibraryFolder"; /** Name */ @@ -13857,7 +13799,6 @@ export interface components { * Model class * @description The name of the database model class. * @constant - * @enum {string} */ model_class: "LibraryFolder"; /** @@ -13905,7 +13846,6 @@ export interface components { }; /** * LibraryFolderPermissionAction - * @constant * @enum {string} */ LibraryFolderPermissionAction: "set_permissions"; @@ -13964,7 +13904,6 @@ export interface components { * Model class * @description The name of the database model class. * @constant - * @enum {string} */ model_class: "Library"; /** @@ -14075,7 +14014,6 @@ export interface components { * Model class * @description The name of the database model class. * @constant - * @enum {string} */ model_class: "Library"; /** @@ -14209,7 +14147,6 @@ export interface components { * @description These notification categories cannot be opt-out by the user. * * The user will always receive notifications from these categories. - * @constant * @enum {string} */ MandatoryNotificationCategory: "broadcast"; @@ -14839,7 +14776,6 @@ export interface components { * Model class * @description The name of the database model class. * @constant - * @enum {string} */ model_class: "Page"; /** @@ -14916,7 +14852,6 @@ export interface components { * Model class * @description The name of the database model class. * @constant - * @enum {string} */ model_class: "Page"; /** @@ -15316,7 +15251,6 @@ export interface components { * Model class * @description The name of the database model class. * @constant - * @enum {string} */ model_class: "Quota"; /** @@ -15369,7 +15303,6 @@ export interface components { * Model class * @description The name of the database model class. * @constant - * @enum {string} */ model_class: "Quota"; /** @@ -15711,7 +15644,6 @@ export interface components { * Model class * @description The name of the database model class. * @constant - * @enum {string} */ model_class: "Role"; /** @@ -16244,7 +16176,6 @@ export interface components { * Model class * @description The name of the database model class. * @constant - * @enum {string} */ model_class: "Job"; /** @@ -16480,7 +16411,6 @@ export interface components { * Model class * @description The name of the database model class. * @constant - * @enum {string} */ model_class: "StoredWorkflow"; /** @@ -16687,7 +16617,6 @@ export interface components { /** * Type * @constant - * @enum {string} */ type: "boolean"; }; @@ -16707,7 +16636,6 @@ export interface components { /** * Type * @constant - * @enum {string} */ type: "integer"; }; @@ -16724,7 +16652,6 @@ export interface components { /** * Type * @constant - * @enum {string} */ type: "path_component"; }; @@ -16744,7 +16671,6 @@ export interface components { /** * Type * @constant - * @enum {string} */ type: "string"; }; @@ -17664,7 +17590,6 @@ export interface components { * Model class * @description The name of the database model class. * @constant - * @enum {string} */ model_class: "User"; /** @@ -17803,7 +17728,6 @@ export interface components { * Model class * @description The name of the database model class. * @constant - * @enum {string} */ model_class: "UserQuotaAssociation"; /** @@ -17974,7 +17898,6 @@ export interface components { * Model class * @description The name of the database model class. * @constant - * @enum {string} */ model_class: "VisualizationRevision"; /** @@ -18021,7 +17944,6 @@ export interface components { * Model class * @description The name of the database model class. * @constant - * @enum {string} */ model_class: "Visualization"; /** @@ -18224,7 +18146,6 @@ export interface components { * Model class * @description The name of the database model class. * @constant - * @enum {string} */ model_class: "WorkflowInvocation"; /** @@ -18293,7 +18214,6 @@ export interface components { * Model class * @description The name of the database model class. * @constant - * @enum {string} */ model_class: "WorkflowInvocation"; /** @@ -18368,7 +18288,6 @@ export interface components { * @description This API yields a particular workflow instance, newer workflows belonging to the same storedworkflow may have different state. * @default true * @constant - * @enum {boolean} */ instance: true; /** @@ -18381,7 +18300,6 @@ export interface components { * @description Indicates if legacy parameters are already normalized to be indexed by the order_index and are specified as a dictionary per step. Legacy-style parameters could previously be specified as one parameter per step or by tool ID. * @default true * @constant - * @enum {boolean} */ parameters_normalized: true; /** @@ -18402,15 +18320,13 @@ export interface components { /** * Replacement Parameters * @description Class of parameters mostly used for string replacement in PJAs. In best practice workflows, these should be replaced with input parameters - * @default {} */ - replacement_params: Record | null; + replacement_params?: Record | null; /** * Resource Parameters * @description If a workflow_resource_params_file file is defined and the target workflow is configured to consumer resource parameters, they can be specified with this parameter. See https://github.com/galaxyproject/galaxy/pull/4830 for more information. - * @default {} */ - resource_params: Record | null; + resource_params?: Record | null; /** * Use cached job * @description Indicated whether to use a cached job for workflow invocation. diff --git a/lib/galaxy/dependencies/pinned-requirements.txt b/lib/galaxy/dependencies/pinned-requirements.txt index e611624da1c9..227fc7748005 100644 --- a/lib/galaxy/dependencies/pinned-requirements.txt +++ b/lib/galaxy/dependencies/pinned-requirements.txt @@ -136,8 +136,8 @@ psutil==6.1.0 pulsar-galaxy-lib==0.15.6 pycparser==2.22 pycryptodome==3.21.0 -pydantic==2.9.2 -pydantic-core==2.23.4 +pydantic==2.10.3 +pydantic-core==2.27.1 pydantic-tes==0.1.5 pydot==2.0.0 pyeventsystem==0.1.0 diff --git a/lib/galaxy/dependencies/pinned-typecheck-requirements.txt b/lib/galaxy/dependencies/pinned-typecheck-requirements.txt index ad5c1328d2c8..d8648d07dd2c 100644 --- a/lib/galaxy/dependencies/pinned-typecheck-requirements.txt +++ b/lib/galaxy/dependencies/pinned-typecheck-requirements.txt @@ -10,8 +10,8 @@ mypy==1.13.0 mypy-boto3-s3==1.35.61 mypy-extensions==1.0.0 pycparser==2.22 ; platform_python_implementation != 'PyPy' -pydantic==2.9.2 -pydantic-core==2.23.4 +pydantic==2.10.3 +pydantic-core==2.27.1 tomli==2.1.0 ; python_full_version < '3.11' types-awscrt==0.23.0 types-bleach==6.1.0.20240331 diff --git a/lib/galaxy/schema/schema.py b/lib/galaxy/schema/schema.py index fe8d280f7515..e33053fed0d0 100644 --- a/lib/galaxy/schema/schema.py +++ b/lib/galaxy/schema/schema.py @@ -233,7 +233,7 @@ class DatasetCollectionPopulatedState(str, Enum): ), ] -ElementsField = Field( +ElementsField: List["DCESummary"] = Field( [], title="Elements", description="The summary information of each of the elements inside the dataset collection.", diff --git a/lib/galaxy/schema/workflows.py b/lib/galaxy/schema/workflows.py index 960e2dc3e978..fbe447108161 100644 --- a/lib/galaxy/schema/workflows.py +++ b/lib/galaxy/schema/workflows.py @@ -44,7 +44,7 @@ STEP_PARAMETERS_TITLE = "Legacy Step Parameters" STEP_PARAMETERS_DESCRIPTION = "Parameters specified per-step for the workflow invocation, this is legacy and you should generally use inputs and only specify the formal parameters of a workflow instead." ReplacementParametersField = Field( - {}, + None, title="Replacement Parameters", description="Class of parameters mostly used for string replacement in PJAs. In best practice workflows, these should be replaced with input parameters", ) @@ -69,7 +69,7 @@ description="The ID of the object store that should be used to store the marked output datasets of this workflow - Galaxy's job configuration may override this in some cases but this workflow preference will override tool and user preferences.", ) ResourceParametersField = Field( - {}, + None, title="Resource Parameters", description="If a workflow_resource_params_file file is defined and the target workflow is configured to consumer resource parameters, they can be specified with this parameter. See https://github.com/galaxyproject/galaxy/pull/4830 for more information.", ) diff --git a/lib/tool_shed/webapp/frontend/src/schema/schema.ts b/lib/tool_shed/webapp/frontend/src/schema/schema.ts index 14aab45a3c36..efde945d0914 100644 --- a/lib/tool_shed/webapp/frontend/src/schema/schema.ts +++ b/lib/tool_shed/webapp/frontend/src/schema/schema.ts @@ -790,7 +790,6 @@ export interface components { * Parameter Type * @default gx_baseurl * @constant - * @enum {string} */ parameter_type: "gx_baseurl" } @@ -832,7 +831,6 @@ export interface components { * Parameter Type * @default gx_boolean * @constant - * @enum {string} */ parameter_type: "gx_boolean" /** Truevalue */ @@ -915,7 +913,6 @@ export interface components { * Parameter Type * @default gx_color * @constant - * @enum {string} */ parameter_type: "gx_color" /** Value */ @@ -950,7 +947,6 @@ export interface components { * Parameter Type * @default gx_conditional * @constant - * @enum {string} */ parameter_type: "gx_conditional" /** Test Parameter */ @@ -1042,7 +1038,6 @@ export interface components { * Parameter Type * @default cwl_boolean * @constant - * @enum {string} */ parameter_type: "cwl_boolean" } @@ -1075,7 +1070,6 @@ export interface components { * Parameter Type * @default cwl_directory * @constant - * @enum {string} */ parameter_type: "cwl_directory" } @@ -1108,7 +1102,6 @@ export interface components { * Parameter Type * @default cwl_file * @constant - * @enum {string} */ parameter_type: "cwl_file" } @@ -1120,7 +1113,6 @@ export interface components { * Parameter Type * @default cwl_float * @constant - * @enum {string} */ parameter_type: "cwl_float" } @@ -1132,7 +1124,6 @@ export interface components { * Parameter Type * @default cwl_integer * @constant - * @enum {string} */ parameter_type: "cwl_integer" } @@ -1144,7 +1135,6 @@ export interface components { * Parameter Type * @default cwl_null * @constant - * @enum {string} */ parameter_type: "cwl_null" } @@ -1156,7 +1146,6 @@ export interface components { * Parameter Type * @default cwl_string * @constant - * @enum {string} */ parameter_type: "cwl_string" } @@ -1168,7 +1157,6 @@ export interface components { * Parameter Type * @default cwl_union * @constant - * @enum {string} */ parameter_type: "cwl_union" /** Parameters */ @@ -1221,7 +1209,6 @@ export interface components { * Parameter Type * @default gx_data_collection * @constant - * @enum {string} */ parameter_type: "gx_data_collection" /** Value */ @@ -1258,7 +1245,6 @@ export interface components { * Parameter Type * @default gx_data_column * @constant - * @enum {string} */ parameter_type: "gx_data_column" } @@ -1307,7 +1293,6 @@ export interface components { * Parameter Type * @default gx_data * @constant - * @enum {string} */ parameter_type: "gx_data" } @@ -1383,7 +1368,6 @@ export interface components { * Parameter Type * @default gx_directory_uri * @constant - * @enum {string} */ parameter_type: "gx_directory_uri" /** @@ -1446,7 +1430,6 @@ export interface components { * Parameter Type * @default gx_drill_down * @constant - * @enum {string} */ parameter_type: "gx_drill_down" } @@ -1468,7 +1451,6 @@ export interface components { * Type * @default empty_field * @constant - * @enum {string} */ type: "empty_field" } @@ -1497,7 +1479,6 @@ export interface components { * Type * @default expression * @constant - * @enum {string} */ type: "expression" } @@ -1515,7 +1496,6 @@ export interface components { /** * Discover Via * @constant - * @enum {string} */ discover_via: "pattern" /** Format */ @@ -1572,7 +1552,6 @@ export interface components { * Parameter Type * @default gx_float * @constant - * @enum {string} */ parameter_type: "gx_float" /** @@ -1614,7 +1593,6 @@ export interface components { * Parameter Type * @default gx_genomebuild * @constant - * @enum {string} */ parameter_type: "gx_genomebuild" } @@ -1649,7 +1627,6 @@ export interface components { * Parameter Type * @default gx_group_tag * @constant - * @enum {string} */ parameter_type: "gx_group_tag" } @@ -1692,7 +1669,6 @@ export interface components { * Parameter Type * @default gx_hidden * @constant - * @enum {string} */ parameter_type: "gx_hidden" /** @@ -1774,7 +1750,6 @@ export interface components { * Type * @default in_range * @constant - * @enum {string} */ type: "in_range" } @@ -1813,7 +1788,6 @@ export interface components { * Parameter Type * @default gx_integer * @constant - * @enum {string} */ parameter_type: "gx_integer" /** @@ -1855,7 +1829,6 @@ export interface components { * Type * @default length * @constant - * @enum {string} */ type: "length" } @@ -1884,7 +1857,6 @@ export interface components { * Type * @default no_options * @constant - * @enum {string} */ type: "no_options" } @@ -1992,7 +1964,6 @@ export interface components { * Type * @default regex * @constant - * @enum {string} */ type: "regex" } @@ -2029,7 +2000,6 @@ export interface components { * Parameter Type * @default gx_repeat * @constant - * @enum {string} */ parameter_type: "gx_repeat" /** Parameters */ @@ -2347,7 +2317,6 @@ export interface components { * Parameter Type * @default gx_rules * @constant - * @enum {string} */ parameter_type: "gx_rules" } @@ -2380,7 +2349,6 @@ export interface components { * Parameter Type * @default gx_section * @constant - * @enum {string} */ parameter_type: "gx_section" /** Parameters */ @@ -2447,7 +2415,6 @@ export interface components { * Parameter Type * @default gx_select * @constant - * @enum {string} */ parameter_type: "gx_select" /** Validators */ @@ -2561,7 +2528,6 @@ export interface components { * Parameter Type * @default gx_text * @constant - * @enum {string} */ parameter_type: "gx_text" /** @@ -2777,7 +2743,6 @@ export interface components { /** * Discover Via * @constant - * @enum {string} */ discover_via: "tool_provided_metadata" /** Format */