Skip to content

Latest commit

 

History

History
67 lines (36 loc) · 4.29 KB

File metadata and controls

67 lines (36 loc) · 4.29 KB
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
Loading

CodeBoardingDemoContact

Details

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.

Nubia (Main Application Orchestrator)

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:

Application Initializer

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:

CLI Command Executor

Executes commands directly based on the command-line arguments provided at application startup, bypassing the interactive shell.

Related Classes/Methods:

Interactive Shell Manager

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:

IPython Integration Manager

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: