pub struct Client { /* private fields */ }Expand description
A client for making HTTP requests to the Burn Central API.
The client can be used to interact with the Burn Central server, such as creating and starting experiments, saving and loading checkpoints, and uploading logs.
Implementations§
Source§impl Client
impl Client
Sourcepub fn create_artifact(
&self,
owner_name: &str,
project_name: &str,
exp_num: i32,
req: CreateArtifactRequest,
) -> Result<ArtifactCreationResponse, ClientError>
pub fn create_artifact( &self, owner_name: &str, project_name: &str, exp_num: i32, req: CreateArtifactRequest, ) -> Result<ArtifactCreationResponse, ClientError>
Creates an artifact entry on the Burn Central server with the given files.
The client must be logged in before calling this method.
Sourcepub fn add_files_to_artifact(
&self,
owner_name: &str,
project_name: &str,
exp_num: i32,
artifact_id: &str,
files: Vec<ArtifactFileSpecRequest>,
) -> Result<ArtifactAddFileResponse, ClientError>
pub fn add_files_to_artifact( &self, owner_name: &str, project_name: &str, exp_num: i32, artifact_id: &str, files: Vec<ArtifactFileSpecRequest>, ) -> Result<ArtifactAddFileResponse, ClientError>
Add files to an existing artifact.
The client must be logged in before calling this method.
Sourcepub fn complete_artifact_upload(
&self,
owner_name: &str,
project_name: &str,
exp_num: i32,
artifact_id: &str,
file_names: Option<Vec<String>>,
) -> Result<(), ClientError>
pub fn complete_artifact_upload( &self, owner_name: &str, project_name: &str, exp_num: i32, artifact_id: &str, file_names: Option<Vec<String>>, ) -> Result<(), ClientError>
Complete an artifact upload.
The client must be logged in before calling this method.
If file_names is None, all files in the artifact will be marked as complete.
If file_names is Some, only the specified files will be marked as complete.
Sourcepub fn list_artifacts(
&self,
owner_name: &str,
project_name: &str,
exp_num: i32,
) -> Result<ArtifactListResponse, ClientError>
pub fn list_artifacts( &self, owner_name: &str, project_name: &str, exp_num: i32, ) -> Result<ArtifactListResponse, ClientError>
List artifacts for the given experiment.
The client must be logged in before calling this method.
Sourcepub fn list_artifacts_by_name(
&self,
owner_name: &str,
project_name: &str,
exp_num: i32,
name: &str,
) -> Result<ArtifactListResponse, ClientError>
pub fn list_artifacts_by_name( &self, owner_name: &str, project_name: &str, exp_num: i32, name: &str, ) -> Result<ArtifactListResponse, ClientError>
Query artifacts by name for the given experiment.
The client must be logged in before calling this method.
Sourcepub fn get_artifact(
&self,
owner_name: &str,
project_name: &str,
exp_num: i32,
artifact_id: &str,
) -> Result<ArtifactResponse, ClientError>
pub fn get_artifact( &self, owner_name: &str, project_name: &str, exp_num: i32, artifact_id: &str, ) -> Result<ArtifactResponse, ClientError>
Get details about a specific artifact by its ID.
The client must be logged in before calling this method.
Sourcepub fn presign_artifact_download(
&self,
owner_name: &str,
project_name: &str,
exp_num: i32,
artifact_id: &str,
) -> Result<ArtifactDownloadResponse, ClientError>
pub fn presign_artifact_download( &self, owner_name: &str, project_name: &str, exp_num: i32, artifact_id: &str, ) -> Result<ArtifactDownloadResponse, ClientError>
Request presigned URLs to download an artifact’s files from the Burn Central server.
The client must be logged in before calling this method.
Source§impl Client
impl Client
Sourcepub fn new(
env: Env,
credentials: &BurnCentralCredentials,
) -> Result<Self, ClientError>
pub fn new( env: Env, credentials: &BurnCentralCredentials, ) -> Result<Self, ClientError>
Create a new HttpClient with the given base URL and API key.
Sourcepub fn from_url(
url: Url,
credentials: &BurnCentralCredentials,
) -> Result<Self, ClientError>
👎Deprecated
pub fn from_url( url: Url, credentials: &BurnCentralCredentials, ) -> Result<Self, ClientError>
Please use environment based constructor
Sourcepub fn get_endpoint(&self) -> &Url
👎Deprecated
pub fn get_endpoint(&self) -> &Url
Please use environment instead of url
pub fn get_env(&self) -> &Env
Sourcepub fn upload_bytes_to_url(
&self,
url: &str,
bytes: Vec<u8>,
) -> Result<(), ClientError>
pub fn upload_bytes_to_url( &self, url: &str, bytes: Vec<u8>, ) -> Result<(), ClientError>
Generic method to upload bytes to the given URL.
Sourcepub fn download_bytes_from_url(&self, url: &str) -> Result<Vec<u8>, ClientError>
pub fn download_bytes_from_url(&self, url: &str) -> Result<Vec<u8>, ClientError>
Generic method to download bytes from the given URL.
Source§impl Client
impl Client
Sourcepub fn create_experiment(
&self,
owner_name: &str,
project_name: &str,
description: Option<String>,
code_version_digest: String,
routine: String,
) -> Result<ExperimentResponse, ClientError>
pub fn create_experiment( &self, owner_name: &str, project_name: &str, description: Option<String>, code_version_digest: String, routine: String, ) -> Result<ExperimentResponse, ClientError>
Create a new experiment for the given project.
The client must be logged in before calling this method.
pub fn create_experiment_run_websocket( &self, owner_name: &str, project_name: &str, exp_num: i32, ) -> Result<WebSocketClient, WebSocketError>
Sourcepub fn cancel_experiment(
&self,
owner_name: &str,
project_name: &str,
exp_num: i32,
) -> Result<(), ClientError>
pub fn cancel_experiment( &self, owner_name: &str, project_name: &str, exp_num: i32, ) -> Result<(), ClientError>
Cancel an experiment.
The client must be logged in before calling this method.
Source§impl Client
impl Client
pub fn start_remote_job( &self, compute_provider_group_name: &str, owner_name: &str, project_name: &str, digest: &str, command: &str, ) -> Result<(), ClientError>
Source§impl Client
impl Client
Sourcepub fn get_model(
&self,
namespace: &str,
project_name: &str,
model_name: &str,
) -> Result<ModelResponse, ClientError>
pub fn get_model( &self, namespace: &str, project_name: &str, model_name: &str, ) -> Result<ModelResponse, ClientError>
Get details about a specific model.
The client must be logged in before calling this method.
Sourcepub fn get_model_version(
&self,
namespace: &str,
project_name: &str,
model_name: &str,
version: u32,
) -> Result<ModelVersionResponse, ClientError>
pub fn get_model_version( &self, namespace: &str, project_name: &str, model_name: &str, version: u32, ) -> Result<ModelVersionResponse, ClientError>
Get details about a specific model version.
The client must be logged in before calling this method.
Sourcepub fn presign_model_download(
&self,
namespace: &str,
project_name: &str,
model_name: &str,
version: u32,
) -> Result<ModelDownloadResponse, ClientError>
pub fn presign_model_download( &self, namespace: &str, project_name: &str, model_name: &str, version: u32, ) -> Result<ModelDownloadResponse, ClientError>
Generate presigned URLs for downloading model version files.
The client must be logged in before calling this method.
Source§impl Client
impl Client
pub fn create_user_project( &self, project_name: &str, project_description: Option<&str>, ) -> Result<ProjectResponse, ClientError>
pub fn get_project( &self, owner_name: &str, project_name: &str, ) -> Result<ProjectResponse, ClientError>
pub fn create_organization_project( &self, owner_name: &str, project_name: &str, project_description: Option<&str>, ) -> Result<ProjectResponse, ClientError>
pub fn publish_project_version_urls( &self, owner_name: &str, project_name: &str, target_package_name: &str, code_metadata: BurnCentralCodeMetadataRequest, crates_metadata: Vec<CrateVersionMetadataRequest>, digest: &str, ) -> Result<CodeUploadUrlsResponse, ClientError>
pub fn complete_project_version_upload( &self, owner_name: &str, project_name: &str, code_version_id: &str, ) -> Result<(), ClientError>
Source§impl Client
impl Client
Sourcepub fn login(
&self,
credentials: &BurnCentralCredentials,
) -> Result<String, ClientError>
pub fn login( &self, credentials: &BurnCentralCredentials, ) -> Result<String, ClientError>
Log in to the Burn Central server with the given credentials.