def get(ctx): """Get experiment group by uuid. Uses [Caching](/references/polyaxon-cli/#caching) Examples: \b ```bash $ polyaxon group -g 13 get ``` """ user, project_name, _group = get_project_group_or_local( ctx.obj.get('project'), ctx.obj.get('group')) try: response = PolyaxonClient().experiment_group.get_experiment_group( user, project_name, _group) cache.cache(config_manager=GroupManager, response=response) except (PolyaxonHTTPError, PolyaxonShouldExitError, PolyaxonClientException) as e: Printer.print_error( 'Could not get experiment group `{}`.'.format(_group)) Printer.print_error('Error message `{}`.'.format(e)) sys.exit(1) get_group_details(response)
def get(ctx): """Get job. Uses [Caching](/references/polyaxon-cli/#caching) Examples: \b ```bash $ polyaxon job --job=1 get ``` \b ```bash $ polyaxon job --job=1 --project=project_name get ``` """ user, project_name, _job = get_job_or_local(ctx.obj.get('project'), ctx.obj.get('job')) try: response = PolyaxonClient().job.get_job(user, project_name, _job) cache.cache(config_manager=JobManager, response=response) except (PolyaxonHTTPError, PolyaxonShouldExitError, PolyaxonClientException) as e: Printer.print_error('Could not get job `{}`.'.format(_job)) Printer.print_error('Error message `{}`.'.format(e)) sys.exit(1) get_job_details(response)
def get(ctx): """Get build job. Uses [Caching](/polyaxon_cli/introduction#Caching) Examples: \b ```bash $ polyaxon build -b 1 get ``` \b ```bash $ polyaxon build --build=1 --project=project_name get ``` """ user, project_name, _build = get_build_or_local(ctx.obj.get('project'), ctx.obj.get('build')) try: response = PolyaxonClient().build_job.get_build( user, project_name, _build) cache.cache(config_manager=BuildJobManager, response=response) except (PolyaxonHTTPError, PolyaxonShouldExitError, PolyaxonClientException) as e: Printer.print_error('Could not get build job `{}`.'.format(_build)) Printer.print_error('Error message `{}`.'.format(e)) sys.exit(1) get_build_details(response)
def get_experiment(): try: response = PolyaxonClient().experiment.get_experiment(user, project_name, _experiment) cache.cache(config_manager=ExperimentManager, response=response) except (PolyaxonHTTPError, PolyaxonShouldExitError, PolyaxonClientException) as e: Printer.print_error('Could not load experiment `{}` info.'.format(_experiment)) Printer.print_error('Error message `{}`.'.format(e)) sys.exit(1) get_experiment_details(response)
def run_build(): click.echo('Creating a build.') job = JobConfig(name=name, description=description, tags=tags, config=specification.parsed_data, ttl=ttl) try: response = project_client.create_build(project.user, project.name, job) cache.cache(config_manager=BuildJobManager, response=response) Printer.print_success('Build {} was created'.format(response.id)) except (PolyaxonHTTPError, PolyaxonShouldExitError, PolyaxonClientException) as e: Printer.print_error('Could not create build.') Printer.print_error('Error message `{}`.'.format(e)) sys.exit(1)
def run_experiment(): click.echo('Creating an independent experiment.') experiment = ExperimentConfig( name=name, description=description, tags=tags, config=specification.parsed_data, ttl=ttl) try: response = PolyaxonClient().project.create_experiment(user, project_name, experiment) cache.cache(config_manager=ExperimentManager, response=response) Printer.print_success('Experiment `{}` was created'.format(response.id)) except (PolyaxonHTTPError, PolyaxonShouldExitError, PolyaxonClientException) as e: Printer.print_error('Could not create experiment.') Printer.print_error('Error message `{}`.'.format(e)) sys.exit(1)
def run_group(): click.echo('Creating an experiment group with the following definition:') experiments_def = specification.experiments_def get_group_experiments_info(**experiments_def) experiment_group = ExperimentGroupConfig( name=name, description=description, tags=tags, content=specification._data) # pylint:disable=protected-access try: response = project_client.create_experiment_group(user, project_name, experiment_group) cache.cache(config_manager=GroupManager, response=response) Printer.print_success('Experiment group {} was created'.format(response.id)) except (PolyaxonHTTPError, PolyaxonShouldExitError, PolyaxonClientException) as e: Printer.print_error('Could not create experiment group.') Printer.print_error('Error message `{}`.'.format(e)) sys.exit(1)
def run_job(): click.echo('Creating a job.') job = JobConfig( name=name, description=description, tags=tags, content=specification.raw_data, ttl=ttl, is_managed=True, ) try: response = project_client.create_job(user, project_name, job) cache.cache(config_manager=JobManager, response=response) Printer.print_success('Job {} was created'.format(response.id)) except (PolyaxonHTTPError, PolyaxonShouldExitError, PolyaxonClientException) as e: Printer.print_error('Could not create job.') Printer.print_error('Error message `{}`.'.format(e)) sys.exit(1)
def get_experiment_job(): try: response = PolyaxonClient().experiment_job.get_job(user, project_name, _experiment, _job) cache.cache(config_manager=ExperimentJobManager, response=response) except (PolyaxonHTTPError, PolyaxonShouldExitError, PolyaxonClientException) as e: Printer.print_error('Could not get job `{}`.'.format(_job)) Printer.print_error('Error message `{}`.'.format(e)) sys.exit(1) if response.resources: get_resources(response.resources.to_dict(), header="Job resources:") response = Printer.add_status_color(response.to_light_dict( humanize_values=True, exclude_attrs=['uuid', 'definition', 'experiment', 'unique_name', 'resources'] )) Printer.print_header("Job info:") dict_tabulate(response)