Command-line interface for managing GPU pods on the Lium platform.
pip install lium-cli# First-time setup
lium init
# List available executors (GPU machines)
lium ls
# Create a pod
lium up 1 # Use executor #1 from previous ls
# List your pods
lium ps
# Copy files to pod
lium scp 1 ./my_script.py
# SSH into a pod
lium ssh <pod-name>
# Stop a pod
lium rm <pod-name>lium init- Initialize configuration (API key, SSH keys)lium ls [GPU_TYPE]- List available executorslium up [EXECUTOR]- Create a pod on an executorlium ps- List active podslium ssh <POD>- SSH into a podlium exec <POD> <COMMAND>- Execute command on podlium scp <POD> <LOCAL_FILE> [REMOTE_PATH]- Copy files to pods (add-dto download from pods)lium rsync <POD> <LOCAL_DIR> [REMOTE_PATH]- Sync directories to podslium rm <POD>- Remove/stop a podlium reboot <POD>- Reboot a podlium templates [SEARCH]- List available Docker templateslium image <IMAGE_NAME> <PATH>- Build and deploy Docker image as templatelium fund- Fund account with TAO from Bittensor wallet
# Filter executors by GPU type
lium ls H100
lium ls A100
# Create pod with specific options
lium up --name my-pod --template pytorch --yes
# Execute commands
lium exec my-pod "nvidia-smi"
lium exec my-pod "python train.py"
# Copy files to and from pods
lium scp my-pod ./script.py # Copy to /root/script.py
lium scp 1 ./data.csv /root/data/ # Copy to specific directory
lium scp all ./config.json # Copy to all pods
lium scp 1,2,3 ./model.py /root/models/ # Copy to multiple pods
lium scp my-pod /root/output.log ./downloads -d # Download into ./downloads directory
# Reboot pods
lium reboot my-pod # Reboot a single pod
lium reboot 1,2 --yes # Reboot pods 1 and 2 without confirmation
lium reboot all # Reboot all active pods
lium reboot my-pod --volume-id <VOLUME_ID> # Reboot with a specific volume ID
# Sync directories to pods
lium rsync my-pod ./project # Sync to /root/project
lium rsync 1 ./data /root/datasets/ # Sync to specific directory
lium rsync all ./models # Sync to all pods
lium rsync 1,2,3 ./code /root/workspace/ # Sync to multiple pods
# Remove multiple pods
lium rm my-pod-1 my-pod-2
lium rm all # Remove all pods
# Build and deploy Docker images
lium image my-app . # Build from current directory
lium image my-model ./models # Build from models directory
lium image web-server ./app --ports 22,8080 # Custom ports
lium image my-app . --ports 22,8000 --start-command "/start.sh" # With start command
# Fund account with TAO
lium fund # Interactive mode
lium fund -w default -a 1.5 # Fund with specific wallet and amount
lium fund -w mywal -a 0.5 -y # Skip confirmation- Pareto Optimization:
lscommand shows optimal executors with ★ indicator - Index Selection: Use numbers from
lsoutput inupcommand - Full-Width Tables: Clean, readable terminal output
- Cost Tracking: See spending and hourly rates in
ps - Interactive Setup:
initcommand for easy onboarding - Docker Integration: Build and deploy custom Docker images as templates
- Cross-Platform Builds: Automatic
linux/amd64builds for server compatibility
Configuration is stored in ~/.lium/config.ini:
[api]
api_key = your-api-key-here
[ssh]
key_path = /home/user/.ssh/id_ed25519You can also use environment variables:
export LIUM_API_KEY=your-api-key-here- Python 3.9+
- lium-sdk >= 0.2.0
# Clone repository
git clone https://github.com/Datura-ai/lium-cli.git
cd lium-cli
# Install in development mode
pip install -e .MIT License - see LICENSE file for details.

