|
from typing import Any |
|
|
|
from wandb.sdk.internal.internal_api import Api as InternalApi |
|
|
|
|
|
class Api: |
|
"""Internal proxy to the official internal API.""" |
|
|
|
|
|
|
|
def __init__(self, *args: Any, **kwargs: Any) -> None: |
|
self._api_args = args |
|
self._api_kwargs = kwargs |
|
self._api = None |
|
|
|
def __getstate__(self): |
|
"""Use for serializing. |
|
|
|
self._api is not serializable, so it's dropped |
|
""" |
|
state = self.__dict__.copy() |
|
del state["_api"] |
|
return state |
|
|
|
def __setstate__(self, state): |
|
"""Used for deserializing. |
|
|
|
Don't need to set self._api because it's constructed when needed. |
|
""" |
|
self.__dict__.update(state) |
|
self._api = None |
|
|
|
@property |
|
def api(self) -> InternalApi: |
|
|
|
|
|
|
|
if self._api is None: |
|
self._api = InternalApi(*self._api_args, **self._api_kwargs) |
|
return self._api |
|
|
|
@property |
|
def api_key(self): |
|
return self.api.api_key |
|
|
|
@property |
|
def is_authenticated(self): |
|
return self.api.access_token is not None or self.api.api_key is not None |
|
|
|
@property |
|
def api_url(self): |
|
return self.api.api_url |
|
|
|
@property |
|
def app_url(self): |
|
return self.api.app_url |
|
|
|
@property |
|
def default_entity(self): |
|
return self.api.default_entity |
|
|
|
@property |
|
def git(self): |
|
return self.api.git |
|
|
|
def validate_api_key(self) -> bool: |
|
"""Returns whether the API key stored on initialization is valid.""" |
|
return self.api.validate_api_key() |
|
|
|
def file_current(self, *args): |
|
return self.api.file_current(*args) |
|
|
|
def download_file(self, *args, **kwargs): |
|
return self.api.download_file(*args, **kwargs) |
|
|
|
def download_write_file(self, *args, **kwargs): |
|
return self.api.download_write_file(*args, **kwargs) |
|
|
|
def set_current_run_id(self, run_id): |
|
return self.api.set_current_run_id(run_id) |
|
|
|
def viewer(self): |
|
return self.api.viewer() |
|
|
|
def max_cli_version(self): |
|
return self.api.max_cli_version() |
|
|
|
def viewer_server_info(self): |
|
return self.api.viewer_server_info() |
|
|
|
def list_projects(self, entity=None): |
|
return self.api.list_projects(entity=entity) |
|
|
|
def format_project(self, project): |
|
return self.api.format_project(project) |
|
|
|
def upsert_project(self, project, id=None, description=None, entity=None): |
|
return self.api.upsert_project( |
|
project, id=id, description=description, entity=entity |
|
) |
|
|
|
def upsert_run(self, *args, **kwargs): |
|
return self.api.upsert_run(*args, **kwargs) |
|
|
|
def settings(self, *args, **kwargs): |
|
return self.api.settings(*args, **kwargs) |
|
|
|
def clear_setting( |
|
self, key: str, globally: bool = False, persist: bool = False |
|
) -> None: |
|
return self.api.clear_setting(key, globally, persist) |
|
|
|
def set_setting( |
|
self, key: str, value: Any, globally: bool = False, persist: bool = False |
|
) -> None: |
|
return self.api.set_setting(key, value, globally, persist) |
|
|
|
def parse_slug(self, *args, **kwargs): |
|
return self.api.parse_slug(*args, **kwargs) |
|
|
|
def download_url(self, *args, **kwargs): |
|
return self.api.download_url(*args, **kwargs) |
|
|
|
def download_urls(self, *args, **kwargs): |
|
return self.api.download_urls(*args, **kwargs) |
|
|
|
def create_anonymous_api_key(self) -> str: |
|
return self.api.create_anonymous_api_key() |
|
|
|
def push(self, *args, **kwargs): |
|
return self.api.push(*args, **kwargs) |
|
|
|
def sweep(self, *args, **kwargs): |
|
return self.api.sweep(*args, **kwargs) |
|
|
|
def upsert_sweep(self, *args, **kwargs): |
|
return self.api.upsert_sweep(*args, **kwargs) |
|
|
|
def set_sweep_state(self, *args, **kwargs): |
|
return self.api.set_sweep_state(*args, **kwargs) |
|
|
|
def get_sweep_state(self, *args, **kwargs): |
|
return self.api.get_sweep_state(*args, **kwargs) |
|
|
|
def stop_sweep(self, *args, **kwargs): |
|
return self.api.stop_sweep(*args, **kwargs) |
|
|
|
def cancel_sweep(self, *args, **kwargs): |
|
return self.api.cancel_sweep(*args, **kwargs) |
|
|
|
def pause_sweep(self, *args, **kwargs): |
|
return self.api.pause_sweep(*args, **kwargs) |
|
|
|
def resume_sweep(self, *args, **kwargs): |
|
return self.api.resume_sweep(*args, **kwargs) |
|
|
|
def register_agent(self, *args, **kwargs): |
|
return self.api.register_agent(*args, **kwargs) |
|
|
|
def agent_heartbeat(self, *args, **kwargs): |
|
return self.api.agent_heartbeat(*args, **kwargs) |
|
|
|
def use_artifact(self, *args, **kwargs): |
|
return self.api.use_artifact(*args, **kwargs) |
|
|
|
def create_artifact(self, *args, **kwargs): |
|
return self.api.create_artifact(*args, **kwargs) |
|
|
|
def complete_multipart_upload_artifact(self, *args, **kwargs): |
|
return self.api.complete_multipart_upload_artifact(*args, **kwargs) |
|
|
|
def run_config(self, *args, **kwargs): |
|
return self.api.run_config(*args, **kwargs) |
|
|
|
def upload_file_retry(self, *args, **kwargs): |
|
return self.api.upload_file_retry(*args, **kwargs) |
|
|
|
def upload_multipart_file_chunk_retry(self, *args, **kwargs): |
|
return self.api.upload_multipart_file_chunk_retry(*args, **kwargs) |
|
|
|
def get_run_info(self, *args, **kwargs): |
|
return self.api.get_run_info(*args, **kwargs) |
|
|
|
def get_run_state(self, *args, **kwargs): |
|
return self.api.get_run_state(*args, **kwargs) |
|
|
|
def entity_is_team(self, *args, **kwargs): |
|
return self.api.entity_is_team(*args, **kwargs) |
|
|
|
def get_project_run_queues(self, *args, **kwargs): |
|
return self.api.get_project_run_queues(*args, **kwargs) |
|
|
|
def push_to_run_queue(self, *args, **kwargs): |
|
return self.api.push_to_run_queue(*args, **kwargs) |
|
|
|
def pop_from_run_queue(self, *args, **kwargs): |
|
return self.api.pop_from_run_queue(*args, **kwargs) |
|
|
|
def ack_run_queue_item(self, *args, **kwargs): |
|
return self.api.ack_run_queue_item(*args, **kwargs) |
|
|
|
def create_launch_agent(self, *args, **kwargs): |
|
return self.api.create_launch_agent(*args, **kwargs) |
|
|
|
def create_default_resource_config(self, *args, **kwargs): |
|
return self.api.create_default_resource_config(*args, **kwargs) |
|
|
|
def create_run_queue(self, *args, **kwargs): |
|
return self.api.create_run_queue(*args, **kwargs) |
|
|
|
def upsert_run_queue(self, *args, **kwargs): |
|
return self.api.upsert_run_queue(*args, **kwargs) |
|
|
|
def update_launch_agent_status(self, *args, **kwargs): |
|
return self.api.update_launch_agent_status(*args, **kwargs) |
|
|
|
def launch_agent_introspection(self, *args, **kwargs): |
|
return self.api.launch_agent_introspection(*args, **kwargs) |
|
|
|
def fail_run_queue_item_introspection(self, *args, **kwargs): |
|
return self.api.fail_run_queue_item_introspection(*args, **kwargs) |
|
|
|
def fail_run_queue_item(self, *args, **kwargs): |
|
return self.api.fail_run_queue_item(*args, **kwargs) |
|
|
|
def update_run_queue_item_warning(self, *args, **kwargs): |
|
return self.api.update_run_queue_item_warning(*args, **kwargs) |
|
|
|
def get_launch_agent(self, *args, **kwargs): |
|
return self.api.get_launch_agent(*args, **kwargs) |
|
|
|
def stop_run(self, *args, **kwargs): |
|
return self.api.stop_run(*args, **kwargs) |
|
|
|
|
|
__all__ = ["Api"] |
|
|