Skip to main content

Lambda Cloud API - CLI

This project is a wrapper around the Lambda Cloud API with some additional Quality-of-Life additions. The documentation of the API can be found here: https://docs-api.lambda.ai/api/cloud

Installation

uv pip install lambda-ai-cloud-api-client

Usage

  1. Set up an API token and environment.

In your lambda.ai account go to https://cloud.lambda.ai/api-keys/cloud-api and generate a new Cloud AI Key. Set this token as an environment variable in the terminal you've installed this project.

export LAMBDA_CLOUD_API_TOKEN=<your-token>

The project also accepts LAMBDA_CLOUD_TOKEN and LAMBDA_API_TOKEN if you prefer that naming. Optionally you can set the api base url, LAMBDA_CLOUD_BASE_URL, the default is https://cloud.lambdalabs.com .

  1. Using the CLI

To save on keystrokes I've named the command lai for lambda.ai. To see all available commands use:

lai --help

Overview of features

Listing all instances

api doc: https://docs-api.lambda.ai/api/cloud#listInstances

lai ls

An overview of all your booting/running/terminating instances.

Details of a single instance

api doc: https://docs-api.lambda.ai/api/cloud#getInstance

lai get <name-or-id>

Starting an instance

api doc: https://docs-api.lambda.ai/api/cloud#launchInstance

Starting an instance with your configuration. You can choose to be exact and pass --instance-type <your-type> or use filters that narrow to a single instance type.

lai start --instance-type gpu_1x_a10 --name my-instance --ssh-key my-ssh-key

or start the cheapest available instance with some hardware requirement.

lai start --cheapest --available --min-gpus 1 --name my-instance --ssh-key my-ssh-key

See lai start --help for all filters. They can be used all together to find the best instance type. There's also a --dry-run option to see what would be selected.

Restart an instance / instances

api doc: https://docs-api.lambda.ai/api/cloud#restartInstance

Restart an instance, multiple arguments are allowed.

lai restart <id-or-name. 

Stop an instance / instances

api doc: https://docs-api.lambda.ai/api/cloud#terminateInstance

Stop an instance / instances, multiple arguments are allowed. This terminates the instance and removes it from your inventory. You cannot restart/start terminated instances.

lai stop <id-or-name> ...

SSH into an instance

Finds an instance by id or name and then starts an ssh session to it. Handy if you want to stop copy+pasting IP addresses of your started instances. Includes mechanism to wait for the instance to become available if it has just been started.

lai ssh my-instance # or id
Waiting for IP on instance 'my-instance' (8ac73ac801a749099ed3bc2a5508000f)... retrying in 5s
Waiting for SSH on instance 'my-instance' (132.145.199.110)... retrying in 5s
Executing: ssh -o StrictHostKeyChecking=accept-new -o UserKnownHostsFile=/dev/null ubuntu@132.145.199.110
(my-instance) $ 

Running a command on an instance

Most of the time the workflow of using instances is:

  1. Start an instance
  2. Rsync your code to it.
  3. Run a command, usually with env vars.
  4. Rsync results back.
  5. Stop the instance.

If this is your general workflow you'll find the following commands useful. In the most complex case it'll give you access to spot-like instances where you only pay for the amount of time taken on a machine before it is shut down.

  1. Run a command on an already started instance, including waiting for booting instances.
lai run my-instance -- <command>
  1. Start an instance, then run the command.
lai run --cheapest --available --ssh-key my-ssh-key -- <command>
  1. Start an instance, rsync a volume, run the cmd and rsync a volume back.
lai run --cheapest --available --ssh-key my-ssh-key -v <my-dir-or-file>:/home/ubuntu/ -- <command> /home/ubuntu/my-file
  1. All of the above but delete the instance after done.
lai run --rm --cheapest --available --ssh-key my-ssh-key -v <my-dir-or-file>:/home/ubuntu/ -- <command> /home/ubuntu/my-file

Listing instance types

api doc: https://docs-api.lambda.ai/api/cloud#listInstanceTypes

List all available instance types, with filters to select for --available or --region.

lai types

Listing available boot images

api doc: https://docs-api.lambda.ai/api/cloud#listImages

List all available boot images, with filters to select --arch and --family.

lai images

Listing your saved SSH keys

api doc: https://docs-api.lambda.ai/api/cloud#listSSHKeys

List all available ssh-keys you have saved in lambda.ai

lai keys

Metadata

Release files for lambda-ai-cloud-api-client 2.4.1

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

Source distribution (sdist)

Source distribution for lambda-ai-cloud-api-client 2.4.1
File Size Uploaded Provenance
lambda_ai_cloud_api_client-2.4.1.tar.gz 54.5 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for lambda-ai-cloud-api-client 2.4.1
File Interpreter ABI Platform
lambda_ai_cloud_api_client-2.4.1-py3-none-any.whl Python 3 none any Details

Total release size: 241.3 kB

Release files / lambda_ai_cloud_api_client-2.4.1.tar.gz

Download URL lambda_ai_cloud_api_client-2.4.1.tar.gz
Size 54.5 kB
Tags Source
SHA-256 checksum
How to use checksums
f618e999f06cf5c6f453968234a762f21b595f48cc146be4524548fb098c2b05
BLAKE2b-256 checksum
How to use checksums
05e0a0fac28c68b6e22a8bf41eaf5a8e56177fbc436f68199bc2d66120765e6a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Dec 11, 2025.

Transparency log

Release files / lambda_ai_cloud_api_client-2.4.1-py3-none-any.whl

Download URL lambda_ai_cloud_api_client-2.4.1-py3-none-any.whl
Size 186.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
68d33ee9ea15937ef45a1f4f988c57d3cc3059a03bb93bf86120ccc296d8f337
BLAKE2b-256 checksum
How to use checksums
ee612373b721c1afff121414639c62ed3dcca5df021742ca9ef358f1865d6cb1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Dec 11, 2025.

Transparency log

Security for lambda-ai-cloud-api-client 2.4.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for lambda_ai_cloud_api_client-2.4.1.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Dec 11, 2025.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

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