Skip to main content

Bitdeer AI Cloud Python SDK

PyPI - Version PyPI - Python Version PyPI - Downloads PyPI - License X (formerly Twitter) Follow


Overview

The Bitdeer AI Cloud Python SDK provides a simple and efficient interface for managing cloud resources and services, like training jobs. It allows users to create, list, get details, and manage training jobs with ease. This SDK communicates with the server using gRPC and provides a range of functionalities for handling training jobs, including creation, retrieval, listing, deletion, suspension, and resumption.

Installation

To install the Bitdeer AI Cloud Python SDK, you can use pip:

pip install bitdeer-ai

Usage of Training Service

Initialization

To interact with training service, you need to initialize the TrainingClient object with the host address of target host and an API Key for authentication.

from bitdeer_ai.training.client import TrainingClient

# Initialize the client
client = TrainingClient(host='api.bitdeer.ai:443', token='API-KEY')

Creating a Training Job

To create a training job, use the create_training_job method. You need to provide various parameters such as project_id, job_name, job_type, worker_spec, num_workers, and optional parameters like worker_image, working_dir, volume_name, volume_mount_path etc.

from training.training_pb2 import JobType

job = client.create_training_job(
    project_id='your_project_id',
    job_name='example_job',
    job_type='your_job_type',
    worker_spec='spec_of_worker',
    num_workers=2,
    worker_image='worker_image_url',
    working_dir='/path/to/working/dir',
    volume_name='volume_name',
    volume_mount_path='/mount/path'
)
print(f'Training job created with ID: {job.training_job_id}')

Retrieving a Training Job

To retrieve details of a specific training job, use the get_training_job method with the training_job_id.

job = client.get_training_job(training_job_id='your_training_job_id')
print(f'Job Name: {job.job_name}')

Listing Training Jobs

To list all training jobs, use the list_training_jobs method.

jobs = client.list_training_jobs()
for job in jobs.training_jobs:
    print(f'Job ID: {job.training_job_id}, Job Name: {job.job_name}')

Deleting a Training Job

To delete a specific training job, use the delete_training_job method with the training_job_id.

client.delete_training_job(training_job_id='your_training_job_id')
print('Training job deleted successfully.')

Suspending a Training Job

To suspend an active training job, use the suspend_training_job method with the training_job_id.

client.suspend_training_job(training_job_id='your_training_job_id')
print('Training job suspended successfully.')

Resuming a Training Job

To resume a suspended training job, use the resume_training_job method with the training_job_id.

client.resume_training_job(training_job_id='your_training_job_id')
print('Training job resumed successfully.')

Getting Training Job Workers

To get details of workers associated with a specific training job, use the get_training_job_workers method with the training_job_id.

workers = client.get_training_job_workers(training_job_id='your_training_job_id')
for worker in workers.workers:
    print(f'Worker Name: {worker.name}')

Getting Training Job Logs

To stream logs of a specific training job, use the get_training_job_logs method with the training_job_id, worker_name, and follow flag.

logs = client.get_training_job_logs(training_job_id='your_training_job_id', worker_name='worker_name', follow=True)
for log in logs:
    print(log.message)

Error Handling

The SDK raises various exceptions to handle errors:

  • RuntimeError: Raised when there is a failure in creating or deleting a training job.

Make sure to handle these exceptions in your code to ensure smooth operation.

try:
    job = client.create_training_job(
        project_id='your_project_id',
        job_name='example_job',
        job_type='your_job_type',
        worker_spec='spec_of_worker',
        num_workers=2
    )
except RuntimeError as e:
    print(f'Runtime Error: {e}')

Release files for btdr-ai-sdk 0.0.6

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for btdr-ai-sdk 0.0.6
File Size Uploaded
btdr_ai_sdk-0.0.6.tar.gz 11.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for btdr-ai-sdk 0.0.6
File Interpreter ABI Platform
btdr_ai_sdk-0.0.6-py3-none-any.whl Python 3 none any Details

Total release size: 23.7 kB

Release files / btdr_ai_sdk-0.0.6.tar.gz

Download URL btdr_ai_sdk-0.0.6.tar.gz
Size 11.4 kB
Tags Source
SHA-256 checksum
How to use checksums
ccb447d22d8620a2940423cc7516774042572cf4d7fb2f3463a020820ab9db9b
BLAKE2b-256 checksum
How to use checksums
d6fee4212570384e89c3cbfce80162bf1a2045c05636d31e5367810b17b446e7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via python-httpx/0.27.0

Release files / btdr_ai_sdk-0.0.6-py3-none-any.whl

Download URL btdr_ai_sdk-0.0.6-py3-none-any.whl
Size 12.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
fcc4101b239dd0fb10fb1d6d982c8dc85a85b68962b2e6c4aeeecf83fd636482
BLAKE2b-256 checksum
How to use checksums
cd22ab1838c4b458ede7d161df97c63f799e4239f40aeec84a08e9854a264c22
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via python-httpx/0.27.0

Release history Release notifications | RSS feed

This release

0.0.6 This release

2 release files

0.0.5

2 release files

0.0.4

2 release files

0.0.3

2 release files

0.0.2

1 release file

0.0.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page