Skip to main content

The exalsius CLI

Project description

exalsius banner

exalsius CLI - exls

License CI

The exalsius CLI - exls- is a command-line tool for orchestrating and managing distributed AI training workloads on ephemeral clusters. As a core component of the exalsius stack, it enables deployment and management of AI training jobs across multiple cloud providers and on-premise hardware.

Features

  • Cluster Management: Deploy, manage, and scale ephemeral clusters for your AI workloads.
  • Node Management: Easily add and manage nodes from different cloud providers or your own hardware.
  • Cost-Aware GPU Selection: Scan for GPU prices across cloud providers to find the most cost-effective options.
  • Workspace Orchestration: Create and manage various types of workspaces, such as Jupyter, DevPod, and more, on your clusters.
  • Extensible and Cloud-Agnostic: Designed to be flexible and work with a variety of cloud providers.

Getting Started

Prerequisites

  • Python 3.12 or newer.

Installation

It is recommended to install exls in a virtual environment.

python -m venv .venv
source .venv/bin/activate

You can install the CLI using pip or uv:

With pip:

pip install git+https://github.com/exalsius/exalsius-cli.git@main

With uv:

uv pip install git+https://github.com/exalsius/exalsius-cli.git@main

To verify the installation, run:

exls --help

Usage

Login

Before you can use the CLI, you need to authenticate with your exalsius account:

exls login

Core Commands

Here are some of the core commands to get you started:

  • exls offers: Find the best GPU deals.
    • exls offers list --gpu-type "H100": List all offers for H100 GPUs.
  • exls nodes: Manage the nodes in your node pool.
    • exls nodes import-offer <offer-id>: Import a node from a cloud provider offer.
    • exls nodes list: List all available nodes.
  • exls clusters: Manage your clusters.
    • exls clusters deploy --interactive: Interactively create a new cluster.
    • exls clusters list: List all your clusters.
    • exls clusters get <cluster-id>: Get details for a specific cluster.
  • exls workspaces: Manage workspaces on your clusters.
    • exls workspaces deploy jupyter <cluster-id>: Deploy a Jupyter workspace on a cluster.
    • exls workspaces list <cluster-id>: List workspaces on a cluster.
  • exls get-token: Print your access (bearer) token for use in scripts that call the exalsius API. The token is refreshed automatically if expired.
    • curl -H "Authorization: Bearer $(exls get-token)" https://api.exalsius.ai/...
    • exls get-token --format json: Emit {"access_token": "<token>"} instead of the bare token.

For more details on each command, you can use the --help flag, for example exls clusters --help.

Documentation

For more in-depth information and advanced usage, please refer to our official documentation.

Community & Support

License

This project is licensed under the Apache 2.0 License. See the LICENSE file for details.

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

exls-0.6.0.tar.gz (119.8 kB view details)

Uploaded Source

Built Distribution

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

exls-0.6.0-py3-none-any.whl (172.8 kB view details)

Uploaded Python 3

File details

Details for the file exls-0.6.0.tar.gz.

File metadata

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

File hashes

Hashes for exls-0.6.0.tar.gz
Algorithm Hash digest
SHA256 ea25f7b40c7d369dfd69fe3d5363b8021d4e199ea899dce41a4dc34513522373
MD5 b2bb6c7c3a0b4b841abe0c33f56df77a
BLAKE2b-256 55351baea39e038e589c38416828dee69fef22455a406e2874d1613954fd8833

See more details on using hashes here.

Provenance

The following attestation bundles were made for exls-0.6.0.tar.gz:

Publisher: publish.yml on exalsius/exalsius-cli

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

File details

Details for the file exls-0.6.0-py3-none-any.whl.

File metadata

  • Download URL: exls-0.6.0-py3-none-any.whl
  • Upload date:
  • Size: 172.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for exls-0.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 437f5fa702b00de2516716f83ed92f40af9957aa6874db4b084d6e99105315e2
MD5 01d215734ff9a7a76dca3d3790541609
BLAKE2b-256 a3429b637a3cc465007ef3aa5e56d2a89ab2e16d309be84d595e2b0cc3da395a

See more details on using hashes here.

Provenance

The following attestation bundles were made for exls-0.6.0-py3-none-any.whl:

Publisher: publish.yml on exalsius/exalsius-cli

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