def main()

in src/main.py [0:0]


def main(args: list[str] | None = None):
    parser = build_parser()
    arguments = parser.parse_args(args)
    key = tuple(
        getattr(arguments, dest) for dest in ALL_NESTING
        if hasattr(arguments, dest)
    )
    mapping: dict[tuple[str, ...], Callable] = {
        (RUN_ACTION,): Run(),
        (INIT_VAULT_ACTION,): InitVault(),
        (CREATE_SYSTEM_USER_ACTION,): CreateSystemUser(),
        (CREATE_INDEXES_ACTION,): CreateIndexes(),
        (GENERATE_OPENAPI_ACTION,): GenerateOpenApi(),
        (DUMP_PERMISSIONS_ACTION,): DumpPermissions(),
        (UPDATE_DEPLOYMENT_RESOURCES_ACTION, ): UpdateDeploymentResources()
    }
    func = mapping.get(key) or (lambda **kwargs: _LOG.error('Hello'))
    for dest in ALL_NESTING:
        if hasattr(arguments, dest):
            delattr(arguments, dest)
    from dotenv import load_dotenv
    load_dotenv(verbose=True)
    func(**vars(arguments))