import argparse from build_gradio_graph import initialize_config, call_predict, create_gradio_interface if __name__ == "__main__": parser = argparse.ArgumentParser(description="App parameters") parser.add_argument( "-c", "--config_path", type=str, help="The path to the app config file", default="config_prediction_polymers.yaml", required=False, ) args = parser.parse_args() print(f"Loading config from file {args.config_path}") # Get the configuration parameters config, input_cols_order, target_columns, numerical_columns, osium_theme, css_styling, example_inputs = initialize_config( args.config_path ) print("Config initilized successfully") # Create the predict function predict_fn = call_predict(config["inference"], input_cols_order, numerical_columns, target_columns) print("Predict function successfully created") demo = create_gradio_interface( config["input_order"], config["input_mapping"], config["output_order"], config["output_mapping"], example_inputs, config["interface_parameters"]["additional_markdown"], config["interface_parameters"]["size"], osium_theme, css_styling, predict_fn, inverse_design=config["inference"]["inverse_design"], ) demo.launch(server_port=config["webapp"]["server_port"])