Skip to main content

exalsius API

Project description

exalsius-api-client

The exalsius REST API enables programmatic access to GPU infrastructure management and orchestration capabilities. Access the API through the exls command-line tool or integrate it directly into your applications using standard HTTP requests. The API covers several areas:

  • GPU Market Offers Browse and compare GPU instance pricing across public cloud providers and hyperscalers.
  • Operator Integration Coordinates with the exalsius-operator running in a management Kubernetes cluster to handle infrastructure provisioning and node lifecycle management.
  • Node Management Import cloud-provider instances or self-managed nodes (via SSH) into your node pool. Hardware characteristics of self-managed nodes are discovered automatically.
  • Cluster Provisioning Create and manage Kubernetes clusters on supported cloud providers or self-managed bare-metal infrastructure.
  • Service Deployment Deploy infrastructure services such as the NVIDIA GPU Operator, KubeRay, Flyte, or Kubeflow onto your clusters.
  • Workspace Deployment Provision application workloads including Jupyter Notebook servers, LLM inference services, and other compute workloads on your clusters.

This Python package is automatically generated by the OpenAPI Generator project:

  • API version: 1.45.3
  • Package version: 1.45.3
  • Generator version: 7.14.0
  • Build package: org.openapitools.codegen.languages.PythonClientCodegen For more information, please visit https://exalsius.ai

Requirements.

Python 3.9+

Installation & Usage

pip install

If the python package is hosted on a repository, you can install directly using:

pip install git+https://github.com/GIT_USER_ID/GIT_REPO_ID.git

(you may need to run pip with root permission: sudo pip install git+https://github.com/GIT_USER_ID/GIT_REPO_ID.git)

Then import the package:

import exalsius_api_client

Setuptools

Install via Setuptools.

python setup.py install --user

(or sudo python setup.py install to install the package for all users)

Then import the package:

import exalsius_api_client

Tests

Execute pytest to run the tests.

Getting Started

Please follow the installation procedure and then run the following:

import exalsius_api_client
from exalsius_api_client.rest import ApiException
from pprint import pprint

# Defining the host is optional and defaults to https://api.exalsius.ai/v1
# See configuration.py for a list of all supported configuration parameters.
configuration = exalsius_api_client.Configuration(
    host = "https://api.exalsius.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.

configuration.access_token = os.environ["ACCESS_TOKEN"]


# Enter a context with an instance of the API client
with exalsius_api_client.ApiClient(configuration) as api_client:
    # Create an instance of the API class
    api_instance = exalsius_api_client.ClustersApi(api_client)
    cluster_id = 'cluster_id_example' # str | 
    cluster_add_node_request = {"nodes_to_add":[{"node_id":"123e4567-e89b-12d3-a456-426614174001","node_role":"CONTROL_PLANE"}]} # ClusterAddNodeRequest | 

    try:
        # Add nodes to a cluster
        api_response = api_instance.add_nodes(cluster_id, cluster_add_node_request)
        print("The response of ClustersApi->add_nodes:\n")
        pprint(api_response)
    except ApiException as e:
        print("Exception when calling ClustersApi->add_nodes: %s\n" % e)

Documentation for API Endpoints

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

Class Method HTTP request Description
ClustersApi add_nodes POST /cluster/{cluster_id}/nodes Add nodes to a cluster
ClustersApi adopt_cluster POST /clusters/adopt Adopt a cluster
ClustersApi create_cluster POST /clusters Create a cluster
ClustersApi delete_cluster DELETE /cluster/{cluster_id} Delete (tear-down) a cluster
ClustersApi delete_node_from_cluster DELETE /cluster/{cluster_id}/nodes/{node_id} Delete a node from a cluster
ClustersApi deploy_cluster POST /cluster/{cluster_id}/deploy Deploy a new cluster
ClustersApi describe_cluster GET /cluster/{cluster_id} Get details of a single cluster
ClustersApi get_cluster_kubeconfig GET /cluster/{cluster_id}/kubeconfig Get the kubeconfig for a cluster
ClustersApi get_cluster_logs GET /cluster/{cluster_id}/logs Get cluster logs
ClustersApi get_cluster_resources GET /cluster/{cluster_id}/resources List available / occupied resources in the cluster
ClustersApi get_nodes GET /cluster/{cluster_id}/nodes Get nodes of a cluster
ClustersApi list_clusters GET /clusters List all clusters
ColoniesApi create_colony POST /colonies Create a colony
ColoniesApi delete_colony DELETE /colony/{colony_id} Delete (tear-down) a colony
ColoniesApi describe_colony GET /colony/{colony_id} Get details of a single colony
ColoniesApi get_colony_kubeconfig GET /colony/{colony_id}/kubeconfig Get the kubeconfig for a colony
ColoniesApi list_colonies GET /colonies List all colonies
ManagementApi add_ssh_key POST /management/ssh-keys Add an SSH key
ManagementApi delete_ssh_key DELETE /management/ssh-key/{ssh_key_id} Delete an SSH key
ManagementApi generate_self_register_token POST /management/self-register-token Generate a self-register token
ManagementApi get_dashboard_url GET /management/dashboard-url Get dashboard URL
ManagementApi get_self_register_token GET /management/self-register-token Get the active self-register token
ManagementApi list_cluster_templates GET /management/cluster-templates List all cluster templates
ManagementApi list_credentials GET /management/credentials List all cloud provider credentials
ManagementApi list_service_templates GET /management/service-templates List all available service templates
ManagementApi list_ssh_keys GET /management/ssh-keys List all SSH keys
ManagementApi list_workspace_templates GET /management/workspace-templates List all workspace templates
NodesApi delete_node DELETE /node/{node_id} Delete a node from the pool
NodesApi describe_node GET /node/{node_id} Get details of a single node in the node pool (self-managed or cloud)
NodesApi import_node_from_offer POST /node/import/offer/{offer_id} Import a node from an offer
NodesApi import_ssh POST /node/import/ssh Import a self-managed node via SSH
NodesApi list_nodes GET /nodes List all imported nodes in the node pool
NodesApi patch_node PATCH /node/{node_id} Patch a node
NodesApi self_register_node POST /node/self-register Self-register a node using a registration token
OffersApi get_offers GET /offers List and filter current GPU on-demand and spot market offers
OffersApi get_offers_filter_metadata GET /offers/metadata List available offer filters and metric ranges
PerformancePredictionApi get_performance_prediction POST /performance-prediction Get runtime performance predictions for a GPU-accelerated workload configuration
ServicesApi create_service_deployment POST /services Create a service deployment
ServicesApi delete_service_deployment DELETE /service/{service_deployment_id} Delete a service deployment
ServicesApi describe_service_deployment GET /service/{service_deployment_id} Get details of a single service deployment
ServicesApi list_services_deployments GET /services List all service deployments
VramPredictionApi get_vram_prediction POST /vram-prediction Get the VRAM prediction for LLM fine-tuning
VramPredictionApi get_vram_prediction_metadata GET /vram-prediction/metadata List available models and the range of parameters for VRAM prediction endpoint
WorkspacesApi create_workspace POST /workspaces Create a workspace
WorkspacesApi delete_workspace DELETE /workspace/{workspace_id} Delete a workspace
WorkspacesApi describe_workspace GET /workspace/{workspace_id} Get details of a single workspace
WorkspacesApi get_workspace_logs GET /workspace/{workspace_id}/logs Get workspace logs
WorkspacesApi list_workspaces GET /workspaces List all workspaces
WorkspacesApi start_workspace POST /workspace/{workspace_id}/start Start a workspace
WorkspacesApi stop_workspace POST /workspace/{workspace_id}/stop Stop a workspace

Documentation For Models

Documentation For Authorization

Authentication schemes defined for the API:

OAuth2

Author

support@exalsius.ai

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

exalsius_api_client-1.45.3.tar.gz (115.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

exalsius_api_client-1.45.3-py3-none-any.whl (282.0 kB view details)

Uploaded Python 3

File details

Details for the file exalsius_api_client-1.45.3.tar.gz.

File metadata

  • Download URL: exalsius_api_client-1.45.3.tar.gz
  • Upload date:
  • Size: 115.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for exalsius_api_client-1.45.3.tar.gz
Algorithm Hash digest
SHA256 fdb6ba31b763a4df09403b21d0bf91a7276fed5d8381009379f2a25badbda0db
MD5 3cc888a2694fbb1d5b9ad2c7da611d1e
BLAKE2b-256 7458fdff1ae92a3e13ba502c4ab8bcf4c00d76db07ed7fda996e556301713023

See more details on using hashes here.

Provenance

The following attestation bundles were made for exalsius_api_client-1.45.3.tar.gz:

Publisher: publish-pypi.yml on exalsius/exalsius-api-spec

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file exalsius_api_client-1.45.3-py3-none-any.whl.

File metadata

File hashes

Hashes for exalsius_api_client-1.45.3-py3-none-any.whl
Algorithm Hash digest
SHA256 a145937103468de75361c48d1722d6285550e75b0f662cde75967e3b6d8f7706
MD5 0107d1186a0c62e1d9d480a93a0fcf85
BLAKE2b-256 756a08fa32dfc0bec4d982b8d81dc6b6d927887d5421da6efacdd961ab642819

See more details on using hashes here.

Provenance

The following attestation bundles were made for exalsius_api_client-1.45.3-py3-none-any.whl:

Publisher: publish-pypi.yml on exalsius/exalsius-api-spec

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page