graph LR
CLI_Handler["CLI Handler"]
IPython_Integration["IPython Integration"]
Core_Orchestrator["Core Orchestrator"]
CLI_Handler -- "delegates tasks to" --> Core_Orchestrator
IPython_Integration -- "delegates tasks to" --> Core_Orchestrator
Core_Orchestrator -- "receives commands from" --> CLI_Handler
Core_Orchestrator -- "receives commands from" --> IPython_Integration
The CLI & IPython Orchestrator subsystem encompasses the user-facing interfaces for the tuna project, specifically handling command-line interactions and IPython magic commands. Its core components are found within tuna.cli.py and tuna.magics.py, which then delegate to the central orchestration logic in tuna.main.py. The subsystem is designed with a clear delegation pattern, where both the CLI Handler and IPython Integration components serve as distinct user-facing entry points, interpreting user input and delegating core application logic to the Core Orchestrator for execution. This design ensures a separation of concerns, promoting modularity and reusability of the orchestration layer.
This component serves as the primary command-line interface for the tuna application. It is responsible for parsing command-line arguments, validating user input, and initiating the appropriate profiling or visualization workflows based on the commands provided by the user.
Related Classes/Methods:
This component provides seamless integration with IPython and Jupyter environments. It enables users to interactively profile and visualize data directly within their notebooks or IPython sessions via the %tuna magic command, offering a more dynamic user experience.
Related Classes/Methods:
This is a central component that encapsulates the core logic for initiating and managing the main functionalities of tuna, such as reading profile data, rendering visualizations, and starting the web server. It acts as the execution engine, receiving commands from both the CLI and IPython interfaces.
Related Classes/Methods: