Ark
Loading...
Searching...
No Matches
ark.tools.launcher Namespace Reference

Classes

class  NodeExecutor
class  NodeProcessInfo
class  TargetType

Functions

Dict load_launch_file (Path launch_path, Set[Path] included_files)
 ark_launch (str launch_file)
 start (str launch_file)
 main ()

Variables

 app = typer.Typer()

Function Documentation

◆ ark_launch()

ark.tools.launcher.ark_launch ( str launch_file)
Main entry point for the launch script.

Usage:
    python launch_script.py <launch_file.yaml>

Steps:
    1. Parse the provided launch file path from sys.argv.
    2. Recursively load and merge all node configurations (including nested includes).
    3. Create and start each node process using NodeExecutor.
    4. Monitor the running processes, logging any failures or normal terminations.
    5. Shut down gracefully on user interrupt (Ctrl+C).

◆ load_launch_file()

Dict ark.tools.launcher.load_launch_file ( Path launch_path,
Set[Path] included_files )
Recursively load a YAML launch file and return a dictionary of node configurations.
Supports the 'include' key, allowing composition of multiple YAML files.

Args:
    launch_path (Path): The filesystem path to the launch file.
    included_files (Set[Path]): A set of files that have already been included (to prevent loops).

Returns:
    Dict: A dictionary mapping node names to their configuration dictionaries.

Raises:
    ValueError: If there's a circular include or duplicate node name.

◆ main()

ark.tools.launcher.main ( )

◆ start()

ark.tools.launcher.start ( str launch_file)
Start the launcher with the specified launch file.

Args:
    launch_file (str): The path to the launch file.

Variable Documentation

◆ app

ark.tools.launcher.app = typer.Typer()