Skip to content

cli

flavor.cli

TODO: Add module docstring.

Functions

cli

cli(ctx: Context) -> None

PSPF (Progressive Secure Package Format) Build Tool.

Configure logging via environment variables: - FOUNDATION_LOG_LEVEL: Set log level (trace, debug, info, warning, error) - FOUNDATION_LOG_FILE: Write logs to file - FOUNDATION_SETUP_LOG_LEVEL: Control Foundation's initialization logs

Source code in flavor/cli.py
@click.group(context_settings=dict(help_option_names=["-h", "--help"]))
@click.version_option(
    __version__,
    "-V",
    "--version",
    prog_name="flavor",
    message="%(prog)s version %(version)s",
)
@click.pass_context
def cli(ctx: click.Context) -> None:
    """PSPF (Progressive Secure Package Format) Build Tool.

    Configure logging via environment variables:
    - FOUNDATION_LOG_LEVEL: Set log level (trace, debug, info, warning, error)
    - FOUNDATION_LOG_FILE: Write logs to file
    - FOUNDATION_SETUP_LOG_LEVEL: Control Foundation's initialization logs
    """
    ctx.ensure_object(dict)

    # Skip Foundation setup when running under pytest to avoid conflicts
    if "pytest" not in sys.modules:
        # Initialize Foundation with CLIContext from environment
        cli_ctx = CLIContext.from_env()
        ctx.obj["cli_context"] = cli_ctx
        ctx.obj["log"] = cli_ctx.logger