Basecommand¶
Aces¶
Dataset¶
- class basecommand.api.dataset.DatasetAPI(api_client, dataset_service_connection=None)¶
- convert(
- name: str,
- result: int,
- org: str | None = None,
- team: str | None = None,
- ace: str | None = None,
- desc: str | None = None,
Convert resultset to a dataset.
- download(
- dataset_id: int | str,
- org: str | None = None,
- team: str | None = None,
- ace: str | None = None,
- dest: str | None = '.',
- files: List[str] | None = None,
- resume: str | None = None,
- dirs: List[str] | None = None,
- do_zip: bool | None = None,
- exclude: List[str] | None = None,
- dry_run: bool | None = None,
Downloads a Dataset.
- info(
- dataset_id,
- org: str | None = None,
- team: str | None = None,
- ace: str | None = None,
Get dataset details for given dataset ID.
- list(
- org: str | None = None,
- team: str | None = None,
- ace: str | None = None,
- owned: bool | None = None,
- list_all: bool | None = None,
- name: str | None = None,
- status: List[str] | None = None,
List Datasets the user can access. For this operation file names will not be loaded.
- remove(
- ids: List[int],
- org: str | None = None,
- team: str | None = None,
- ace: str | None = None,
- default_yes: bool | None = None,
Remove datasets.
- dataset_id: int,
- org: str | None = None,
- team: str | None = None,
- ace: str | None = None,
Stops sharing dataset with the org/team. Write access to the dataset required.
- dataset_id: int,
- org: str | None = None,
- team: str | None = None,
- ace: str | None = None,
Shares dataset with the org/team. Write accesss to the dataset required.
- upload(
- name: int | str,
- org: str | None = None,
- team: str | None = None,
- ace: str | None = None,
- desc: str | None = None,
- source: str | None = '.',
- threads: int | None = 12,
- default_yes: bool | None = True,
- omit_links: bool | None = None,
- dry_run: bool | None = None,
- share: List[str] | None = None,
Interface for uploading datasets via gRPC.
Upload is performed according to the following algorithm:
Check available storage on ACE.
Attempt to create the dataset.
If the dataset exists (409 response), get a list of all datasets and find the ID by matching the name. Prompt the user to continue adding to the dataset. If yes, use the upload cache to continue the upload and skip the previously uploaded files.
The dataset is created and we have the ID.
Upload the dataset.
- Returns:
A dict in the form of
{"id": <integer>, "datasetUuid": <string>}
, that identifies the uploaded dataset.
Jobs¶
- class basecommand.api.jobs.JobsAPI(api_client)¶
- get_json(
- job_id: int,
- org: str | None = None,
- team: str | None = None,
- ace: str | None = None,
Get job definition json.
- info(
- job_id: int,
- replica_id: int | None = None,
- org: str | None = None,
- team: str | None = None,
- ace: str | None = None,
Get job info.
- kill(
- job_ids: List[int],
- org: int | None = None,
- team: int | None = None,
- ace: int | None = None,
- status: List[str] | None = None,
- dry_run: bool | None = None,
- reason: str | None = None,
Kill a job.
- list(
- org: str | None = None,
- team: str | None = None,
- ace: str | None = None,
- list_all: bool | None = None,
- duration: timedelta | None = None,
- end_time: datetime | None = None,
- begin_time: datetime | None = None,
- status: list[str] | None = None,
- labels: list[str] | None = None,
- exclude_labels: list[str] | None = None,
- priority: list[str] | None = None,
List jobs.
- log(
- job_id: int,
- replica_id: int | None = None,
- org: str | None = None,
- team: str | None = None,
- ace: str | None = None,
- head: bool | None = None,
- lines: int | None = None,
- tail: bool | None = None,
Get job log.
- preempt(
- job_id: int,
- org: str | None = None,
- team: str | None = None,
- ace: str | None = None,
Preempt a running job.
- resume(
- job_id: int,
- org: str | None = None,
- team: str | None = None,
- ace: str | None = None,
Resume a preempted job.
- run(
- org: str | None = None,
- team: str | None = None,
- ace: str | None = None,
- name: str | None = None,
- image: str | None = None,
- file: str | None = None,
- commandline: str | None = None,
- entrypoint: str | None = None,
- use_image_entrypoint: bool | None = None,
- description: str | None = None,
- dataset: List[str] | None = None,
- instance: str | None = None,
- replicas: int | None = None,
- array_type: str | None = None,
- coscheduling: bool | None = None,
- min_availability: int | None = None,
- network: str | None = None,
- topology_constraint: str | None = None,
- port: List[tuple[str, int, str]] | None = None,
- result: str | None = None,
- preempt: str | None = None,
- total_runtime: timedelta | None = None,
- min_timeslice: timedelta | None = None,
- workspace: List[str] | None = None,
- clone: int | None = None,
- label: List[str] | None = None,
- lock_label: bool | None = None,
- order: int | None = None,
- priority: str | None = None,
- secret: List[Tuple[str] | Tuple[str, str] | Tuple[str, str, str]] | None = None,
- env_var: List[str] | None = None,
- experiment_flow_type: str | None = None,
- experiment_project_name: str | None = None,
- experiment_name: str | None = None,
Submit a job. The following arguments are required if the clone or file argument is not specified. ace: Ace name. instance: Ace instance type. name: Job name. image: Image repository. result: Result mount point.
- telemetry(
- job_id: int,
- replica_id: int | None = None,
- org: str | None = None,
- team: str | None = None,
- ace: str | None = None,
- from_date: str | None = None,
- to_date: str | None = None,
- interval_unit: str | None = 'MINUTE',
- interval_time: int | None = 1,
- types: List[str] | None = None,
- statistics: str | None = 'MEAN',
Get job telemetry.
- update(
- job_id: int,
- org: str | None = None,
- team: str | None = None,
- ace: str | None = None,
- label: List[str] | None = None,
- remove_label: List[str] | None = None,
- clear_label: bool | None = None,
- lock_label: bool | None = None,
- unlock_label: bool | None = None,
Update a job.
Resultset¶
- class basecommand.api.resultset.ResultsetAPI(api_client, dataset_service_connection=None)¶
- download(
- job_id: int,
- replica_id: int | None = None,
- org: str | None = None,
- team: str | None = None,
- ace: str | None = None,
- dest: str | None = '.',
- files: List[str] | None = None,
- dirs: List[str] | None = None,
- exclude: List[str] | None = None,
- do_zip: bool | None = None,
- dry_run: bool | None = None,
- resume: str | None = None,
Download resultset for given job ID.
- info(
- job_id: int,
- replica_id: int | None = None,
- org: int | None = None,
- team: int | None = None,
- ace: int | None = None,
- files: bool | None = None,
Gets resultset details for given job ID.
- remove(
- job_ids: List[str | int] = None,
- org: str | None = None,
- team: str | None = None,
- ace: str | None = None,
- status: List[str] | None = None,
- default_yes: bool | None = None,
- dry_run: bool | None = None,
- job_name: str | None = None,
Remove resultset details for given job ID.
Workspace¶
- class basecommand.api.workspace.WorkspaceAPI(api_client, dataset_service_connection=None)¶
- create(
- name: str | None = None,
- org: str | None = None,
- team: str | None = None,
- ace: str | None = None,
Create a workspace.
- download(
- workspace_id: str,
- org: str | None = None,
- team: str | None = None,
- ace: str | None = None,
- dest: str | None = '.',
- files: List[str] | None = None,
- dirs: List[str] | None = None,
- do_zip: bool | None = None,
- dry_run: bool | None = None,
Download a workspace.
- info(
- workspace_id: str,
- org: str | None = None,
- team: str | None = None,
- ace: str | None = None,
Get workspace details.
- list(
- org: str | None = None,
- team: str | None = None,
- ace: str | None = None,
- owned: bool | None = None,
- list_all: bool | None = None,
- name: str | None = None,
List workspaces.
- remove(
- workspace_id: str,
- org: str | None = None,
- team: str | None = None,
- ace: str | None = None,
Remove a workspace.
- workspace_id: str,
- org: str | None = None,
- team: str | None = None,
Unshare a workspace.
- workspace_id: str,
- org: str | None = None,
- team: str | None = None,
Share a workspace.
- update(
- workspace_id: str,
- org: str | None = None,
- team: str | None = None,
- ace: str | None = None,
- name: str | None = None,
- desc: str | None = None,
Update a workspace.
- upload(
- workspace_id: str,
- org: str | None = None,
- team: str | None = None,
- ace: str | None = None,
- source: str | None = '.',
- destination: str | None = '/',
- exclude: List[str] | None = None,
- dry_run: bool | None = None,
- threads: int | None = 12,
Upload to a workspace.