Coverage for nuremics\core\application.py: 100%
29 statements
« prev ^ index » next coverage.py v7.9.0, created at 2025-06-12 16:54 +0200
« prev ^ index » next coverage.py v7.9.0, created at 2025-06-12 16:54 +0200
1from __future__ import annotations
3import json
4import shutil
5from pathlib import Path
7from .workflow import WorkFlow
9class Application:
10 """Create application."""
12 def __init__(
13 self,
14 app_name:str = None,
15 working_dir: Path = None,
16 workflow: list = None,
17 studies: list = ["Default"],
18 verbose: bool = True,
19 ):
20 # ---------------------- #
21 # Define workflow object #
22 # ---------------------- #
23 self.workflow = WorkFlow(
24 app_name=app_name,
25 working_dir=working_dir,
26 processes=workflow,
27 studies=studies,
28 verbose=verbose,
29 )
31 self.workflow.print_logo()
32 self.workflow.print_application()
34 self.workflow.get_inputs()
35 self.workflow.get_outputs()
37 self.workflow.init_config()
39 self.workflow.print_processes()
41 self.workflow.set_user_params_types()
43 self.workflow.print_io()
45 self.workflow.init_studies()
46 self.workflow.test_studies_modification()
47 self.workflow.test_studies_settings()
48 self.workflow.print_studies()
50 self.workflow.configure_inputs()
51 self.workflow.init_data_tree()
53 self.workflow.init_process_settings()
55 self.workflow.set_inputs()
56 self.workflow.test_inputs_settings()
57 self.workflow.print_inputs_settings()
59 self.workflow.init_paths()
61 def __call__(self):
63 # --------------- #
64 # Launch workflow #
65 # --------------- #
66 self.workflow()