Skip to main content

Add your description here

Project description

lammy

lammy is a minimal command line helper for day-to-day Lambda Cloud management. It focuses on the flow of picking an instance type, launching it, wiring up SSH, then shutting it down when you are done.

uv run lammy --help

Quick Start

  1. Install dependencies

    uv sync
    
  2. Authenticate

    uv run lammy auth login
    

    Paste your Lambda API key when prompted. You can generate keys in the Lambda Cloud dashboard. lammy also discovers LAMBDA_API_KEY from the environment or a local .env.

  3. Set your defaults (optional but recommended)

    uv run lammy settings set --region us-west-1 --ssh-key my-default-key
    
  4. Pick a machine

    uv run lammy list
    

    This prints the instance types that currently have capacity. Add --all if you want the full catalog.

  5. Launch, connect, terminate

    uv run lammy up              # guided launch flow (press enter to accept defaults)
    uv run lammy ssh             # jumps straight into SSH for the most recent instance
    uv run lammy down            # terminates the most recent instance (with confirm)
    

    lammy up writes an SSH host entry automatically. Use the printed alias in your Remote Explorer / editor of choice if you prefer a GUI connection.

Commands

Authentication

Command Description
lammy auth login Prompt for an API key and store it in ~/.config/lammy/config.json.
lammy auth show Display the masked API key currently in use and the config path.

Everyday flow

Command Description
lammy list Show instance types with live capacity (--running flips to currently running servers, --all includes types without capacity).
lammy up Guided launcher. Prompts for type/region/SSH key if not already configured, auto-picks the GPU Base 24.04 image when available, waits for the public IP, and writes your SSH config.
lammy ssh [name] Connect to the most recent instance (or a named one). Any extra arguments (e.g. -L ...) are passed through to ssh.
lammy down [name] Terminate the most recent (or a named) instance. Use --force to skip the confirm.

Advanced catalog commands

Command Description
lammy types Same as lammy list, but sticks to instance types only.
lammy types --all Include types with no reported capacity.

Instances

Command Description
lammy instances list Show running instances, with region, pricing, and status.
lammy instances launch ... Launch a new VM. Honors defaults from lammy settings and accepts overrides (--instance-type, --region, --ssh-key, --image, --user-data). By default the CLI writes an SSH Host entry once the instance has a public IP.
lammy instances restart <id-or-name>... Restart one or more instances.
lammy instances terminate <id-or-name>... Terminate instances (with optional --yes to skip confirmation).

SSH helpers

Command Description
lammy ssh setup <id-or-name> Write/update a dedicated host block in ~/.ssh/config.
lammy ssh connect [id-or-name] Same as the bare lammy ssh command, but lets you spell out an identifier/alias and optional extra args.
lammy ssh keys List SSH keys registered with Lambda Cloud.

Settings

lammy settings stores lightweight defaults inside ~/.config/lammy/config.json. The values are:

Key Purpose
default_region Region used when --region is omitted on instances launch.
default_ssh_key_name SSH key name assumed when --ssh-key flags are omitted.
default_image Image string applied on launch (family:gpu-base-24-04 by default).
ssh_user Default user used in generated SSH host blocks and ad-hoc connections.
ssh_identity_file Optional path to an identity file (~/.ssh/id_ed25519, etc.) written into the SSH config.
ssh_alias_prefix Prefix applied to generated host aliases (default lammy).

Inspect the stored configuration with:

uv run lammy settings show

Images

lammy pins launches to the gpu-base-24-04 family out of the box. Change it whenever you like:

uv run lammy settings set --image family:<family-name>

Prefer an explicit image ID? Use --image id:<uuid>.

API coverage

The CLI uses the Lambda Cloud REST 1.8.3 API. The OpenAPI definition is bundled in spec.json if you want to explore the endpoints yourself.

Publishing

The project is built with uv. To publish to PyPI:

uv build
uv publish --token <your-pypi-token>

Remember to update pyproject.toml metadata (description, version, classifiers) before publishing. When testing, you can target TestPyPI by setting UV_PYPI_URL=https://test.pypi.org/simple.

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

lammy-0.1.0.tar.gz (15.0 kB view details)

Uploaded Source

Built Distribution

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

lammy-0.1.0-py3-none-any.whl (18.1 kB view details)

Uploaded Python 3

File details

Details for the file lammy-0.1.0.tar.gz.

File metadata

  • Download URL: lammy-0.1.0.tar.gz
  • Upload date:
  • Size: 15.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.1

File hashes

Hashes for lammy-0.1.0.tar.gz
Algorithm Hash digest
SHA256 f48988a0160b4fa56e8d59e8a25ae001a8cc0695b4e31e274bb7b02e833d7649
MD5 54113a2980942904b20865457503b80d
BLAKE2b-256 fc6d86370d4aeb020ab16ff4171fe8c9fc377baa3d26567fb0fcf4d2be301dc7

See more details on using hashes here.

File details

Details for the file lammy-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: lammy-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 18.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.1

File hashes

Hashes for lammy-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d298c33a9422c01805fee6fbda169776e623e58a0e77b54a1f8fa5f922449618
MD5 0d3fa7417b38651c94bef37a535c6fc6
BLAKE2b-256 af8127d48d6f8f857052d9c62bb5a1bd856b2ee1f37d81f49b46a217267ea935

See more details on using hashes here.

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