Ejemplo n.º 1
0
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)
Ejemplo n.º 2
0
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)
Ejemplo n.º 3
0
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)
Ejemplo n.º 4
0
    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)
Ejemplo n.º 5
0
 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)
Ejemplo n.º 6
0
 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)
Ejemplo n.º 7
0
 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)
Ejemplo n.º 8
0
 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)
Ejemplo n.º 9
0
    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)