diff --git a/src/main.py b/src/main.py index 2b49fe5..8bc572d 100644 --- a/src/main.py +++ b/src/main.py @@ -4,8 +4,6 @@ # Create a Taipy App that will output the 7 best movies for a genre -# Taipy Core - backend definition - # Filter function for Task def filtering_genre(initial_dataset: pd.DataFrame, selected_genre): filtered_dataset = initial_dataset[initial_dataset['genres'].str.contains(selected_genre)] @@ -13,61 +11,62 @@ def filtering_genre(initial_dataset: pd.DataFrame, selected_genre): return filtered_data -# Input Data Nodes configuration -initial_dataset_cfg = Config.configure_data_node(id="initial_dataset", - storage_type="csv", - path="data.csv", - scope=Scope.GLOBAL) - -selected_genre_cfg = Config.configure_data_node(id="selected_genre_node", - default_data="ACTION", - scope=Scope.GLOBAL) +# Callback definition +def modify_df(state): + scenario.selected_genre_node.write(state.selected_genre) + tp.submit(scenario) + state.df = scenario.filtered_data.read() -# Output Data Node configuration -filtered_data_cfg = Config.configure_data_node(id="filtered_data", - scope=Scope.GLOBAL) +if __name__ == "__main__": + # Taipy Core - backend definition -# Task configuration -filter_task_cfg = Config.configure_task(id="filter_genre", - function=filtering_genre, - input=[initial_dataset_cfg, selected_genre_cfg], - output=filtered_data_cfg, - skippable=True) + # Input Data Nodes configuration + initial_dataset_cfg = Config.configure_data_node(id="initial_dataset", + storage_type="csv", + path="data/data.csv", + scope=Scope.GLOBAL) -# Pipeline configuration -pipeline_cfg = Config.configure_pipeline(id="pipeline", - task_configs=[filter_task_cfg]) -# Scenario configuration -scenario_cfg = Config.configure_scenario(id="scenario", pipeline_configs=[pipeline_cfg]) + selected_genre_cfg = Config.configure_data_node(id="selected_genre_node", + default_data="ACTION", + scope=Scope.GLOBAL) -# Run of the Taipy Core service -tp.Core().run() + # Output Data Node configuration + filtered_data_cfg = Config.configure_data_node(id="filtered_data", + scope=Scope.GLOBAL) -# Creation of my scenario -scenario = tp.create_scenario(scenario_cfg) + # Task configuration + filter_task_cfg = Config.configure_task(id="filter_genre", + function=filtering_genre, + input=[initial_dataset_cfg, selected_genre_cfg], + output=filtered_data_cfg, + skippable=True) + # Pipeline configuration + pipeline_cfg = Config.configure_pipeline(id="pipeline", + task_configs=[filter_task_cfg]) + # Scenario configuration + scenario_cfg = Config.configure_scenario(id="scenario", pipeline_configs=[pipeline_cfg]) + # Run of the Taipy Core service + tp.Core().run() -# Taipy GUI- front end definition + # Creation of my scenario + scenario = tp.create_scenario(scenario_cfg) -# Callback definition -def modify_df(state): - scenario.selected_genre_node.write(state.selected_genre) - tp.submit(scenario) - state.df = scenario.filtered_data.read() + # Taipy GUI- front end definition -# Get list of genres -list_genres = ['Action', 'Adventure', 'Animation', 'Children', 'Comedy', 'Fantasy', 'IMAX', 'Romance', - 'Sci-FI', 'Western', 'Crime', 'Mystery', 'Drama', 'Horror', 'Thriller', 'Film-Noir', - 'War', 'Musical', 'Documentary'] + # Get list of genres + list_genres = ['Action', 'Adventure', 'Animation', 'Children', 'Comedy', 'Fantasy', 'IMAX', 'Romance', + 'Sci-FI', 'Western', 'Crime', 'Mystery', 'Drama', 'Horror', 'Thriller', 'Film-Noir', + 'War', 'Musical', 'Documentary'] -# Initialization of variables -df = pd.DataFrame(columns=['Title', 'Popularity %']) -selected_genre = None + # Initialization of variables + df = pd.DataFrame(columns=['Title', 'Popularity %']) + selected_genre = None -# movie_genre_app -movie_genre_app = """ + # movie_genre_app + movie_genre_app = """ # Film recommendation ## Choose your favorite genre @@ -75,6 +74,6 @@ def modify_df(state): ## Here are the top 7 picks <|{df}|chart|x=Title|y=Popularity %|type=bar|title=Film Popularity|> -""" -# run the app -Gui(page=movie_genre_app).run() + """ + # run the app + Gui(page=movie_genre_app).run()