Skip to main content

A CLI tool for launching Kubernetes jobs in EIDF

Project description

kblaunch

Test Python Version Ruff PyPI Version

A CLI tool for launching Kubernetes jobs with environment variable and secret management.

Installation

pip install kblaunch

Or using uv:

uv add kblaunch

You can even use uvx to use the cli without installing it:

uvx kblaunch --help

Usage

Basic Usage

Launch a simple job:

kblaunch \
    --email your.email@ed.ac.uk \
    --job-name myjob \
    --command "python script.py"

With Environment Variables

  1. From local environment:

    kblaunch \
        --job-name myjob \
        --command "python script.py" \
        --local-env-vars PATH \
        --local-env-vars PYTHONPATH
    
  2. From Kubernetes secrets:

    kblaunch \
        --job-name myjob \
        --command "python script.py" \
        --secrets-env-vars mysecret1 \
        --secrets-env-vars mysecret2
    
  3. From .env file:

    kblaunch \
        --job-name myjob \
        --command "python script.py" \
        --load-dotenv
    

GPU Jobs

Specify GPU requirements:

kblaunch \
    --job-name gpu-job \
    --command "python train.py" \
    --gpu-limit 2 \
    --gpu-product "NVIDIA-A100-SXM4-80GB"

Interactive Mode

Launch an interactive job:

kblaunch \
    --job-name interactive \
    --interactive

Options

  • --email: User email [required]
  • --job-name: Name of the Kubernetes job [required]
  • --docker-image: Docker image (default: "nvcr.io/nvidia/cuda:12.0.0-devel-ubuntu22.04")
  • --namespace: Kubernetes namespace (default: "informatics")
  • --queue-name: Kueue queue name
  • --interactive: Run in interactive mode (default: False)
  • --command: Command to run in the container [required]
  • --cpu-request: CPU request (default: "1")
  • --ram-request: RAM request (default: "8Gi")
  • --gpu-limit: GPU limit (default: 1)
  • --gpu-product: GPU product (default: "NVIDIA-A100-SXM4-80GB")
  • --secrets-env-vars: List of secret environment variables
  • --local-env-vars: List of local environment variables
  • --load-dotenv: Load environment variables from .env file (default: True)

Features

  • Kubernetes job management
  • Environment variable handling from multiple sources
  • Kubernetes secrets integration
  • GPU job support
  • Interactive mode
  • Automatic job cleanup
  • Slack notifications (when configured)

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

kblaunch-0.1.13.tar.gz (38.1 kB view details)

Uploaded Source

Built Distribution

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

kblaunch-0.1.13-py3-none-any.whl (8.6 kB view details)

Uploaded Python 3

File details

Details for the file kblaunch-0.1.13.tar.gz.

File metadata

  • Download URL: kblaunch-0.1.13.tar.gz
  • Upload date:
  • Size: 38.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.5.24

File hashes

Hashes for kblaunch-0.1.13.tar.gz
Algorithm Hash digest
SHA256 697ebc03effc38c20774cf802ec37facaf277cf70b9968d67d5a24fb91b52ad7
MD5 d396a06a90feff50f59fb43d67635166
BLAKE2b-256 c0acdd1a594ad69afd07cfd83b324c3f59810880db613ff362c6c3a2de62ceee

See more details on using hashes here.

File details

Details for the file kblaunch-0.1.13-py3-none-any.whl.

File metadata

  • Download URL: kblaunch-0.1.13-py3-none-any.whl
  • Upload date:
  • Size: 8.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.5.24

File hashes

Hashes for kblaunch-0.1.13-py3-none-any.whl
Algorithm Hash digest
SHA256 e85e2d2226f1a670f10750e10ddb57169632ae79e0ba3cc209fbc3aecbc9f69d
MD5 a4a7661fd2cc7ee3a86b7a1599d2c0cf
BLAKE2b-256 71739b8473bd8c2db0cfc2aba7dca1c0c7cef9ba70b8f245fb5bb0f6fd0601c8

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