def run(api_key, **kwargs): utils.validate_workspace_input(kwargs) del_if_value_is_none(kwargs) jsonify_dicts(kwargs) command = RunCommand(api_key=api_key) command.execute(**kwargs)
def create_job(ctx, api_key, options_file, datasets=None, **kwargs): kwargs["tags"] = validate_comma_split_option(kwargs.pop("tags_comma"), kwargs.pop("tags")) del_if_value_is_none(kwargs) jsonify_dicts(kwargs) if datasets: values = [] for value in datasets: name, _, ref = value.partition("@") if not (name and ref): raise click.UsageError( "Dataset '%s' must have an @ (ex: images@dsr8k5qzn401lb5:klfoyy9)" % value) dataset = {"id": ref, "name": name} if ":" not in ref: dataset["output"] = True values.append(dataset) kwargs["datasets"] = values command = jobs_commands.CreateJobCommand( api_key=api_key, workspace_handler=get_workspace_handler()) job_handle = command.execute(kwargs) if job_handle is not None: ctx.invoke(list_logs, job_id=job_handle, line=1, limit=100, follow=True, api_key=api_key)
def create_and_start_multi_node(ctx, api_key, show_logs, tensorboard, tensorboard_set, options_file, **kwargs): kwargs["tags"] = validate_comma_split_option(kwargs.pop("tags_comma"), kwargs.pop("tags")) add_to_tensorboard = parse_tensorboard_options(tensorboard, tensorboard_set) validators.validate_multi_node(kwargs) common.del_if_value_is_none(kwargs) experiment_type = kwargs.get('experiment_type_id') command_class = MULTI_NODE_RUN_EXPERIMENT_COMMANDS.get(experiment_type) command = command_class( api_key=api_key, workspace_handler=get_workspace_handler(api_key), ) experiment_id = command.execute(kwargs, add_to_tensorboard=add_to_tensorboard) if experiment_id and show_logs: ctx.invoke(list_logs, experiment_id=experiment_id, line=1, limit=100, follow=True, api_key=api_key)
def create_single_node(api_key, **kwargs): utils.validate_workspace_input(kwargs) kwargs["experimentTypeId"] = constants.ExperimentType.SINGLE_NODE del_if_value_is_none(kwargs) experiments_api = client.API(config.CONFIG_EXPERIMENTS_HOST, api_key=api_key) command = experiments_commands.CreateExperimentCommand(api=experiments_api) command.execute(kwargs)
def get_deployments_list(api_key, options_file, **filters): del_if_value_is_none(filters) command = deployments_commands.ListDeploymentsCommand(api_key=api_key) try: command.execute(**filters) except exceptions.ApplicationError as e: clilogger.CliLogger().error(e)
def create_and_start_hyperparameter(api_key, **hyperparameter): common.del_if_value_is_none(hyperparameter) hyperparameters_api = client.API(config.CONFIG_EXPERIMENTS_HOST, api_key=api_key) command = hyperparameters_commands.CreateAndStartHyperparameterCommand( api=hyperparameters_api) command.execute(hyperparameter)
def create_and_start_multi_node(ctx, api_key, show_logs, **kwargs): utils.validate_workspace_input(kwargs) del_if_value_is_none(kwargs) experiments_api = client.API(config.CONFIG_EXPERIMENTS_HOST, api_key=api_key) command = experiments_commands.CreateAndStartExperimentCommand(api=experiments_api) experiment = command.execute(kwargs) if experiment and show_logs: ctx.invoke(list_logs, experiment_id=experiment["handle"], line=0, limit=100, follow=True, api_key=api_key)
def create_deployment(api_key, options_file, **kwargs): cliutils.validate_auth_options(kwargs) kwargs["tags"] = validate_comma_split_option(kwargs.pop("tags_comma"), kwargs.pop("tags")) del_if_value_is_none(kwargs) command = deployments_commands.CreateDeploymentCommand( api_key=api_key, workspace_handler=get_workspace_handler(api_key)) command.execute(**kwargs)
def create_job(ctx, api_key, **kwargs): utils.validate_workspace_input(kwargs) del_if_value_is_none(kwargs) jsonify_dicts(kwargs) command = jobs_commands.CreateJobCommand(api_key=api_key, workspace_handler=get_workspace_handler()) job = command.execute(kwargs) if job is not None: ctx.invoke(list_logs, job_id=job["handle"], line=0, limit=100, follow=True, api_key=api_key)
def create_and_start_hyperparameter(api_key, **hyperparameter): utils.validate_workspace_input(hyperparameter) common.del_if_value_is_none(hyperparameter, del_all_falsy=True) command = hyperparameters_commands.CreateAndStartHyperparameterCommand( api_key=api_key, workspace_handler=get_workspace_handler(api_key), ) command.execute(hyperparameter)
def create_single_node(api_key, **kwargs): utils.validate_workspace_input(kwargs) common.del_if_value_is_none(kwargs, del_all_falsy=True) command = experiments_commands.CreateSingleNodeExperimentCommand( api_key=api_key, workspace_handler=get_workspace_handler(api_key), ) command.execute(kwargs)
def get_deployments_list(api_key=None, **filters): del_if_value_is_none(filters) deployment_client = get_deployment_client(api_key) command = deployments_commands.ListDeploymentsCommand( deployment_client=deployment_client) try: command.execute(filters=filters) except exceptions.ApplicationError as e: logger.Logger().error(e)
def list_machines(api_key, params, options_file, **kwargs): del_if_value_is_none(kwargs) params = params or {} kwargs = kwargs or {} validate_mutually_exclusive(params.values(), kwargs.values(), "You can use either --params dictionary or single filter arguments") command = machines_commands.ListMachinesCommand(api_key=api_key, logger=clilogger.CliLogger()) filters = params or kwargs command.execute(**filters)
def create_job(ctx, api_key, options_file, **kwargs): kwargs["tags"] = validate_comma_split_option(kwargs.pop("tags_comma"), kwargs.pop("tags")) del_if_value_is_none(kwargs) jsonify_dicts(kwargs) command = jobs_commands.CreateJobCommand(api_key=api_key, workspace_handler=get_workspace_handler()) job_handle = command.execute(kwargs) if job_handle is not None: ctx.invoke(list_logs, job_id=job_handle, line=1, limit=100, follow=True, api_key=api_key)
def create_single_node(api_key, tensorboard, tensorboard_set, options_file, **kwargs): kwargs["tags"] = validate_comma_split_option(kwargs.pop("tags_comma"), kwargs.pop("tags")) add_to_tensorboard = parse_tensorboard_options(tensorboard, tensorboard_set) common.del_if_value_is_none(kwargs) command = experiments_commands.CreateSingleNodeExperimentCommand( api_key=api_key, workspace_handler=get_workspace_handler(api_key), ) command.execute(kwargs, add_to_tensorboard=add_to_tensorboard)
def list_machines(api_key, params, **kwargs): del_if_value_is_none(kwargs) params = params or {} kwargs = kwargs or {} validate_mutually_exclusive(params.values(), kwargs.values(), "You can use either --params dictionary or single filter arguments") machines_api = http_client.API(config.CONFIG_HOST, api_key=api_key) command = machines_commands.ListMachinesCommand(api=machines_api) filters = params or kwargs command.execute(filters=filters)
def create_and_start_single_node(ctx, api_key, show_logs, **kwargs): utils.validate_workspace_input(kwargs) common.del_if_value_is_none(kwargs, del_all_falsy=True) command = experiments_commands.CreateAndStartSingleNodeExperimentCommand( api_key=api_key, workspace_handler=get_workspace_handler(api_key), ) experiment = command.execute(kwargs) if experiment and show_logs: ctx.invoke(list_logs, experiment_id=experiment["handle"], line=0, limit=100, follow=True, api_key=api_key)
def create_multi_node(api_key, tensorboard, tensorboard_set, options_file, **kwargs): kwargs["tags"] = validate_comma_split_option(kwargs.pop("tags_comma"), kwargs.pop("tags")) add_to_tensorboard = parse_tensorboard_options(tensorboard, tensorboard_set) validators.validate_multi_node(kwargs) common.del_if_value_is_none(kwargs) experiment_type = kwargs.get('experiment_type_id') command_class = MULTI_NODE_CREATE_EXPERIMENT_COMMANDS.get(experiment_type) command = command_class( api_key=api_key, workspace_handler=get_workspace_handler(api_key), ) command.execute(kwargs, add_to_tensorboard=add_to_tensorboard)
def create_and_start_single_node(ctx, api_key, show_logs, tensorboard, tensorboard_set, options_file, **kwargs): kwargs["tags"] = validate_comma_split_option(kwargs.pop("tags_comma"), kwargs.pop("tags")) add_to_tensorboard = parse_tensorboard_options(tensorboard, tensorboard_set) common.del_if_value_is_none(kwargs) command = experiments_commands.CreateAndStartSingleNodeExperimentCommand( api_key=api_key, workspace_handler=get_workspace_handler(api_key), ) experiment_id = command.execute(kwargs, add_to_tensorboard=add_to_tensorboard) if experiment_id and show_logs: ctx.invoke(list_logs, experiment_id=experiment_id, line=1, limit=100, follow=True, api_key=api_key)
def accept_create(self): project = self.questions.get_json() api_key = project.pop("api_key", None) common.del_if_value_is_none(project) command = self.command_cls(api_key=api_key) self.logger.debug("Executing command...") try: command.execute(project) except Exception as e: self.logger.error(str(e)) self.logger.debug("Command executed...")
def accept_create(self): project = self.questions.get_json() api_key = project.pop("api_key", None) common.del_if_value_is_none(project) projects_api = client.API(config.CONFIG_HOST, api_key=api_key) command = self.command_cls(api=projects_api, logger_=self.logger) self.logger.debug("Executing command...") try: command.execute(project) except Exception as e: self.logger.error(str(e)) self.logger.debug("Command executed...")
def create_machine(api_key, options_file, **kwargs): kwargs["tags"] = validate_comma_split_option(kwargs.pop("tags_comma"), kwargs.pop("tags")) del_if_value_is_none(kwargs) assign_public_ip = kwargs.get("assign_public_ip") dynamic_public_ip = kwargs.get("dynamic_public_ip") validate_mutually_exclusive([assign_public_ip], [dynamic_public_ip], "--assignPublicIp cannot be used with --dynamicPublicIp") user_id = kwargs.get("user_id") email = kwargs.get("email") password = kwargs.get("password") first_name = kwargs.get("first_name") last_name = kwargs.get("last_name") validate_mutually_exclusive([user_id], [email, password, first_name, last_name], "--userId is mutually exclusive with --email, --password, --firstName and --lastName") command = machines_commands.CreateMachineCommand(api_key=api_key, logger=clilogger.CliLogger()) command.execute(kwargs)
def create_machine(api_key, **kwargs): del_if_value_is_none(kwargs) assign_public_ip = kwargs.get("assignPublicIp") dynamic_public_ip = kwargs.get("dynamicPublicIp") validate_mutually_exclusive([assign_public_ip], [dynamic_public_ip], "--assignPublicIp cannot be used with --dynamicPublicIp") team_id = kwargs.get("teamId") email = kwargs.get("email") password = kwargs.get("password") first_name = kwargs.get("firstName") last_name = kwargs.get("lastName") validate_mutually_exclusive([team_id], [email, password, first_name, last_name], "--userId is mutually exclusive with --email, --password, --firstName and --lastName") machines_api = http_client.API(config.CONFIG_HOST, api_key=api_key) command = machines_commands.CreateMachineCommand(api=machines_api) command.execute(kwargs)
def update_deployment(deployment_id, api_key, options_file, **kwargs): del_if_value_is_none(kwargs) command = deployments_commands.UpdateDeploymentCommand( api_key=api_key, workspace_handler=get_workspace_handler(api_key)) command.execute(deployment_id, **kwargs)
def update_machine(machine_id, api_key, **kwargs): del_if_value_is_none(kwargs) machines_api = http_client.API(config.CONFIG_HOST, api_key=api_key) command = machines_commands.UpdateMachineCommand(api=machines_api) command.execute(machine_id, kwargs)
def list_jobs(api_key, options_file, **filters): del_if_value_is_none(filters) command = jobs_commands.ListJobsCommand(api_key=api_key) command.execute(**filters)
def create_deployment(api_key=None, **kwargs): del_if_value_is_none(kwargs) deployments_api = client.API(config.CONFIG_HOST, api_key=api_key) command = deployments_commands.CreateDeploymentCommand(api=deployments_api) command.execute(kwargs)
def get_deployments_list(api_key=None, **filters): del_if_value_is_none(filters) deployments_api = client.API(config.CONFIG_HOST, api_key=api_key) command = deployments_commands.ListDeploymentsCommand(api=deployments_api) command.execute(filters=filters)
def run(api_key, options_file, **kwargs): del_if_value_is_none(kwargs) jsonify_dicts(kwargs) command = RunCommand(api_key=api_key) command.execute(**kwargs)
def create_multi_node(api_key, **kwargs): utils.validate_workspace_input(kwargs) del_if_value_is_none(kwargs) experiments_api = client.API(config.CONFIG_EXPERIMENTS_HOST, api_key=api_key) command = experiments_commands.CreateExperimentCommand(api=experiments_api) command.execute(kwargs)