1+ import sys
2+
13from pydantic import Field , create_model
24
35from libensemble import specs
@@ -62,25 +64,16 @@ class Config:
6264 specs ._EnsembleSpecs .model_config = model_config
6365 platforms .Platform .model_config = model_config
6466
65- specs .SimSpecs .model_fields [ "inputs" ] = FieldInfo . merge_field_infos (
66- specs . SimSpecs . model_fields ["inputs" ], Field (alias = "in" )
67- )
67+ model = specs .SimSpecs .model_fields
68+ model [ "inputs" ] = FieldInfo . merge_field_infos ( model ["inputs" ], Field (alias = "in" ) )
69+ model [ "outputs" ] = FieldInfo . merge_field_infos ( model [ "outputs" ], Field ( alias = "out" ) )
6870
69- specs . SimSpecs . model_fields [ "outputs" ] = FieldInfo . merge_field_infos (
70- specs . SimSpecs . model_fields [ "outputs " ], Field (alias = "out" )
71- )
71+ model = specs . GenSpecs . model_fields
72+ model [ "inputs" ] = FieldInfo . merge_field_infos ( model [ "inputs " ], Field (alias = "in" ) )
73+ model [ "outputs" ] = FieldInfo . merge_field_infos ( model [ "outputs" ], Field ( alias = "out" ) )
7274
73- specs .GenSpecs .model_fields ["inputs" ] = FieldInfo .merge_field_infos (
74- specs .GenSpecs .model_fields ["inputs" ], Field (alias = "in" )
75- )
76-
77- specs .GenSpecs .model_fields ["outputs" ] = FieldInfo .merge_field_infos (
78- specs .GenSpecs .model_fields ["outputs" ], Field (alias = "out" )
79- )
80-
81- specs .AllocSpecs .model_fields ["outputs" ] = FieldInfo .merge_field_infos (
82- specs .AllocSpecs .model_fields ["outputs" ], Field (alias = "out" )
83- )
75+ model = specs .AllocSpecs .model_fields
76+ model ["outputs" ] = FieldInfo .merge_field_infos (model ["outputs" ], Field (alias = "out" ))
8477
8578 specs .SimSpecs .model_rebuild (force = True )
8679 specs .GenSpecs .model_rebuild (force = True )
@@ -90,57 +83,60 @@ class Config:
9083 specs ._EnsembleSpecs .model_rebuild (force = True )
9184 platforms .Platform .model_rebuild (force = True )
9285
93- specs .SimSpecs = create_model (
94- "SimSpecs" ,
95- __base__ = specs .SimSpecs ,
96- __validators__ = {
97- "check_valid_out" : check_valid_out ,
98- "check_valid_in" : check_valid_in ,
99- "simf_set_in_out_from_attrs" : simf_set_in_out_from_attrs ,
100- },
101- )
86+ # the create_model function removes fields for rendering in docs
87+ if "sphinx" not in sys .modules :
88+
89+ specs .SimSpecs = create_model (
90+ "SimSpecs" ,
91+ __base__ = specs .SimSpecs ,
92+ __validators__ = {
93+ "check_valid_out" : check_valid_out ,
94+ "check_valid_in" : check_valid_in ,
95+ "simf_set_in_out_from_attrs" : simf_set_in_out_from_attrs ,
96+ },
97+ )
10298
103- specs .GenSpecs = create_model (
104- "GenSpecs" ,
105- __base__ = specs .GenSpecs ,
106- __validators__ = {
107- "check_valid_out" : check_valid_out ,
108- "check_valid_in" : check_valid_in ,
109- "genf_set_in_out_from_attrs" : genf_set_in_out_from_attrs ,
110- },
111- )
99+ specs .GenSpecs = create_model (
100+ "GenSpecs" ,
101+ __base__ = specs .GenSpecs ,
102+ __validators__ = {
103+ "check_valid_out" : check_valid_out ,
104+ "check_valid_in" : check_valid_in ,
105+ "genf_set_in_out_from_attrs" : genf_set_in_out_from_attrs ,
106+ },
107+ )
112108
113- specs .LibeSpecs = create_model (
114- "LibeSpecs" ,
115- __base__ = specs .LibeSpecs ,
116- __validators__ = {
117- "check_valid_comms_type" : check_valid_comms_type ,
118- "set_platform_specs_to_class" : set_platform_specs_to_class ,
119- "check_input_dir_exists" : check_input_dir_exists ,
120- "check_inputs_exist" : check_inputs_exist ,
121- "check_any_workers_and_disable_rm_if_tcp" : check_any_workers_and_disable_rm_if_tcp ,
122- "enable_save_H_when_every_K" : enable_save_H_when_every_K ,
123- "set_workflow_dir" : set_workflow_dir ,
124- },
125- )
109+ specs .LibeSpecs = create_model (
110+ "LibeSpecs" ,
111+ __base__ = specs .LibeSpecs ,
112+ __validators__ = {
113+ "check_valid_comms_type" : check_valid_comms_type ,
114+ "set_platform_specs_to_class" : set_platform_specs_to_class ,
115+ "check_input_dir_exists" : check_input_dir_exists ,
116+ "check_inputs_exist" : check_inputs_exist ,
117+ "check_any_workers_and_disable_rm_if_tcp" : check_any_workers_and_disable_rm_if_tcp ,
118+ "enable_save_H_when_every_K" : enable_save_H_when_every_K ,
119+ "set_workflow_dir" : set_workflow_dir ,
120+ },
121+ )
126122
127- specs ._EnsembleSpecs = create_model (
128- "_EnsembleSpecs" ,
129- __base__ = specs ._EnsembleSpecs ,
130- __validators__ = {
131- "check_exit_criteria" : check_exit_criteria ,
132- "check_output_fields" : check_output_fields ,
133- "check_H0" : check_H0 ,
134- "check_provided_ufuncs" : check_provided_ufuncs ,
135- },
136- )
123+ specs ._EnsembleSpecs = create_model (
124+ "_EnsembleSpecs" ,
125+ __base__ = specs ._EnsembleSpecs ,
126+ __validators__ = {
127+ "check_exit_criteria" : check_exit_criteria ,
128+ "check_output_fields" : check_output_fields ,
129+ "check_H0" : check_H0 ,
130+ "check_provided_ufuncs" : check_provided_ufuncs ,
131+ },
132+ )
137133
138- platforms .Platform = create_model (
139- "Platform" ,
140- __base__ = platforms .Platform ,
141- __validators__ = {
142- "check_gpu_setting_type" : check_gpu_setting_type ,
143- "check_mpi_runner_type" : check_mpi_runner_type ,
144- "check_logical_cores" : check_logical_cores ,
145- },
146- )
134+ platforms .Platform = create_model (
135+ "Platform" ,
136+ __base__ = platforms .Platform ,
137+ __validators__ = {
138+ "check_gpu_setting_type" : check_gpu_setting_type ,
139+ "check_mpi_runner_type" : check_mpi_runner_type ,
140+ "check_logical_cores" : check_logical_cores ,
141+ },
142+ )
0 commit comments