Skip to content

Latest commit

 

History

History
82 lines (46 loc) · 4.81 KB

File metadata and controls

82 lines (46 loc) · 4.81 KB
graph LR
    CLI_Command_Dispatcher["CLI Command Dispatcher"]
    Graph_Environment_Preparer["Graph Environment Preparer"]
    Path_based_Graph_Runner["Path-based Graph Runner"]
    Project_Initializer["Project Initializer"]
    Resource_Downloader["Resource Downloader"]
    Django_CLI_Extender["Django CLI Extender"]
    CLI_Command_Dispatcher -- "invokes" --> Project_Initializer
    CLI_Command_Dispatcher -- "invokes" --> Resource_Downloader
    CLI_Command_Dispatcher -- "invokes" --> Path_based_Graph_Runner
    Graph_Environment_Preparer -- "prepares_for" --> Path_based_Graph_Runner
    Path_based_Graph_Runner -- "depends_on" --> Graph_Environment_Preparer
    Project_Initializer -- "invoked_by" --> CLI_Command_Dispatcher
    Resource_Downloader -- "invoked_by" --> CLI_Command_Dispatcher
    Django_CLI_Extender -- "leverages" --> CLI_Command_Dispatcher
    Django_CLI_Extender -- "leverages" --> Graph_Environment_Preparer
Loading

CodeBoardingDemoContact

Details

The Command Line Interface (CLI) subsystem of Bonobo serves as the primary user interface, enabling graph execution, project setup, and various utility functions. It acts as the entry point for most user-driven operations, aligning with the project's focus on data flow and transformation within an ETL framework.

CLI Command Dispatcher

Serves as the primary entry point for all Bonobo CLI commands. It parses command-line arguments, identifies the requested command, and delegates execution to the appropriate specific command handler. This component embodies the "Orchestrator" pattern for user-driven operations, directing the flow of control based on user input.

Related Classes/Methods:

Graph Environment Preparer

Interprets user input to configure the environment for graph execution. This includes overriding runner configurations and resolving paths to graph definitions, ensuring the ETL pipeline has the correct context before execution. It acts as a "Configuration Management" component for the execution engine.

Related Classes/Methods:

Path-based Graph Runner

Executes a Bonobo graph specified by a file path. It ensures necessary dependencies are installed and orchestrates the actual running of the defined ETL pipeline. This is a core "Execution Engine" component within the CLI, directly responsible for initiating data processing.

Related Classes/Methods:

Project Initializer

Facilitates the creation of new Bonobo projects or components by generating files from templates and setting up directory structures. This supports the "Modularity and Reusability" aspect by providing scaffolding for new ETL projects, enabling developers to quickly set up new pipelines.

Related Classes/Methods:

Resource Downloader

Manages the downloading of external resources, which can serve as data sources for ETL processes. This acts as a specialized "Extractor" utility within the CLI, providing a direct means to acquire data for pipelines.

Related Classes/Methods:

Django CLI Extender

Provides an entry point for Django-specific CLI commands, extending Bonobo's capabilities to integrate with Django projects and execute Django-related Bonobo graphs. This exemplifies the "Plugin/Extension" pattern, showcasing the framework's extensibility.

Related Classes/Methods: