graph LR
Nubia_Main_Application_Orchestrator_["Nubia (Main Application Orchestrator)"]
Application_Initializer["Application Initializer"]
CLI_Command_Executor["CLI Command Executor"]
Interactive_Shell_Manager["Interactive Shell Manager"]
IPython_Integration_Manager["IPython Integration Manager"]
Nubia_Main_Application_Orchestrator_ -- "invokes" --> Application_Initializer
Nubia_Main_Application_Orchestrator_ -- "dispatches control to" --> CLI_Command_Executor
Nubia_Main_Application_Orchestrator_ -- "dispatches control to" --> Interactive_Shell_Manager
Nubia_Main_Application_Orchestrator_ -- "dispatches control to" --> IPython_Integration_Manager
The Nubia application's core functionality is orchestrated by the Nubia (Main Application Orchestrator), primarily through its run_async method. Upon initiation, the orchestrator first invokes the Application Initializer (_pre_run method) to perform essential setup tasks such as argument parsing, logging configuration, and terminal environment preparation. Following initialization, the Nubia (Main Application Orchestrator) dynamically dispatches control based on the parsed command-line arguments. It can direct execution to the CLI Command Executor (run_cli method) for direct command execution, the Interactive Shell Manager (start_interactive method) for an interactive REPL session, or the IPython Integration Manager (start_ipython method) for seamless integration within an IPython environment. This clear, sequential flow ensures proper setup and flexible execution pathways within the Nubia CLI.
The primary entry point and orchestrator for the Nubia CLI application. It manages the overall execution flow, including pre-run setup, direct CLI command execution, interactive shell mode, and IPython integration.
Related Classes/Methods:
Handles all preliminary setup tasks required before the main application logic begins. This includes configuring logging, parsing global command-line arguments, validating arguments, and setting up the terminal environment.
Related Classes/Methods:
Executes commands directly based on the command-line arguments provided at application startup, bypassing the interactive shell.
Related Classes/Methods:
Manages the interactive shell environment, including setting up the input/output loop, handling user interactions, and integrating features like auto-completion within the REPL.
Related Classes/Methods:
Facilitates the integration of Nubia commands and functionalities within an IPython environment, allowing users to interact with Nubia from an IPython shell.
Related Classes/Methods: