Metadata-Version: 2.4
Name: gpuai-sdk
Version: 0.1.1
Summary: GPU.ai Public Developer API
Home-page: 
Author: GPU.ai Support
Author-email: "GPU.ai Support" <support@gpu.ai>
License: Apache-2.0
Project-URL: Repository, https://github.com/gpuai-dev/gpu-ai
Keywords: OpenAPI,OpenAPI-Generator,GPU.ai Public Developer API
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: urllib3<3.0.0,>=2.6.3
Requires-Dist: python-dateutil>=2.8.2
Requires-Dist: pydantic>=2.11
Requires-Dist: typing-extensions>=4.7.1
Dynamic: author
Dynamic: license-file

# gpuai-sdk
Programmatic API for GPU.ai. Authenticate with API keys minted from
the dashboard. See https://gpu.ai/docs for details.


This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:

- API version: 1.0.0
- Package version: 0.1.1
- Generator version: 7.24.0
- Build package: org.openapitools.codegen.languages.PythonClientCodegen

## Requirements.

Python 3.10+

## Installation & Usage
### pip install

Once this package is published, install it from PyPI with `pip install <package-name>` (see the project page for the exact name). To install straight from the repository instead — the package lives in `sdk/python/`, not the repo root:

```sh
pip install "git+https://github.com/gpuai-dev/gpu-ai.git#subdirectory=sdk/python"
```
(you may need to run `pip` with root permission: `sudo pip install "git+https://github.com/gpuai-dev/gpu-ai.git#subdirectory=sdk/python"`)

Then import the package:
```python
import gpuai_sdk
```

### Setuptools

Install from a repository checkout (run from the `sdk/python/` directory):

```sh
pip install --user .
```
(or `sudo pip install .` to install the package for all users)

Then import the package:
```python
import gpuai_sdk
```

### Tests

Execute `pytest` to run the tests.

## Getting Started

Please follow the [installation procedure](#installation--usage) and then run the following:

```python

import os

import gpuai_sdk
from gpuai_sdk.rest import ApiException
from pprint import pprint

# Defining the host is optional and defaults to https://api.gpu.ai/v1
# See configuration.py for a list of all supported configuration parameters.
configuration = gpuai_sdk.Configuration(
    host = "https://api.gpu.ai/v1"
)

# The client must configure the authentication and authorization parameters
# in accordance with the API server security policy.
# Examples for each auth method are provided below, use the example that
# satisfies your auth use case.

# Configure Bearer authorization (gpuai_live_<24-base62>): bearerAuth
configuration = gpuai_sdk.Configuration(
    access_token = os.environ["BEARER_TOKEN"]
)


# Enter a context with an instance of the API client
with gpuai_sdk.ApiClient(configuration) as api_client:
    # Create an instance of the API class
    api_instance = gpuai_sdk.BillingApi(api_client)
    create_crypto_deposit_request = gpuai_sdk.CreateCryptoDepositRequest() # CreateCryptoDepositRequest | 

    try:
        # Create a stablecoin deposit
        api_response = api_instance.create_crypto_deposit(create_crypto_deposit_request)
        print("The response of BillingApi->create_crypto_deposit:\n")
        pprint(api_response)
    except ApiException as e:
        print("Exception when calling BillingApi->create_crypto_deposit: %s\n" % e)

```

## Documentation for API Endpoints

All URIs are relative to *https://api.gpu.ai/v1*

Class | Method | HTTP request | Description
------------ | ------------- | ------------- | -------------
*BillingApi* | [**create_crypto_deposit**](docs/BillingApi.md#create_crypto_deposit) | **POST** /billing/deposits/crypto | Create a stablecoin deposit
*BillingApi* | [**get_deposit**](docs/BillingApi.md#get_deposit) | **GET** /billing/deposits/{id} | Get one stablecoin deposit
*BillingApi* | [**get_spending_limit**](docs/BillingApi.md#get_spending_limit) | **GET** /billing/spending-limit | Get the org spending limit
*BillingApi* | [**list_deposits**](docs/BillingApi.md#list_deposits) | **GET** /billing/deposits | List stablecoin deposits
*BillingApi* | [**update_spending_limit**](docs/BillingApi.md#update_spending_limit) | **PUT** /billing/spending-limit | Set the org spending limit
*CommunityApi* | [**delist_community_machine**](docs/CommunityApi.md#delist_community_machine) | **POST** /community/machines/{id}/delist | Delist a Community Cloud machine
*CommunityApi* | [**enable_community_supplier**](docs/CommunityApi.md#enable_community_supplier) | **POST** /community/suppliers | Enable the Community Cloud supplier role
*CommunityApi* | [**get_community_earnings**](docs/CommunityApi.md#get_community_earnings) | **GET** /community/earnings | Get your Community Cloud earnings
*CommunityApi* | [**get_community_machine**](docs/CommunityApi.md#get_community_machine) | **GET** /community/machines/{id} | Get one of your Community Cloud machines
*CommunityApi* | [**get_community_supplier_me**](docs/CommunityApi.md#get_community_supplier_me) | **GET** /community/suppliers/me | Get the caller&#39;s Community Cloud supplier
*CommunityApi* | [**list_community_machines**](docs/CommunityApi.md#list_community_machines) | **GET** /community/machines | List your Community Cloud machines
*CommunityApi* | [**reclaim_community_machine**](docs/CommunityApi.md#reclaim_community_machine) | **POST** /community/machines/{id}/reclaim | Reclaim a spot-tier Community Cloud machine
*CommunityApi* | [**register_community_machine**](docs/CommunityApi.md#register_community_machine) | **POST** /community/machines | Register a Community Cloud machine
*CommunityApi* | [**update_community_machine**](docs/CommunityApi.md#update_community_machine) | **PATCH** /community/machines/{id} | Update a Community Cloud machine&#39;s price
*EnvironmentsApi* | [**get_environments**](docs/EnvironmentsApi.md#get_environments) | **GET** /environments | List launch environments (no auth required)
*FineTuningApi* | [**cancel_fine_tuning_job**](docs/FineTuningApi.md#cancel_fine_tuning_job) | **POST** /fine_tuning/jobs/{id}/cancel | Cancel a fine-tuning job (OpenAI-compatible)
*FineTuningApi* | [**create_file**](docs/FineTuningApi.md#create_file) | **POST** /files | Upload a fine-tuning dataset file (OpenAI-compatible)
*FineTuningApi* | [**create_fine_tuning_job**](docs/FineTuningApi.md#create_fine_tuning_job) | **POST** /fine_tuning/jobs | Create a managed fine-tuning job (OpenAI-compatible)
*FineTuningApi* | [**get_fine_tuning_job**](docs/FineTuningApi.md#get_fine_tuning_job) | **GET** /fine_tuning/jobs/{id} | Retrieve a fine-tuning job (OpenAI-compatible)
*FineTuningApi* | [**list_fine_tuning_job_events**](docs/FineTuningApi.md#list_fine_tuning_job_events) | **GET** /fine_tuning/jobs/{id}/events | List fine-tuning job events (OpenAI-compatible)
*FineTuningApi* | [**list_fine_tuning_jobs**](docs/FineTuningApi.md#list_fine_tuning_jobs) | **GET** /fine_tuning/jobs | List fine-tuning jobs (OpenAI-compatible)
*GpuTypesApi* | [**list_gpu_types**](docs/GpuTypesApi.md#list_gpu_types) | **GET** /gpu-types | List available GPU types (no auth required)
*InferenceApi* | [**cancel_video**](docs/InferenceApi.md#cancel_video) | **POST** /videos/{id}/cancel | Cancel a video generation job
*InferenceApi* | [**create_chat_completion**](docs/InferenceApi.md#create_chat_completion) | **POST** /chat/completions | Create a chat completion (OpenAI-compatible)
*InferenceApi* | [**create_image**](docs/InferenceApi.md#create_image) | **POST** /images/generations | Create image (OpenAI-compatible)
*InferenceApi* | [**create_video**](docs/InferenceApi.md#create_video) | **POST** /videos | Create a video generation job (async)
*InferenceApi* | [**get_model**](docs/InferenceApi.md#get_model) | **GET** /models/{id} | Get a specific model (OpenAI-compatible)
*InferenceApi* | [**get_video**](docs/InferenceApi.md#get_video) | **GET** /videos/{id} | Get a video generation job
*InferenceApi* | [**get_video_content**](docs/InferenceApi.md#get_video_content) | **GET** /videos/{id}/content | Download a completed video artifact
*InferenceApi* | [**list_models**](docs/InferenceApi.md#list_models) | **GET** /models | List available models (OpenAI-compatible)
*InferenceApi* | [**list_videos**](docs/InferenceApi.md#list_videos) | **GET** /videos | List video generation jobs
*InstancesApi* | [**create_instance**](docs/InstancesApi.md#create_instance) | **POST** /instances | Create an instance (async — returns 202 + Operation-Id header)
*InstancesApi* | [**delete_instance**](docs/InstancesApi.md#delete_instance) | **DELETE** /instances/{id} | Terminate an instance (idempotent)
*InstancesApi* | [**get_instance**](docs/InstancesApi.md#get_instance) | **GET** /instances/{id} | Get an instance
*InstancesApi* | [**list_instances**](docs/InstancesApi.md#list_instances) | **GET** /instances | List instances
*InstancesApi* | [**update_instance**](docs/InstancesApi.md#update_instance) | **PATCH** /instances/{id} | Update an instance (rename only in v1)
*MetaApi* | [**get_health**](docs/MetaApi.md#get_health) | **GET** /health | Liveness probe
*MetaApi* | [**get_open_api_spec**](docs/MetaApi.md#get_open_api_spec) | **GET** /openapi.json | OpenAPI 3.1 specification
*OperationsApi* | [**get_operation**](docs/OperationsApi.md#get_operation) | **GET** /operations/{id} | Get an async operation status
*PricingApi* | [**list_pricing**](docs/PricingApi.md#list_pricing) | **GET** /pricing | List pricing per GPU type + region (no auth required)
*SshKeysApi* | [**create_ssh_key**](docs/SshKeysApi.md#create_ssh_key) | **POST** /ssh-keys | Create an SSH key
*SshKeysApi* | [**delete_ssh_key**](docs/SshKeysApi.md#delete_ssh_key) | **DELETE** /ssh-keys/{id} | Delete an SSH key (idempotent — 404 on already-gone per D-07)
*SshKeysApi* | [**get_ssh_key**](docs/SshKeysApi.md#get_ssh_key) | **GET** /ssh-keys/{id} | Get an SSH key
*SshKeysApi* | [**list_ssh_keys**](docs/SshKeysApi.md#list_ssh_keys) | **GET** /ssh-keys | List SSH keys
*TemplatesApi* | [**get_template**](docs/TemplatesApi.md#get_template) | **GET** /templates/{id} | Get one deployable application template
*TemplatesApi* | [**list_templates**](docs/TemplatesApi.md#list_templates) | **GET** /templates | List deployable application templates
*UsageApi* | [**list_usage**](docs/UsageApi.md#list_usage) | **GET** /usage | Time-bucketed usage
*WebhooksApi* | [**create_webhook_endpoint**](docs/WebhooksApi.md#create_webhook_endpoint) | **POST** /webhook-endpoints | Create a webhook endpoint
*WebhooksApi* | [**delete_webhook_endpoint**](docs/WebhooksApi.md#delete_webhook_endpoint) | **DELETE** /webhook-endpoints/{id} | Delete a webhook endpoint
*WebhooksApi* | [**get_webhook_endpoint**](docs/WebhooksApi.md#get_webhook_endpoint) | **GET** /webhook-endpoints/{id} | Get a webhook endpoint
*WebhooksApi* | [**list_webhook_endpoints**](docs/WebhooksApi.md#list_webhook_endpoints) | **GET** /webhook-endpoints | List webhook endpoints


## Documentation For Models

 - [ChatChoice](docs/ChatChoice.md)
 - [ChatCompletionRequest](docs/ChatCompletionRequest.md)
 - [ChatCompletionResponse](docs/ChatCompletionResponse.md)
 - [ChatMessage](docs/ChatMessage.md)
 - [CommunityEarnings](docs/CommunityEarnings.md)
 - [CommunityEarningsEntry](docs/CommunityEarningsEntry.md)
 - [CommunityMachine](docs/CommunityMachine.md)
 - [CommunityMachineDelistResult](docs/CommunityMachineDelistResult.md)
 - [CommunityMachineRegistration](docs/CommunityMachineRegistration.md)
 - [CommunitySupplier](docs/CommunitySupplier.md)
 - [CreateCryptoDepositRequest](docs/CreateCryptoDepositRequest.md)
 - [CreateFineTuningJobRequest](docs/CreateFineTuningJobRequest.md)
 - [CreateFineTuningJobRequestGpuai](docs/CreateFineTuningJobRequestGpuai.md)
 - [CreateFineTuningJobRequestMethod](docs/CreateFineTuningJobRequestMethod.md)
 - [CreateFineTuningJobRequestMethodLora](docs/CreateFineTuningJobRequestMethodLora.md)
 - [CreateInstanceRequest](docs/CreateInstanceRequest.md)
 - [CreateSshKeyRequest](docs/CreateSshKeyRequest.md)
 - [CreateWebhookEndpointRequest](docs/CreateWebhookEndpointRequest.md)
 - [CryptoDeposit](docs/CryptoDeposit.md)
 - [Environments](docs/Environments.md)
 - [FileObject](docs/FileObject.md)
 - [FineTuningJob](docs/FineTuningJob.md)
 - [FineTuningJobError](docs/FineTuningJobError.md)
 - [FineTuningJobEvent](docs/FineTuningJobEvent.md)
 - [FineTuningJobEventList](docs/FineTuningJobEventList.md)
 - [FineTuningJobList](docs/FineTuningJobList.md)
 - [FineTuningJobMethod](docs/FineTuningJobMethod.md)
 - [FrameworkVersion](docs/FrameworkVersion.md)
 - [GPUType](docs/GPUType.md)
 - [GPUTypePage](docs/GPUTypePage.md)
 - [GetHealth200Response](docs/GetHealth200Response.md)
 - [ImagesGenerationsRequest](docs/ImagesGenerationsRequest.md)
 - [ImagesResponse](docs/ImagesResponse.md)
 - [ImagesResponseDataInner](docs/ImagesResponseDataInner.md)
 - [ImagesResponseUsage](docs/ImagesResponseUsage.md)
 - [IncludeItem](docs/IncludeItem.md)
 - [Instance](docs/Instance.md)
 - [InstanceConnection](docs/InstanceConnection.md)
 - [InstancePage](docs/InstancePage.md)
 - [ListCommunityMachines200Response](docs/ListCommunityMachines200Response.md)
 - [ListDeposits200Response](docs/ListDeposits200Response.md)
 - [Model](docs/Model.md)
 - [ModelList](docs/ModelList.md)
 - [ModelParametersInner](docs/ModelParametersInner.md)
 - [ModelPricing](docs/ModelPricing.md)
 - [OpenAIErrorEnvelope](docs/OpenAIErrorEnvelope.md)
 - [OpenAIErrorEnvelopeError](docs/OpenAIErrorEnvelopeError.md)
 - [Operation](docs/Operation.md)
 - [OperationError](docs/OperationError.md)
 - [OperationResult](docs/OperationResult.md)
 - [Pricing](docs/Pricing.md)
 - [PricingPage](docs/PricingPage.md)
 - [Problem](docs/Problem.md)
 - [RegisterCommunityMachineRequest](docs/RegisterCommunityMachineRequest.md)
 - [SSHKey](docs/SSHKey.md)
 - [SSHKeyPage](docs/SSHKeyPage.md)
 - [SpendingLimit](docs/SpendingLimit.md)
 - [StreamOptions](docs/StreamOptions.md)
 - [SupplierMachineView](docs/SupplierMachineView.md)
 - [Template](docs/Template.md)
 - [TemplateEnvInner](docs/TemplateEnvInner.md)
 - [TemplateList](docs/TemplateList.md)
 - [TemplatePortsInner](docs/TemplatePortsInner.md)
 - [UpdateCommunityMachineRequest](docs/UpdateCommunityMachineRequest.md)
 - [UpdateInstanceRequest](docs/UpdateInstanceRequest.md)
 - [UpdateSpendingLimitRequest](docs/UpdateSpendingLimitRequest.md)
 - [Usage](docs/Usage.md)
 - [UsageBucket](docs/UsageBucket.md)
 - [UsagePage](docs/UsagePage.md)
 - [VMImage](docs/VMImage.md)
 - [VideoCreateRequest](docs/VideoCreateRequest.md)
 - [VideoJob](docs/VideoJob.md)
 - [VideoList](docs/VideoList.md)
 - [WebhookEndpoint](docs/WebhookEndpoint.md)
 - [WebhookEndpointPage](docs/WebhookEndpointPage.md)


<a id="documentation-for-authorization"></a>
## Documentation For Authorization


Authentication schemes defined for the API:
<a id="bearerAuth"></a>
### bearerAuth

- **Type**: Bearer authentication (gpuai_live_<24-base62>)


## Author

support@gpu.ai


