Skip to content

Cli

cli

Command-line interface for equities-classifier.

identifiers = read_identifiers('H:\\EquClass_Test_Input.xlsx') module-attribute

processflow = ProcessFlow(morningstar=True, motleyfool=True) module-attribute

securities = processflow.run(identifiers) module-attribute

main(argv: Sequence[str] | None = None) -> None

Run the command-line interface.

Source code in src/equities_classifier/processflow/cli.py
def main(
    argv: Sequence[str] | None = None,
) -> None:
    """Run the command-line interface."""

    parser = _create_parser()
    args = parser.parse_args(argv)

    # No input/output parameters: start GUI.
    if args.input is None and args.output is None:
        run_gui()
        return

    # Input and output must be specified together.
    if args.input is None or args.output is None:
        parser.error("input and output must be specified together")

    identifiers = read_identifiers(args.input)
    processflow = ProcessFlow(morningstar=args.morningstar, motleyfool=args.motleyfool)
    securities = processflow.run(identifiers)
    write_excel(
        securities,
        args.output,
        classifications=get_classification_output(args.morningstar, args.motleyfool),
        provider_details=True,
    )