Skip to main content

Wrapper to manage lightning ai studios

Project description

take-me-cloud

A CLI tool for seamless Lightning AI studio management and SSH configuration. Easily list all your accessible studios and automatically synchronize them with your .ssh/config file for quick SSH access.

Introduction

take-me-cloud simplifies working with Lightning AI studios by providing a unified command-line interface to:

  • List all studios across your teamspaces and organizations
  • View studio status and cluster information
  • Automatically configure SSH access to your studios
  • Preserve non-Lightning SSH hosts while keeping Lightning entries in sync

Features

  1. --list / -ls: List all accessible studios across teamspaces and organizations with their status, owner, machine type, and state.
  2. --lock-ssh: Synchronize your Lightning studios with ~/.ssh/config, enabling direct SSH access while preserving non-Lightning hosts. Automatically removes stale Lightning entries.
  3. --create-replace: Create a new studio with default machine type and cloud provider from config. Automatically deletes any existing studio with the same name.

Installation

Using uv

uv tool install take-me-cloud

Using pip

pip install take-me-cloud

Development (Editable Mode)

pip install -e .

Or with uv:

uv sync

Requirements

  • Python >= 3.13
  • lightning-sdk >= 2026.4.23

Set the following environment variables before using the CLI:

  • LIGHTNING_API_KEY: Your Lightning AI API key
  • LIGHTNING_USER_ID: Your Lightning AI user ID

Usage

Configuration

Before using take-me-cloud, create a configuration file at ~/.config/take_me_cloud_config.yaml:

default_machine_type: T4
cloud_provider: AWS
teamspaces:
  - rwth-gut/skillcomp
  - your-teamspace/name

List all accessible studios

take-me-cloud --list
# or
take-me-cloud -ls

Output:

Studio                  Teamspace            Owner          Machine Type    State
----------------------  -------------------  -------------  --------------  -----------------------
modern-amaranth-ou1r    rwth-gut/skillcomp   vaishnavahari  T4              CLOUD_SPACE_STATE_READY
husky-coffee-72g7       rwth-gut/skillcomp   vaishnavahari  CPU             CLOUD_SPACE_STATE_READY

Create a new studio

take-me-cloud --create-replace my-studio

This command will:

  • Prompt you to select a teamspace from your config file
  • Create a new studio named my-studio with the default machine type and cloud provider
  • Delete any existing studio with the same name
  • Show a progress bar during creation

Synchronize SSH configuration

take-me-cloud --lock-ssh

This command will:

  • Ensure Lightning SSH keys exist in ~/.ssh/
  • Add all currently accessible studios to ~/.ssh/config with proper SSH configuration
  • Remove stale Lightning studio entries that are no longer accessible
  • Preserve all non-Lightning hosts

Output:

SSH config synchronized (lightning_hosts=12, non_lightning_hosts_preserved=1).

SSH Access

Once --lock-ssh is run, you can SSH directly to any of your studios by name:

ssh modern-amaranth-ou1r
ssh husky-coffee-72g7

Development

Run tests

uv run python -m unittest discover -s tests -v

Project structure

take-me-cloud/
├── take_me_cloud/
│   ├── __init__.py
│   ├── base.py          # Core functionality (listing, SSH config)
│   ├── cli.py           # CLI entry point and argument parsing
├── tests/
│   ├── test_base.py     # Core functionality tests
│   ├── test_cli.py      # CLI tests
├── doc/
│   ├── AGENT.md         # Agent instructions
│   ├── FEATURES.md      # Feature specifications
│   ├── TESTING.md       # Testing requirements
├── README.md
└── pyproject.toml

License

MIT

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

take_me_cloud-0.1.2.tar.gz (11.8 kB view details)

Uploaded Source

Built Distribution

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

take_me_cloud-0.1.2-py3-none-any.whl (9.0 kB view details)

Uploaded Python 3

File details

Details for the file take_me_cloud-0.1.2.tar.gz.

File metadata

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

File hashes

Hashes for take_me_cloud-0.1.2.tar.gz
Algorithm Hash digest
SHA256 529b8895682fae3301a47153f149634d493fdda2eac76ed0df25804d28fba7b2
MD5 d0517bab84526f69beb8a0d3030706a1
BLAKE2b-256 bb67cb326cd63515ead0c8095ad6ac6a730b77100f78381e367ec4c46da6aa8a

See more details on using hashes here.

Provenance

The following attestation bundles were made for take_me_cloud-0.1.2.tar.gz:

Publisher: python-publish.yml on svaichu/take_me_cloud

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

File details

Details for the file take_me_cloud-0.1.2-py3-none-any.whl.

File metadata

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

File hashes

Hashes for take_me_cloud-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 a02ecbaa8fb419783127be15f1388a0d2499669ab3bc55eb50fe487e0c6e8f8e
MD5 4798f3f3796a5b21bdcd428c14469066
BLAKE2b-256 5a1d65d0ee817864d88584c99364ddda732113755b783fe44a60854e1eaff66c

See more details on using hashes here.

Provenance

The following attestation bundles were made for take_me_cloud-0.1.2-py3-none-any.whl:

Publisher: python-publish.yml on svaichu/take_me_cloud

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